PHP code example of presta-expert / module-helper

1. Go to this page and download the library: Download presta-expert/module-helper library. Choose the download type require.

2. Extract the ZIP file and open the index.php.

3. Add this code to the index.php.
    
        
<?php
require_once('vendor/autoload.php');

/* Start to develop here. Best regards https://php-download.com/ */

    

presta-expert / module-helper example snippets



/**
 * Checking if module is executed in prestashop context
 */
if (!defined('_PS_VERSION_')) {
    exit;
}

/**
 * Loading composer autoload
 */
*/
    public function __construct()
    {
        $this->name    = 'mycustommodule';
        $this->version = '1.5.2';
        $this->author  = 'Johnny Sins';
        $this->tab     = 'analytics_stats';

        parent::__construct();

        $this->displayName = $this->l('My custom module');
        $this->description = $this->l('My custom module full description');
    }

    /**
     * {@inheritdoc}
     * 
     * Below configuration values will be automatically 
     * added on module installation
     *
     * Also below values will be automatically deleted
     * on module uninstallation
     */
    public function getConfiguration()
    {
        return array(
            'MY_CUSTOM_CONFIG_1' => 'Lorem',
            'MY_CUSTOM_CONFIG_2' => 'Lorem ipsum',
        );
    }

    /**
     * {@inheritdoc}
     * 
     * Below hooks will be automatically registered on 
     * module installation without manually implementing 
     * registerHook
     * 
     * All you have to do is implement your hook methods
     * public function hookDisplayHeader(array $params)
     */
    public function getHooks()
    {
        return array(
            'displayHeader',
            'displayBackOfficeHeader',
        );
    }

    /**
     * {@inheritdoc}
     * 
     * Below queries will be automatically executed on 
     * module installation
     */
    public function getInstallSql()
    {
        return array(
            'CREATE TABLE `custom_table` (
                 id int,
                 value1 varchar(255),
                 value2 varchar(255)
             );',
        );
    }

    /**
     * {@inheritdoc}
     * 
     * Below queries will be automatically executed on 
     * module uninstallation
     */
    public function getUninstallSql()
    {
        return array(
            'DROP TABLE `custom_table`',
        );
    }

    /**
     * {@inheritdoc}
     * 
     * Below tabs will be automatically added on module
     * installation
     * 
     * Also below tabs will be automatically deleted
     * on module uninstall
     *
     * Keep in mind to keep the proper structure of 
     * the array
     */
    public function getTabs()
    {
        return array(
            array(
                // Parent tab name (or null if your tab should be parent)
                'parent' => 'AdminParentOrders', 
    
                // Your tab class name
                'class' => 'AdminModule',
    
                // Display name of tab (will be automatically used in translation $this->l())
                'name' => 'Doing something',
            ),
        );
    }

    /**
     * {@inheritdoc}
     * 
     * Below media will be automatically added in 
     * back office using displayBackOfficeHeader
     */
    public function getBackOfficeMedia()
    {
        return array(
            '/modules/mycustommodule/views/js/backoffice.js',
            '/modules/mycustommodule/views/css/backoffice.css',
        );
    }

    /**
     * {@inheritdoc}
     * 
     * Below media will be automatically added in 
     * front office using displayHeader
     */
    public function getFrontOfficeMedia()
    {
        return array(
            '/modules/mycustommodule/views/js/frontoffice.js',
            '/modules/mycustommodule/views/css/frontoffice.css',
        );
    }

    /**
     * {@inheritdoc}
     * 
     * IMPORTANT NOTE:
     * Keep in mind to execute parent::hookDisplayHeader
     * and parent::hookDisplayBackOfficeHeader when your
     * module uses it to keep getFrontOfficeMedia() and
     * getBackOfficeMedia() working.
     * 
     * @return  void
     */
    public function hookDisplayBackOfficeHeader()
    {
        parent::hookDisplayBackOfficeHeader();
    
        // Your hook placeholder to keep getBackOfficeMedia() working
    }

    /**
     * {@inheritdoc}
     * 
     * IMPORTANT NOTE:
     * Keep in mind to execute parent::hookDisplayHeader
     * and parent::hookDisplayBackOfficeHeader when your
     * module uses it to keep getFrontOfficeMedia() and
     * getBackOfficeMedia() working.
     *
     * @return  void
     */
    public function hookDisplayHeader()
    {
        parent::hookDisplayHeader();
        
        // Your hook placeholder to keep getFrontOfficeMedia() working
    }

}