Block magento
novembre 5, 2009 7 CommentairesLes blocks magento, code correspondant aux classes de magento dans le noyau (core). Ne pas les confondre avec un bloc terme utilisé dans le designer guide qui désigne la structure des pages magento (bloc header , content..). Dans le model view controler de magento (MVC) les blocks correspondent à view.
Un block est associé à un template
L’association du block au template se fait avec ce code :
<block type="catalog/layer_view" name="catalog.leftnav" after="currency" template="catalog/layer/view.phtml"/>
Cette association se fait généralement dans les layout, dans le code ci-dessus on associe le block view.php au template view.phtml. Le template aura accès aux méthodes de la classe view.php ainsi qu’aux classes étendues par celle-ci.
On déclare quel block on veut utiliser avec « type= » + chemin du block
On déclare quel template héritera des fonctionnalités du block « template= » + chemin du template
Voici le chemin vers le block et le template :
magento\app\code\core\Mage\Catalog\Block\Category
magento\app\design\frontend\default\default\template\catalog\layer
Associer un block à un template via le back office de magento
Vous pouvez rattacher un block a un template via le back office de magento, dans la partie contenu d’une page CMS par exemple.
L’association se fait avec le même code entouré d’une double accolade :
Ce code rattache le block template.php a un template home-haut.phtml
{{block type="core/template" template="homepage/home-haut.phtml"}}
Ce code rattache le block list.php au template list.phtml
{{block type="catalog/product_list" category_id="12" template="catalog/product/list.phtml"}}
Manqueraient pas les « » ?
Genre :
{{block type= »core/template » template= »homepage/home-haut.phtml »}}
Salut vrnet
Oui il manque bien les guillemets
merci je rectifie
Bonjour,
je voudrai mettre en place une page cms qui contiendrai
{{block type= »catalog/product_list » category_id= »12″ template= »catalog/product/list.phtml »}}
jusque là rien d’extraordinaire
mais je ne parviens pas a avoir le pager. ce dernier fonctionne bien lorsque c’est dans une catégorie ou sous-catégorie
mais dans ma page cms g ma toolbar avec les filtres de trie elle indique le nombre de produit sur produit totale mais pas de pager
si quelqu’un veux bien me donner une piste par avance merci
Magento 1.4.0.1
Bonjour,
Le block et chargé, mais tu n’a pas le pager ?
JE crois qu’il y as un problème avec le pager de magento 1.4 et la toolbar (c’est surtout après une mise à jour de magento)
Tu travailles sur une boutique « neuve » ou sur une mise à jour ?
Il est normal de ne pas avoir le pager, car celui-ci ne s’affiche que s’il est un enfant du block list_toolbar :
…
Hors en utilisant l’inclusion du bloc list dans une page CMS le bloc pager n’est pas chargé !
La solution est de passé par l’habillage et l’XML d’agencement :
C’est la ligne
3
qui permet de préciser la catégorie à afficher.
16
3
empty6
one_column5
two_columns_left4
two_columns_right4
three_columns4
product_list_toolbar
manufacturer
Il est normal de ne pas avoir le pager, car celui-ci ne s’affiche que s’il est un enfant du block list_toolbar :
[CODE]
…
[/CODE]
Hors en utilisant l’inclusion du bloc list dans une page CMS le bloc pager n’est pas chargé !
La solution est de passé par l’habillage et l’XML d’agencement :
C’est la ligne
[CODE]3[/CODE]
qui permet de préciser la catégorie à afficher.
[CODE]
16
3
empty6
one_column5
two_columns_left4
two_columns_right4
three_columns4
product_list_toolbar
manufacturer
[/CODE]
Le code
Hors en utilisant l’inclusion du bloc list dans une page CMS le bloc pager n’est pas chargé !
La solution est de passer par l’habillage et l’XML d’agencement de ta page CMS:
C’est la ligne
qui définie la catégorie que tu souhaite afficher.
le code en entier :
Enfin pour finir, il ne faudra rien mettre dans ta page CMS.
Donc en passant en mode html, il suffit de mettre :
pour que Magento ne te bloque pas à l’enregistrement de la page CMS (contenu obligatoire !)