kod Posted March 30, 2019 Share Posted March 30, 2019 (edited) I use starter thème, i would like in header.tpl in folder _partial call the product search with glass? How i do it with smarty ? {block name='header_logo'} <a class="logo" href="{$urls.base_url}" title="{$shop.name}"> <img src="{$shop.logo}" alt="{$shop.name}"> </a> => display serach with glass ? {/block} {block name='header_top'} <div class="header-top"> {hook h='displayTop'} </div> {hook h='displayNavFullWidth'} {/block} thank's for help Edited March 30, 2019 by kod (see edit history) Link to comment Share on other sites More sharing options...
Kogkalidis Posted March 31, 2019 Share Posted March 31, 2019 You just hook the module to displayTop. I think the default search bar is already hooked there. Or nav1 nav2. Check it. Link to comment Share on other sites More sharing options...
kod Posted March 31, 2019 Author Share Posted March 31, 2019 thank's for help, I change my thinks beaucause i think is not clear to include directely in template, i create à new module: <?php 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. */ } } now in the top I have my entete.tpl is show in a top windows chrome. this is my test entete.tpl <div id="entete"> <div id="logo"> logo </div> <div id="rechercher"> find article => {hook h='hookHeader' mod='ps_searchbar'} </div> <div id="compte"> compte </div> <div id="panier"> </div> <div id="infosociete"> adresse </div> </div> How i and do right to call search bar ? ps_serachbar is not here, is h=hookHeader is wrong ? (prestashop 1.7) 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