aide prestashop PhenixSuite Help
    • Catégories
    • Récent
    • Mots-clés
    • Populaire
    • Utilisateurs
    • Groupes
    • Recherche
    • S'inscrire
    • Se connecter

    blockcategory et left_column

    Planifier Épinglé Verrouillé Déplacé BUG connus
    1 Messages 1 Publieurs 318 Vues 1 Watching
    Charger plus de messages
    • Du plus ancien au plus récent
    • Du plus récent au plus ancien
    • Les plus votés
    Répondre
    • Répondre à l'aide d'un nouveau sujet
    Se connecter pour répondre
    Ce sujet a été supprimé. Seuls les utilisateurs avec les droits d'administration peuvent le voir.
    • herve_02H Hors-ligne
      herve_02
      dernière édition par herve_02

      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.

      1 réponse Dernière réponse Répondre Citer 0
      • Premier message
        Dernier message
      bug
      26 sujets
      1.6
      24 sujets
      front-office
      11 sujets
      1.5
      8 sujets
      1.7
      5 sujets
      système
      4 sujets
      administration
      3 sujets
      hack
      3 sujets
      module
      3 sujets
      performance
      3 sujets
      smtp
      3 sujets
      transporteurs
      3 sujets
      dashboard
      2 sujets
      https
      2 sujets
      paypal
      2 sujets
      promotions
      2 sujets