Récemment
-
Urls bizarres dans la console search
PhenixSuite2 -
la classe search
Bugs & Améliorations2 -
Probleme depuis MAJ phenix 1.6.2.36
PhenixSuite8 -
Images produit qui disparaissent
Bugs & Améliorations4 -
[resolu] Le module mondial relay 3.4.5
Bugs & Améliorations1 -
controlleur fournisseurs.
Bugs & Améliorations11 -
J'en profite (la fougue de la jeunesse) (ah ah ah)
Bugs & Améliorations5 -
Bon dernier du jour mais cela me turlupine classe search
Bugs & Améliorations4 -
se connecter comme un client idntifié
Bugs & Améliorations1 -
la bonne blague
Discussion générale2 -
Passage de la 16.1.9 a la PhenixSuite 1.6.2.36
Bugs & Améliorations8 -
Echec de l'installation de Creative Elements
Bugs & Améliorations3 -
[Résolu] Modification données client dans l'admin
PhenixSuite10 -
googletagmanager
PhenixSuite2 -
2 téléphones obligatoires
PhenixSuite11 -
Liens qui disparaissent
PhenixSuite5 -
Smart cache JS et Iphone
PhenixSuite1 -
Hack ancien PS 1.6 avant mise à jour Phenix
PhenixSuite3 -
[RESOLU]Souci Revolut et Hipay
Modules11 -
[RESOLU]Image produit dans compte client > commande
PhenixSuite10
blockcategory et left_column
-
Bon, cela fait quelques temps que je rame dessus et j'ai trouvé une piste peut être?
j'ai activé le blockcategory dans mon hook_left_column. MAIS il ne s'affiche pas à la première visite , il faut choisir un produit et revenir pour qu'il reste affiché. Certains pensent que cela vient du cache navigateur, mais mes test semblent montrer que non. vider le cache navigateur, partir d'une nouvelle session.... vider les cokkies... vider le cache smarty... la totale
Donc je lis le code.. schématisons
public function hookLeftColumn($params) { if(!$this->setLastVisitedCategory()) { return; } $phpself = $this->context->controller->php_self; $current_allowed_controllers = array('category'); blablabla }
Si je commente ce return, elle s'affiche comme désiré. Mais disons que j'hésite à faire le bourrinr, je vais plus loin...
public function setLastVisitedCategory() { if(method_exists($this->context->controller, 'getCategory') && ($category = $this->context->controller->getCategory()) ) { if(!$category->active) { // c'est pas le bon controller donc on passe à la suite return false; } } $cache_id = 'blockcategories::setLastVisitedCategory'; // normalement vide if(!Cache::isStored($cache_id)) { if(method_exists($this->context->controller, 'getCategory') // probablement pas && ($category = $this->context->controller->getCategory()) ) { $this->context->cookie->last_visited_category = $category->id; // pas de cookie déposé } elseif(method_exists($this->context->controller, 'getProduct') // non plus, sauf quand && ($product = $this->context->controller->getProduct())) { // on a vu une page produit if(!isset($this->context->cookie->last_visited_category) || !Product::idIsOnCategoryId($product->id, array(array('id_category' => $this->context->cookie->last_visited_category))) || !Category::inShopStatic($this->context->cookie->last_visited_category, $this->context->shop) ) { //// la il ne dépose pas de cookie $this->context->cookie->last_visited_category = (int)$product->id_category_default; } } //// donc au saute là... ??? mais pas de cookies non plus.... Cache::store($cache_id, $this->context->cookie->last_visited_category); } //// et donc pas pastèque return false... tout le temps..... return Cache::retrieve($cache_id); } }
De ce que je comprends... Lorsque l'on arrive sur la page la première fois, il n'y a pas de catégorie disponible donc on demande d'activer la dernière catégorie visitée, ce qui ne donne rien et renvient rien et donc return vide....
il n'y a pas de dépôts de cookie lors de cette navigation... je vais prendre le temps d'investiguer"" je ne sais pas si c'est vraie ou pas, ce navigateur de m* firefox à jour, me dit qu'il n'y pas de cookie alors même qu'il y en a puisque je me suis logué sur un site... p*tain je devrais regarder d'un autre navigateur...
en ce moment je n'ai pas le temps de faire dans la dentelle alors je vai commenter à la bourrin, mais il faudrait se pencher plus sur la question, ce que je ferais si le soucis persiste et que personne ne voit la solution évidente.