aeyoll / fop_console
Add some console commands for PrestaShop 8.1.0+
Installs: 1
Dependents: 0
Suggesters: 0
Security: 0
Stars: 0
Watchers: 0
Forks: 36
Type:prestashop-module
pkg:composer/aeyoll/fop_console
Requires
- php: ^7.2.5
- ext-json: *
- laminas/laminas-code: 3.4.1
- nette/php-generator: ^3.6
- pbergman/tree-helper: ^1.0
Requires (Dev)
- phpro/grumphp: 0.19.1
- phpstan/phpstan: 1.*
- phpunit/phpunit: ^7.0
- prestashop/php-dev-tools: 4.*
README
Friends of Presta Console
Fop console is a module which provides a set a commands to extend PrestaShop 8.1 commands.
Since version 1.7.5.0 Prestashop provides some terminal commands using the Symfony console tool.
This repository provides a base Command with better support for PrestaShop legacy classes and useful commands to easy the development on Prestashop or manage a shop. These commands are mainly for developers, just some basic knowledge of command line processing is needed.
Install from release (recommended)
Donwload a zip release and install it like any other module.
Alternatively, run this in a shell :
#!/bin/bash wget https://github.com/aeyoll/fop_console/releases/latest/download/fop_console.zip --output-document /tmp/fop_console.zip && unzip /tmp/fop_console.zip -d modules && ./bin/console pr:mo install fop_console
Install from sources
If you want use the dev branch, you can install from github. If you want to contribute, first create a fork and follow the same steps using your forked repository url instead of the original one.
cd modules
git clone https://github.com/aeyoll/fop_console.git
cd fop_console
composer install
Install the module in the backoffice or in command line like this :
cd ../../
php bin/console pr:mo install fop_console
Current commands
- fop:about:versionDisplay the Fop Console version (on disk, on database, latest available release)
- fop:cache:clearReplace the cache directory with an empty one.
- fop:category:cleanManage empty categories
- fop:category:products-countGet the number of products for category and its children
- fop:configuration:exportExport configuration values (from ps_configuration table)
- fop:configuration:importImport configuration values
- fop:container:checkHealth check of the Service Container
- fop:customer-groupsCustomer groups
- fop:employee:listList registered employees
- fop:employee:change-passwordChange employee password
- fop:environment:debug-modeEnable or Disable debug mode.
- fop:environment:get-parametersDisplay information about the installation (db name, etc)
- fop:environment:setup-devInstall your project for local developement
- fop:export:dataAllows to export data in XML
- fop:generate:htaccessGenerate the .htaccess file
- fop:generate:robotsGenerate the robots.txt file
- fop:group:transfer-customersTransfers or add customers from a group to an other
- fop:hook:addCreate hook in database
- fop:image:generate:categoriesRegenerate categories thumbnails
- fop:image:generate:manufacturersRegenerate manufacturers thumbnails
- fop:image:generate:productsRegenerate products thumbnails
- fop:image:generate:storesRegenerate stores thumbnails
- fop:image:generate:suppliersRegenerate suppliers thumbnails
- fop:module:generateScaffold new PrestaShop module
- fop:module:hookAttach one module on specific hook
- fop:module:hooksGet modules list
- fop:module:non-essentialManage non essential modules
- fop:module:renameRename a module
- fop:module:unhookDetach module from hook
- fop:override:makeGenerate a file to make an override
- fop:product:latestDisplays the latest products
- fop:shop:maintenanceConfigure maintenance mode
- fop:shop:statusDisplay shops statuses
- fop:theme:reset-layoutReset current (or selected) theme
Create your owns Commands
The official documentation from PrestaShop and Symfony Core teams are still right, but you needs to extends our class.
<?php // psr-4 autoloader namespace FOP\Console\Commands\Domain; // e.g. namespace FOP\Console\Commands\Configuration use FOP\Console\Command; use Symfony\Component\Console\Style\SymfonyStyle; use Symfony\Component\Console\Input\InputInterface; use Symfony\Component\Console\Output\OutputInterface; final class DomainAction extends Command { /** * {@inheritdoc} */ protected function configure() { $this ->setName('fop:domain') // e.g 'fop:export' // or ->setName('fop:domain:action') // e.g 'fop:configuration:export' ->setDescription('Describe the command on a user perspective.'); } /** * {@inheritdoc} */ protected function execute(InputInterface $input, OutputInterface $output) { $this->io->text('Hello friends of PrestaShop!'); return 0; // return 0 on success or 1 on failure. } }
Getting started
In a shell (call it shell, console or terminal), at the root of a Prestashop installation, type this command to list all available commands. You'll see commands provided by Symfony, Prestashop and installed modules.
./bin/console list
To list only fop commands :
./bin/console list fop
To toggle the debug-mode (PS_DEV_MODE) run :
./bin/console fop:environment:debug toggle
To get help about a command :
./bin/console help fop:environment:debug
You are ready to go !
Contribute
Any contributions are very welcome :) First install from sources and see Contributing for details.
Current contributors or contributors.
Compatibility
| Prestashop Version | Compatible | 
|---|---|
| 1.7.4.x and below | ❌ | 
| 1.7.5.x | ✔️ | 
| 1.7.6.x | ✔️ | 
| 1.7.7.x | ✔️ | 
| 1.7.8.x | ✔️ | 
| Php Version | Compatible | 
|---|---|
| 7.1 and below | ❌ | 
| 7.2 | ✔️ | 
| 7.3 | ✔️ | 
| 7.4 | ✔️ | 
| 8.0 | ⁉️ Not yet tested | 
License
This module is released under AFL license. See License for details.