kod Posted March 31, 2019 Share Posted March 31, 2019 Bonjour, j'ai créer un module simple, dans la page greffer un module, je le vois bien mais la liste déroulante "greffer le module sur" ne propose pas displayTop ? Ou faut t'il le déclarer pour que mon module puisse être gréffer sur le hook displayTop. merci de vos réponse. Link to comment Share on other sites More sharing options...
codetheweb Posted March 31, 2019 Share Posted March 31, 2019 Bonjour, Il faut définir $this->registerHook('displayTop')); Link to comment Share on other sites More sharing options...
kod Posted March 31, 2019 Author Share Posted March 31, 2019 merci beaucoup, effectivement cela fonctionne, j'étais en train de générer le plugin automatique , je n'avais pas trouvé "displayTop". 1 Link to comment Share on other sites More sharing options...
kod Posted March 31, 2019 Author Share Posted March 31, 2019 (edited) J'ai une autre question, maintenant que j'ai greffer mon module, que faut t'il faire pour que mon template affiché sur ce displayTop ? car pour le moment je ne vois pas mon message de test ... voici mon template: <!-- Block mymodule --> <div id="mymodule_block_home" class="block"> <h4>Welcome!</h4> <div class="block_content"> <p>Hello, {if isset($my_module_name) && $my_module_name} {$my_module_name} {else} World {/if} ! </p> <ul> <li><a href="{$my_module_link}" title="Click this link">Click me!</a></li> </ul> </div> </div> <!-- /Block mymodule --> voici mon fichier module qui est à la racine <?php /** * 2007-2019 PrestaShop * * NOTICE OF LICENSE * * This source file is subject to the Academic Free License (AFL 3.0) * that is bundled with this package in the file LICENSE.txt. * It is also available through the world-wide-web at this URL: * http://opensource.org/licenses/afl-3.0.php * If you did not receive a copy of the license and are unable to * obtain it through the world-wide-web, please send an email * to [email protected] so we can send you a copy immediately. * * DISCLAIMER * * Do not edit or add to this file if you wish to upgrade PrestaShop to newer * versions in the future. If you wish to customize PrestaShop for your * needs please refer to http://www.prestashop.com for more information. * * @author PrestaShop SA <[email protected]> * @copyright 2007-2019 PrestaShop SA * @license http://opensource.org/licenses/afl-3.0.php Academic Free License (AFL 3.0) * International Registered Trademark & Property of PrestaShop SA */ if (!defined('_PS_VERSION_')) { exit; } class Pmk_entete extends Module { protected $config_form = false; public function __construct() { $this->name = 'pmk_entete'; $this->tab = 'front_office_features'; $this->version = '1.0.0'; $this->author = 'test'; $this->need_instance = 1; /** * Set $this->bootstrap to true if your module is compliant with bootstrap (PrestaShop 1.6) */ $this->bootstrap = true; parent::__construct(); $this->displayName = $this->l('entete preventimark'); $this->description = $this->l('haut de page fixe menu '); $this->ps_versions_compliancy = array('min' => '1.6', 'max' => _PS_VERSION_); } /** * Don't forget to create update methods if needed: * http://doc.prestashop.com/display/PS16/Enabling+the+Auto-Update */ public function install() { Configuration::updateValue('PMK_ENTETE_LIVE_MODE', false); return parent::install() && $this->registerHook('header') && $this->registerHook('backOfficeHeader') && $this->registerHook('displayTop'); } public function uninstall() { Configuration::deleteByName('PMK_ENTETE_LIVE_MODE'); return parent::uninstall(); } /** * Load the configuration form */ public function getContent() { /** * If values have been submitted in the form, process. */ if (((bool)Tools::isSubmit('submitPmk_enteteModule')) == true) { $this->postProcess(); } $this->context->smarty->assign('module_dir', $this->_path); $output = $this->context->smarty->fetch($this->local_path.'views/templates/admin/configure.tpl'); return $output.$this->renderForm(); } /** * Create the form that will be displayed in the configuration of your module. */ protected function renderForm() { $helper = new HelperForm(); $helper->show_toolbar = false; $helper->table = $this->table; $helper->module = $this; $helper->default_form_language = $this->context->language->id; $helper->allow_employee_form_lang = Configuration::get('PS_BO_ALLOW_EMPLOYEE_FORM_LANG', 0); $helper->identifier = $this->identifier; $helper->submit_action = 'submitPmk_enteteModule'; $helper->currentIndex = $this->context->link->getAdminLink('AdminModules', false) .'&configure='.$this->name.'&tab_module='.$this->tab.'&module_name='.$this->name; $helper->token = Tools::getAdminTokenLite('AdminModules'); $helper->tpl_vars = array( 'fields_value' => $this->getConfigFormValues(), /* Add values for your inputs */ 'languages' => $this->context->controller->getLanguages(), 'id_language' => $this->context->language->id, ); return $helper->generateForm(array($this->getConfigForm())); } /** * Create the structure of your form. */ protected function getConfigForm() { return array( 'form' => array( 'legend' => array( 'title' => $this->l('Settings'), 'icon' => 'icon-cogs', ), 'input' => array( array( 'type' => 'switch', 'label' => $this->l('Live mode'), 'name' => 'PMK_ENTETE_LIVE_MODE', 'is_bool' => true, 'desc' => $this->l('Use this module in live mode'), 'values' => array( array( 'id' => 'active_on', 'value' => true, 'label' => $this->l('Enabled') ), array( 'id' => 'active_off', 'value' => false, 'label' => $this->l('Disabled') ) ), ), array( 'col' => 3, 'type' => 'text', 'prefix' => '<i class="icon icon-envelope"></i>', 'desc' => $this->l('Enter a valid email address'), 'name' => 'PMK_ENTETE_ACCOUNT_EMAIL', 'label' => $this->l('Email'), ), array( 'type' => 'password', 'name' => 'PMK_ENTETE_ACCOUNT_PASSWORD', 'label' => $this->l('Password'), ), ), 'submit' => array( 'title' => $this->l('Save'), ), ), ); } /** * Set values for the inputs. */ protected function getConfigFormValues() { return array( 'PMK_ENTETE_LIVE_MODE' => Configuration::get('PMK_ENTETE_LIVE_MODE', true), 'PMK_ENTETE_ACCOUNT_EMAIL' => Configuration::get('PMK_ENTETE_ACCOUNT_EMAIL', '[email protected]'), 'PMK_ENTETE_ACCOUNT_PASSWORD' => Configuration::get('PMK_ENTETE_ACCOUNT_PASSWORD', null), ); } /** * Save form data. */ protected function postProcess() { $form_values = $this->getConfigFormValues(); foreach (array_keys($form_values) as $key) { Configuration::updateValue($key, Tools::getValue($key)); } } /** * Add the CSS & JavaScript files you want to be loaded in the BO. */ public function hookBackOfficeHeader() { if (Tools::getValue('module_name') == $this->name) { $this->context->controller->addJS($this->_path.'views/js/back.js'); $this->context->controller->addCSS($this->_path.'views/css/back.css'); } } /** * Add the CSS & JavaScript files you want to be added on the FO. */ public function hookHeader() { $this->context->controller->addJS($this->_path.'/views/js/front.js'); $this->context->controller->addCSS($this->_path.'/views/css/front.css'); $this->context->smarty->assign([ 'my_module_name' => Configuration::get('pmk_entete'), 'my_module_link' => $this->context->link->getModuleLink('pmk_entete', 'display') ]); return $this->display(__FILE__, 'entete.tpl'); /* Place your code here. */ } } je viens de comprendre .. il faut juste appeler la méthode displayTop: public function hookDisplayTop() { return "test"; Edited March 31, 2019 by kod (see edit history) 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