Maxence de Flotte Posted October 18, 2017 Share Posted October 18, 2017 Bonjour à tous. Introduction Depuis quelques mois, je maintiens un module d'administration en ligne de commande. Cet outil permet entre autres : l'installation, la mise à jour, l'activation, la désactivation ou encore la désinstallation de modules la création/modification de variable configuration (classe Configuration) la création d'employé ou de profil dans le back office la création d'entité (produits, commandes, ...) En plus de cela, le module peut être étendu facilement. L’intérêt de ce module, est de vous offrir la possibilité de livrer de façon automatisé (sans intervention humaine) un site. Personnellement je l'utilise pour mes sites de démo couplé avec un ansible. Sources et Installation Vous pouvez retrouver le projet du module ici : https://github.com/madef/ps-admin-tools Une archive est disponible ici : https://github.com/madef/ps-admin-tools/archive/master.zip Contrairement aux autres modules de PrestaShop, ce dernier n'est pas à placer dans le dossier module mais à la racine de votre PrestaShop. Pour l'installer vous pouvez procéder de la manière suivante avec git : git clone [email protected]:madef/ps-admin-tools.git admin-tools Utilisation L'utilisation du module ressemble à celle de la console Symfony. Voici un exemple : php admin-tools/console.php help -c module:install Cette commande permet d'obtenir l'aide de la commande « install ». Si vous souhaitez activer le SSL sur toutes les pages vous devez lancer les commandes suivantes : php admin-tools/console.php configuration:set -k PS_SSL_ENABLED -v 1 php admin-tools/console.php configuration:set -k PS_SSL_ENABLED_EVERYWHERE -v 1 Pour installer un module vous exécuterez : php admin-tools/console.php module:install -m monmodule Pour créer un employé avec un rôle et ajout des droits de lecture, d'ajout, d'édition, et de suppression sur les onglets du module : php admin-tools/console.php profile:create -n demo php admin-tools/console.php employee:create -l demo -f demo -p demodemo -e [email protected] -P demo -L fr php admin-tools/console.php profile:access -p demo -t AdminMonmodule% -d -a -e -r Création d'une commande Les commandes sont de simple classes PHP. Voici un exemple de commande affichant de texte passé en paramètre : <?php class AT_Company_Hello extends AT_Command_Abstract { public function getCommand() { return 'company:hello'; } public function getDescription() { return 'Say hello'; } public function getParams() { return array( array( 'string', 's', AT_PARAMS::OPTIONAL_PARAM | AT_Params::REQUIRED_VALUE, 'String to display instead of hello', ), ); } public function run($params) { $string = 'Hello!'; if (isset($params->string)) { $string = $params->string; } $this->normal($string); } } Le fichier hello.php doit être placé dans le dossier « command/company/ ». On utilisera la commande de la manière suivante : php admin-tools/console.php company:hello -s 'An other message' J'espère que cet outil sera utile à certains. N'hésitez pas à me faire des retours. 2 Link to comment Share on other sites More sharing options...
hhennes Posted March 19, 2018 Share Posted March 19, 2018 C'est un outil intéressant, j'ai fait un projet similaire : https://github.com/nenes25/prestashop_console Mais la possibilité de gérer en ligne de commande ne semble pas finalement pas intéresser grand monde, j'avais eu très peu de retours. Pour ma part je suis totalement convaincu du gain de temps que cela apporte Link to comment Share on other sites More sharing options...
hhennes Posted March 20, 2018 Share Posted March 20, 2018 @okom3pom Effectivement tu fait même partie des contributeurs du module :-) Pour info j'ai rajouté une partie de ces possibilité dans la version 1.2 https://github.com/nenes25/prestashop_console/blob/master/COMMANDS.md#clean ( Utilise le module PsCleaner ) Mais c'est sur qu'il y'a pas mal de points encore optimisables, en général j'implémente des fonctionnalités dès que je rencontre le problème ^^ Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now