Magento – Sous-catégorie / Sous-catégories afficher des images

Nous avons juste eu le problème, que pour une installation de Magento (Magento 1.6) vignettes ou. Galerie des sous-catégories ne sont pas affichés, si vous êtes allé dans la catégorie principale.

Par défaut Magento montre oui à tous les éléments, qui se trouvent dans la catégorie de. Mais il est maintenant dans la catégorie supérieure d'un écran d'index d'images de tous les sous-catégories, Cela peut les instructions suivantes (Merci u.a. un Charford) faire:

1. Vous mettez un bloc statique dans l'arrière-boutique avec les paramètres suivants:

Blocktitel: Liste des catégories sous
Identificateur de page: subcategory_listing
StoreView: Juste tout utilisé là où il
Statut: Activé
Teneur (Descendre le meilleur éditeur WYSIWYG):

{{type de bloc ="catalog / navigation" template ="catalog / navigation / subcategory_listing.phtml"}}

2. Aller à la catégorie appropriée et les paramètres suivants dans “Paramètres d'affichage” faire:

Mode d'affichage: Seul bloc statique
CMS Bloquer: Liste des catégories sous
Est-Anchor: Aucun

3. Un fichier nommé “subcategory_listing.phtmlCréer et les stocker dans le dossier suivant
app / design / frontend /[de base ou par défaut]/[IhrTemplate]/template / catalog / navigation /
le fichier doit contenir le code suivant:

<?php $ _categories = $ this->getCurrentChildCategories(); ?>
<br>

<div class ="catégorie sous-produits">
<?php $ = $ _collectionSize _categories->compter() ?>
<classe de table ="produits-grille" id ="produits-grille de la table">
<?php $ i = 0; foreach ($_categories que _category $): ?>
<?php if ($i     3% == 0): ?>
<tr>
<?php endif ?>
<td>
<a href ="<?php echo $ _category->Pouvez-vous() ?>" title ="<?php echo $ this->htmlEscape($_category->getName()) ?>">
<img src ="<?php echo $ _category->getImageUrl() ?>" = largeur"180" alt ="<?php echo $ this->htmlEscape($_category->getName()) ?>" />
</de>
<h3 class ="Produit-nom"><a href ="<?php echo $ _category->Pouvez-vous() ?>" title ="<?php echo $ this->htmlEscape($_category->getName()) ?>">
<?php echo $ this->htmlEscape($_category->getName()) ?></de></h3>
</td>
<?php if ($i% 3 == 0 && $Je!= $ _collectionSize): ?>
</tr>
<?php endif ?>
<?php endforeach ?>
<?php pour($Je;$i 3%!= 0;$i    ): ?>
<td class ="vide">&nbsp;</td>
<?php endfor ?>
<?php if ($i% 3 == 0): ?>
</tr>
<?php endif ?>
</table>
</div>
<br>

4. Copiez le fichier suivant

app code core Mage Catalog Block Navigation.php

et le placer dans ce dossier (s'il n'est pas disponible, Créer)

app code local Mage Catalog Block

Ensuite, ouvrez la copie dans le dossier ci et regarder pour le poste suivant (comme. Ligne 125)

getCurrentChildCategories fonction publique()
{
$layer = Mage::getSingleton(«Catalogue / couche ');
$category = $-couche>getCurrentCategory();
/* @ Var $ catégorie Mage_Catalog_Model_Category */
$catégories = $ category->getChildrenCategories();
$ProductCollection = Mage::getResourceModel(«Catalogue / product_collection ');
$couche->prepareProductCollection($collecte de produit);
$collection-produit>addCountToCategories($catégories);
return $ les catégories;
}

Cette zone à remplacer par le code:

getCurrentChildCategories fonction publique()
{
$layer = Mage::getSingleton(«Catalogue / couche ');
$category = $-couche>getCurrentCategory();
/* @ Var $ catégorie Mage_Catalog_Model_Category */
$collection = Mage::getModel(«Catalogue / catégorie ')->getCollection();
/* @ Var Mage_Catalog_Model_Resource_Eav_Mysql4_Category_Collection collection $ */
$collection>addAttributeToSelect(«Url_key ')
->addAttributeToSelect('Name')
->addAttributeToSelect(«Is_anchor ')
->addAttributeToSelect('Image')
->addAttributeToFilter(«Is_active ', 1)
->addIdFilter($catégorie>getChildren())
->setOrder(«Position», 'ASC')
->joinUrlRewrite()
->charger();

$ProductCollection = Mage::getResourceModel(«Catalogue / product_collection ');
$couche->prepareProductCollection($collecte de produit);
$collection-produit>addCountToCategories($collection);
return $ collection;
}

Faut-il alors provoqué une erreur fatale trouver navigation.php, situé sur l' “->joinUrlRewrite()” se réfère, alors cette ligne par

->addUrlRewriteToResult()

remplacer.

5. Enfin, réglez le fichier CSS, pour s'assurer que tout l'air agréable et une bonne.

6. Quelque chose: Par défaut, alors en outre l'image catégorie s'affiche à nouveau dans la catégorie respective. Ne devrait pas être le cas, dans le view.phtml dans le dossier /app / design / frontend /[de base ou par défaut]/[IhrTemplate]/template / catalog / catégorie comme. en ligne 52 la plage

<?php if($_imgUrl): ?>
<?php echo $ _imgHtml ?>
<?php endif; ?>

Supprimez ou mettez en commentaire.

Maintenant ce qui est nécessaire pour l'affichage d'images de type cours, que ceux-ci sont également stockées dans les catégories. Ceux-ci peuvent être téléchargées directement dans le backend dans la catégorie.
Si la taille de l'image sont ajustées, ou dans le subcategory_listing.phtml définir la taille désirée. adapter.

Si cela ne fonctionne toujours pas aujourd'hui, Dans le doute dans “Propre conception” Sélectionnez la catégorie a le modèle requis.

Utilisé dans la version Magento 1.6.2.0. Remarques, Suggestions, Demandez? Volontiers!

Publié par Covos

Depuis 2009 Je travaille intensément avec Magento. J'ai commencé avec la création et l'exploitation des magasins B2C. Cela a été prolongé par mon travail dans le secteur de la logistique. Il en est résulté premiers systèmes de B2E spécialisés. Aujourd'hui, je travaille jour par jour avec B2C passionnant, B2B- et les projets B2E et rapports dans ce blog sur les défis et donner des conseils d'initiés.

11 pensées sur “Magento – Sous-catégorie / Sous-catégories afficher des images”

  1. Bonjour,

    Facile à suivre les instructions Merci, mais il me montre toujours:

    Fatal error: Appel à une fonction getCurrentCategory membre() sur un non-objet dans / sur la ligne home/.sites/137/site890/web/shop/app/code/local/Mage/Catalog/Block/Navigation.php 128

    où est l'erreur?

    MFG
    Chrétien

    1. Oui, merci pour les instructions. Mais j'ai le même problème que mon “Haut-parleurs”. Le même message d'erreur. Yat-il une solution?
      Tibor

  2. Salut,
    eu le même problème, fois vérifié le code simple en Tüddelchen, J'ai dû mettre cette nouvelle, par exemple, à partir de
    $layer = Mage::getSingleton('Catalog / layer');
    était
    $layer = Mage::getSingleton('Catalog / layer');

    usw.. de la même étape dans l' 1 à
    {{type de bloc = modèle "catalog / navigation" = "catalog / navigation / subcategory_listing.phtml"}}

    éventuellement liegts la police ici sur le blog, également les guillemets je devais mettre nouvelle.

    1. Merci pour le tuyau, Je dois pièce par pièce par les anciens messages et travaille mettre le code dans les supports correspondants, Je n'avais pas alors. Maintenant, je l'ai fait dans cet article, mais parfois.

  3. Bonjour,
    Tout a fonctionné! Merci pour les instructions. Vous obtenez également la description de la sous-catégorie à chaque image purement? Je categoryname geht auch..

  4. Bonjour,

    Super Guide! MERCI!!!

    Comment pouvez-vous changer la suivante:
    – Centrer le texte sous l'image
    – Déterminer images / catégories par ligne
    – Régler la distance entre les images

  5. Leider werden bei mir nur die für die Hauptkategorie hinterlegten Bilder angezeigt, sprich ich klicke auf die Hauptkategorie und bekomme dann das Bild der Hauptkategorie angezeigt und nicht etwa die der weiteren Unterkategorien.
    Woran könnte das liegen?

Laisser un commentaire

Votre adresse email ne sera pas publié. les champs requis sont indiqués *