Skip to content

friends-of-presta/fop_console

dev
Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?
Code

Latest commit

 

Git stats

Files

Permalink
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
 
 
 
 
 
 
 
 
src
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Minimum PHP Version PHP tests GitHub release Slack chat

Friends of Presta Console

Fop console is a module which provides a set a commands to extend PrestaShop 1.7 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://git.io/JMF3q --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/friends-of-presta/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:version Display the Fop Console version (on disk, on database, latest available release)
  • fop:cache:clear Replace the cache directory with an empty one.
  • fop:category:clean Manage empty categories
  • fop:category:products-count Get the number of products for category and its children
  • fop:configuration:export Export configuration values (from ps_configuration table)
  • fop:configuration:import Import configuration values
  • fop:container:check Health check of the Service Container
  • fop:customer-groups Customer groups
  • fop:employee:list List registered employees
  • fop:employee:change-password Change employee password
  • fop:environment:debug-mode Enable or Disable debug mode.
  • fop:environment:get-parameters Display information about the installation (db name, etc)
  • fop:environment:setup-dev Install your project for local developement
  • fop:export:data Allows to export data in XML
  • fop:generate:htaccess Generate the .htaccess file
  • fop:generate:robots Generate the robots.txt file
  • fop:group:transfer-customers Transfers or add customers from a group to an other
  • fop:hook:add Create hook in database
  • fop:image:generate:categories Regenerate categories thumbnails
  • fop:image:generate:manufacturers Regenerate manufacturers thumbnails
  • fop:image:generate:products Regenerate products thumbnails
  • fop:image:generate:stores Regenerate stores thumbnails
  • fop:image:generate:suppliers Regenerate suppliers thumbnails
  • fop:module:generate Scaffold new PrestaShop module
  • fop:module:hook Attach one module on specific hook
  • fop:module:hooks Get modules list
  • fop:module:non-essential Manage non essential modules
  • fop:module:rename Rename a module
  • fop:module:unhook Detach module from hook
  • fop:override:make Generate a file to make an override
  • fop:product:latest Displays the latest products
  • fop:shop:maintenance Configure maintenance mode
  • fop:shop:status Display shops statuses
  • fop:theme:reset-layout Reset 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.