Melusine Posted March 18, 2014 Share Posted March 18, 2014 Bonjour Comment peut-on récupérer les informations rentré dans "Préférences / Coordonnées & magasins" pour les afficher dans le module Editorial (module que j'ai modifié de toute façon) ? Je n'aurais qu'un seul magasin. Je souhaiterais récupérer le nom, l'adresse, le numéro de téléphone et l'image. Je suis sous Pretashop 1.5.6.2. Merci d'avance. Link to comment Share on other sites More sharing options...
Melusine Posted March 21, 2014 Author Share Posted March 21, 2014 Up please ;-) Link to comment Share on other sites More sharing options...
BlobMarket Posted March 21, 2014 Share Posted March 21, 2014 Bonjour Melusine, Pour commencer, il faut modifier la fonction hookDisplayHome disponible à la ligne 285 du fichier /modules/editorial/editorial.php On rajoute simplement les lignes 304 à 307 qui récupèrent les informations disponibles dans Préférences / Coordonnées & magasins public function hookDisplayHome($params) { if (!$this->isCached('editorial.tpl', $this->getCacheId())) { $id_shop = (int)$this->context->shop->id; $editorial = EditorialClass::getByIdShop($id_shop); if (!$editorial) return; $editorial = new EditorialClass((int)$editorial->id, $this->context->language->id); if (!$editorial) return; $this->smarty->assign(array( 'editorial' => $editorial, 'default_lang' => (int)$this->context->language->id, 'image_width' => Configuration::get('EDITORIAL_IMAGE_WIDTH'), 'image_height' => Configuration::get('EDITORIAL_IMAGE_HEIGHT'), 'id_lang' => $this->context->language->id, 'homepage_logo' => !Configuration::get('EDITORIAL_IMAGE_DISABLE') && file_exists('modules/editorial/homepage_logo_'.(int)$id_shop.'.jpg'), 'image_path' => $this->_path.'homepage_logo_'.(int)$id_shop.'.jpg', 'blockcontactinfos_company' => Configuration::get('blockcontactinfos_company'), 'blockcontactinfos_address' => Configuration::get('blockcontactinfos_address'), 'blockcontactinfos_phone' => Configuration::get('blockcontactinfos_phone'), 'blockcontactinfos_email' => Configuration::get('blockcontactinfos_email') )); } return $this->display(__FILE__, 'editorial.tpl', $this->getCacheId()); } Ainsi on peut utiliser les variables {$blockcontactinfos_company}, {$blockcontactinfos_address}, {$blockcontactinfos_phone} et {$blockcontactinfos_email} dans le fichier /modules/editorial/editorial.tpl (ou celui de votre thème /themes/default/modules/editorial/editorial.tpl) Link to comment Share on other sites More sharing options...
Melusine Posted March 24, 2014 Author Share Posted March 24, 2014 Bonjour BlobMarket Dans editorial.php j'ai fait $this->smarty->assign(array( 'editorial' => $editorial, 'default_lang' => (int)$this->context->language->id, 'image_width' => Configuration::get('EDITORIAL_IMAGE_WIDTH'), 'image_height' => Configuration::get('EDITORIAL_IMAGE_HEIGHT'), 'id_lang' => $this->context->language->id, 'homepage_logo' => !Configuration::get('EDITORIAL_IMAGE_DISABLE') && file_exists('modules/editorial/homepage_logo_'.(int)$id_shop.'.jpg'), 'image_path' => $this->_path.'homepage_logo_'.(int)$id_shop.'.jpg', 'blockcontactinfos_company' => Configuration::get('blockcontactinfos_company'), 'blockcontactinfos_address' => Configuration::get('blockcontactinfos_address'), 'blockcontactinfos_phone' => Configuration::get('blockcontactinfos_phone'), 'blockcontactinfos_email' => Configuration::get('blockcontactinfos_email') )); Et dans editorial.tpl : $blockcontactinfos_company : {$blockcontactinfos_company}<br/> $blockcontactinfos_address : {$blockcontactinfos_address}<br/> $blockcontactinfos_phone : {$blockcontactinfos_phone}<br/> $blockcontactinfos_email : {$blockcontactinfos_email} Mais les variables st vides.. Et dans le debug elles n'apparaissent pas.. Link to comment Share on other sites More sharing options...
BlobMarket Posted March 24, 2014 Share Posted March 24, 2014 2 solutions : Soit le fichier tpl modifié n'est pas le bon.Si vous avez un fichier /themes/default/modules/editorial/editorial.tpl il faut absolument modifier celui-là car s'il existe Prestashop ne se sert plus de /modules/editorial/editorial.tpl Soit les templates ne sont pas recompilés.Pour que les modifications dans vos fichiers tpl soient pris en compte, rendez-vous dans Parametres avances > Performances et sélectionnez Recompiler les fichiers de templates si ils ont été mis à jour pour l'option Cache des templates Cela devrait fonctionner, Paul. Link to comment Share on other sites More sharing options...
Melusine Posted March 24, 2014 Author Share Posted March 24, 2014 Je n'ai pas de cache ni de compil (site de dev). Je travaille sur le fichier modules/editorial.tpl. Je l'ai entièrement modifié et il n'y a plus le editorial.tpl dans le dossier de thème. {$blockcontactinfos_company|@var_dump} renvoi "false". Il l'arrive pas à récupérer les infos à priori. Il faut que celles-ci soit renseignée où dans le BO ? Je l'ai est renseignée dans "Préférences / Coordonnées & magasins". La magasin à pour ID 1. Link to comment Share on other sites More sharing options...
BlobMarket Posted March 24, 2014 Share Posted March 24, 2014 Oula, je me suis emmelé les pinceaux. Les informations que je récupérais étaient celles du module Bloc infos contact On recommence. Les informations que vous voulez récupérer sont celles du tableau disponible sur la page Préférences > Coordonnées & magasins, pas celles disponibles en dessous de ce tableau ? Link to comment Share on other sites More sharing options...
Melusine Posted March 24, 2014 Author Share Posted March 24, 2014 (edited) C'est cela, dans le 1er tableau. Il faut que je récupère le nom, l'adresse, le numéro de téléphone et l'image. Edited March 24, 2014 by Melusine (see edit history) Link to comment Share on other sites More sharing options...
BlobMarket Posted March 24, 2014 Share Posted March 24, 2014 Ok dans ce cas dans le fichier editorial.php il faut modifier la fonction comme suit: public function hookDisplayHome($params) { if (!$this->isCached('editorial.tpl', $this->getCacheId())) { $id_shop = (int)$this->context->shop->id; $editorial = EditorialClass::getByIdShop($id_shop); if (!$editorial) return; $editorial = new EditorialClass((int)$editorial->id, $this->context->language->id); if (!$editorial) return; $stores = Db::getInstance()->executeS(' SELECT s.*, cl.name country FROM '._DB_PREFIX_.'store s '.Shop::addSqlAssociation('store', 's').' LEFT JOIN '._DB_PREFIX_.'country_lang cl ON (cl.id_country = s.id_country) WHERE s.active = 1 AND cl.id_lang = '.(int)$this->context->language->id); $this->smarty->assign( array( 'editorial' => $editorial, 'default_lang' => (int)$this->context->language->id, 'image_width' => Configuration::get('EDITORIAL_IMAGE_WIDTH'), 'image_height' => Configuration::get('EDITORIAL_IMAGE_HEIGHT'), 'id_lang' => $this->context->language->id, 'homepage_logo' => !Configuration::get('EDITORIAL_IMAGE_DISABLE') && file_exists('modules/editorial/homepage_logo_'.(int)$id_shop.'.jpg'), 'image_path' => $this->_path.'homepage_logo_'.(int)$id_shop.'.jpg', 'stores' => $stores ) ); } return $this->display(__FILE__, 'editorial.tpl', $this->getCacheId()); } Ensuite dans editorial.tpl vous aurez accès aux différentes boutiques. Par exemple pour la première ligne vous pouvez utiliser les variables suivantes : {$stores[0].name}, {$stores[0].address1}, {$stores[0].country}... Link to comment Share on other sites More sharing options...
Melusine Posted March 24, 2014 Author Share Posted March 24, 2014 Nickel ! Juste une dernière question, comment récupéré l'image associée ? Link to comment Share on other sites More sharing options...
BlobMarket Posted March 24, 2014 Share Posted March 24, 2014 Pour les images, dans editorial.php, il faut rajouter dans $this->smarty->assign : 'img_store_dir' => _THEME_STORE_DIR_ et dans editorial.tpl on peut alors appeler: <img src="{$img_store_dir}{$stores[0].id_store}-medium_default.jpg" /> Link to comment Share on other sites More sharing options...
Melusine Posted March 25, 2014 Author Share Posted March 25, 2014 Nickel ! Je te remercie pour ton aide Bonne journée 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