[email protected] Posted May 26, 2017 Share Posted May 26, 2017 Bonjour à tous, J'utilise la version 1.6.0.9 avec le theme Flatroshop J'essai en vain de vouloir afficher les différents champs visibles dans "Mes informations personnelles" de l'utilisateur connecté, directement dans les fiches produits. Notamment un champs "dep"(pour le département). Ceci afin de faire des tests sur le département et déterminer l'image qui s'affiche sur la fiche produit. En suivant les tuto, j'ai déclaré cette variable dans authentification.tpl, identity.tpl, cookies.php et customer.php Quand je suis sur "mon compte", cela marche bien Mais je cherche depuis assez longtemps à faire le pont pour avoir accès à ces variables depuis product.tpl Quelles sont les pistes?? merci Link to comment Share on other sites More sharing options...
[email protected] Posted May 27, 2017 Author Share Posted May 27, 2017 Merci OkOm pour ta réponse... j'ai tout de meme un soucis de compréhension... $this->context->customer->dep s'ajoute bien dans un fichier php? comment je fais pour la récupérer dans mon product.tpl ... je pense que j'ai codé n'importe quoi à force de lire ... et j'ai du mal a comprendre la liaison entre mes déclarations php et la sortie sur un tpl !! (je me fouette pourtant !!! lol) voici les différents ajouts que j'ai fais... dans customer.php /** je met la variable du departement pour identifier association correspondante */ public $depasso; /** je déclare depasso dans la définition */ public static $definition = array( 'table' => 'customer', 'primary' => 'id_customer', 'fields' => array( ... 'depasso' => array('type' => self::TYPE_STRING, 'validate' => 'isGenericName', 'required' => true, 'size' => 128), ... /** je l'ajoute a ma fonction getcustomer*/ public static function getCustomers() { $sql = 'SELECT `id_customer`, `email`, `firstname`, `lastname`, `depasso` dans authentification.tpl (c'est un champs obligatoire) ... <div class="required form-group"> <label for="depasso">{l s='Votre Code Postal'} <sup>*</sup></label> <input type="text" class="is_required validate form-control" data-validate="isdepasso" id="depasso" name="depasso" onblur="$('#depasso').val($(this).val());" value="{if isset($smarty.post.depasso)}{$smarty.post.depasso}{/if}" /> <input type="hidden" id="depasso" name="depasso" value="{if isset($smarty.post.depasso)}{$smarty.post.depasso}{/if}" /> </div> ... dans identity.tpl (toute modification enregistré en BDD) ... <div class="required form-group"> <label for="depasso" class="required"> {l s='Votre Code Postal'} </label> <input class="is_required validate form-control" data-validate="isdepasso" type="text" name="depasso" id="depasso" value="{$smarty.post.depasso}"/> </div> ... et dans cookies.php (je l'ai ajouté dans la fonction mylogout) unset($this->_content['depasso']); Merci si tu peux me faire avancer OkOm (7n1) Link to comment Share on other sites More sharing options...
[email protected] Posted May 27, 2017 Author Share Posted May 27, 2017 oui Link to comment Share on other sites More sharing options...
Alexandre Carette Posted May 27, 2017 Share Posted May 27, 2017 (edited) Salut $this->context->customer->dep s'ajoute bien dans un fichier php? ca s'ajoute dans le cookie de prestashop ou tu pourras recup la donnée dans n'importe quel tpl sans vouloir troller la réponse de okom3pom Edited May 27, 2017 by Alexandre Carette (see edit history) 1 Link to comment Share on other sites More sharing options...
[email protected] Posted May 27, 2017 Author Share Posted May 27, 2017 oui... allons y par étape !! Ma variable est créée dans la table xxx_customer et se nomme "depasso" J'ai donc créé le fichier customer.php dans l'override: (j'ai bien compris que le customer.php d'origine devait resté propre... j'ai donc nettoyé le mien de mes ajouts !) <?php class Customer extends CustomerCore { public $depasso; public static $definition = array( 'fields' => array( 'depasso' => array('type' => self::TYPE_STRING, 'validate' => 'isGenericName', 'required' => true, 'size' => 128), ), ); } J'ai créé le répertoire customers et le fichier informations.tpl override/controllers/admin/templates/customers/informations.tpl (!oupsss je n'ai pas de fichier information . tpl dans le répertoire customer du chemin admin !! => stand bye plutot que de faire des betises ! c'est pour le BO a ce que j'ai vu !) bref... je continu par la modification de... product.tpl puisque c'est dans ce fichier que je veux voir apparaitre ma variable ! non? j'ai modifier comme cela (meme si les onglets c'est bizarre!) <div id="more_info_block" class="clear"> <ul id="more_info_tabs" class="idTabs idTabsShort clearfix"> <!-- ... --> {if $customer->depasso } <li> <a id="more_info_tab_information" href="#idTab13"> {l s='département'} </a> </li> {/if} <!-- ... --> </ul> <div id="more_info_sheets" class="sheets align_justify"> <!-- ... --> {if isset($customer) && $customer->depasso } <div id="idTab13" class="rte">{$customer->depasso }</div> {/if} <!-- ... --> </div> J'ai donc ajouté théoriquement le champs dans tous mes products... je vide mon cache ! ETTTTTTT.......voilà ! ... rien du tout pas de panique, je pense qu'il y a encore des choses à faire ! quelle est la prochaine étape?? 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