Stabilité du breadcrumbs (1 lecteur(s)) (1) Invité(s)
 | | |
|
SUJET: Stabilité du breadcrumbs
|
Natys
Fresh Boarder
Messages: 19
|
Stabilité du breadcrumbs Il y a 1 Année, 2 Mois
|
Karma: 0
|
|
Bonjour à la communauté,
Nous développons notre premier site e-commerce avec Magento.
Nous sommes face à un problème de stabilité du fil d'ariane (breadcrumbs).
Dans ce fil d'ariane, lorsque je suis dans une fiche produit, je souhaite que s'affiche le nom de la catégorie, puis le nom du produit.
Nativement, cela est prévu.
Cependant, nous avons une erreur.
Nous avons mis en place un menu déroulant proposant d'accéder à une fiche produit sans passer par la catégorie.
Si nous cliquons directement sur un produit, le fil d'ariane n'affiche pas le nom de la catégorie.
Si en revanche nous passons par la catégorie, puis que nous cliquons sur une fiche produit, le nom de la catégorie s'affiche. Puis, en passant par le menu et en cliquant sur une fiche produit, la également, le nom de la catégorie s'affiche.
Si nous changeons de produit d'une autre catégorie, le problème recommence. Le fil d'ariane n'affiche pas le nom de la catégorie. Pour que cela fonctionne, il faut repasser par la catégorie, puis cliquer sur une fiche produit pour avoir le fil d'ariane complet, et les autres produits de notre menu affiche correctement le fil d'ariane.
Ai-je été clair?
Merci pour votre aide précieuse!
|
|
|
|
|
|
|
Re:Stabilité du breadcrumbs Il y a 1 Année, 2 Mois
|
Karma: 29
|
Bonjour,
Oui c'est clair  c'est le même cas avec la recherche de magento. il existe des bout de code pour pallier à ces problèmes.
|
|
|
|
|
Natys
Fresh Boarder
Messages: 19
|
Re:Stabilité du breadcrumbs Il y a 1 Année, 2 Mois
|
Karma: 0
|
|
Excellent!!
Merci de répondre aussi rapidement, où puis-je trouver ces "bouts de codes"?
|
|
|
|
|
|
|
Re:Stabilité du breadcrumbs Il y a 1 Année, 2 Mois
|
Karma: 13
|
Bonjour,
Sinon c'est aussi largement faisable soi-même, avec un observer sur l'événement "catalog_controller_product_init" ou "catalog_controller_product_init_after". Si aucune catégorie courante n'est renseignée (avec Mage::registry("current_category")), alors tu peux récupérer les catégories du produit, choisir laquelle prendre par défaut (l'avantage est que tu as donc le contrôle sur le critère de choix) et l'appliquer avec Mage::register(). Tout le reste se fera automatiquement comme si tu venais de la catégorie choisie 
|
|
|
|
Enhanced Admin Grids : personnalisation des grilles de l'admin, éditeur intégré, et bien plus ! (ext. gratuite)
Tous les avis et retours sont bienvenus ! 
|
|
Natys
Fresh Boarder
Messages: 19
|
Re:Stabilité du breadcrumbs Il y a 1 Année, 2 Mois
|
Karma: 0
|
|
OK!!
Je vais tenter de faire quelques choses avec les infos que tu viens de m'apporter, encore merci!!
|
|
|
|
|
Natys
Fresh Boarder
Messages: 19
|
Re:Stabilité du breadcrumbs Il y a 1 Année, 1 Mois
|
Karma: 0
|
Ok, j'ai refait quelques choses qui solutionne mon problème, je poste le code au cas où cela intéresse...
| Code : |
<?php if($crumbs && is_array($crumbs)): $i=0;?>
<div class="breadcrumbs">
<ul>
<?php foreach($crumbs as $_crumbName=>$_crumbInfo): ?>
<?php if($_crumbInfo['link'] && $i==0): ?>
<li><a href="<?php echo $_crumbInfo['link'] ?>" title="<?php echo $this->htmlEscape($_crumbInfo['title']) ?>">
<img class="logoFil" src="<?php echo $this->getSkinUrl('images/logo2.png') ?>" alt="aide au jardin, bancs métalliques, brouette, rateau" />
</a></li>
<?php elseif($_crumbInfo['last']):
if ($product = Mage::registry('current_product')){
$categories = $product->getCategoryCollection()->load();
if($categories){
foreach($categories as $category){
if($category){
$category = Mage::getModel('catalog/category')->load($category->getId());
$nomCategorie = $category->getName();
$urlCategorie = $category->getUrl();?>
<li><strong> > <a href="<?php echo $urlCategorie;?>"><?php echo ucfirst(strtolower($nomCategorie));?></a></strong></li><?php
break;
}
}
}
}?>
<li><strong> > <a href="<?php $this->helper('core/url')->getCurrentUrl();?>"><?php echo $this->htmlEscape($_crumbInfo['label']) ?></a></strong></li>
<?php endif;$i++; ?>
<?php endforeach; ?>
</ul>
<hr />
</div>
<?php endif; ?>
|
|
|
|
|
|
|
 | | |
|