Bienvenue, Invité
Merci de vous identifier ou de vous inscrire.    Mot de passe perdu?

[RESOLU]product_type_data dans catalogue
(1 lecteur(s)) (1) Invité(s)
Aller en basPage: 123
SUJET:

[RESOLU]product_type_data dans catalogue

#12609
Gabriiiel
I love Magento.
Expert Magento
Messages: 4118
graph
Personne n'est hors ligne Cliquez ici pour voir le profil de cet utilisateur
Sexe: Masculin gabriel.bouhatous Formation Magento Audit Conseil gabriel.bouhatous Ask me :) Lieu: Paris

Re:product_type_data dans catalogue

Il y a 8 Années, 9 Mois
Karma: 112  
Une petite astuce car le sujet est un peu trop complexe et je n'aurai pas le temps de te répondre de manière suffisamment complète pour le moment : regarde le module des chèques cadeaux (Gift certificates), tu verras comment utiliser dans un layout ce marqueur <product_type_...> et comment il est lié à l'existance du type de produit "...".

 
Expert Magento @ The e-Commerce Academy

L'administrateur a désactivé l'accès public en écriture.
#12697
melilienua
Senior Boarder
Messages: 71
graphgraph
Personne n'est hors ligne Cliquez ici pour voir le profil de cet utilisateur

Re:product_type_data dans catalogue

Il y a 8 Années, 9 Mois
Karma: 6  
Merci beaucoup! je me penche sur la question et si j'arrive (enfin) a y comprendre quelque chose, je ferais de mon mieux pour expliquer le principe .
A +
 
L'administrateur a désactivé l'accès public en écriture.
#12705
melilienua
Senior Boarder
Messages: 71
graphgraph
Personne n'est hors ligne Cliquez ici pour voir le profil de cet utilisateur

Re:product_type_data dans catalogue

Il y a 8 Années, 9 Mois
Karma: 6  
OK
Je vais tenter d'expliquer mes decouvertes :
J'ai trouvé impossible d'utiliser le block additionnel <PRODUCT_PRICE_[type]>, alors j'ai cherché une autre méthode.
Pour avoir un affichage différent en fonction du type d'un produit dans le catalogue (ou ailleurs!) il faut définir un template correspondant au type de produit.
Pour cela j'ai ajouté le code suivant dans catalog.xml (handle <catalog_category_layered>)
Code :


<reference name="product_list">
     <action method="addPriceBlockType"><type>simple</type><block>catalog/product_view_type_simple</block><template>catalog/product/view/type/simple.phtml</template></action>
     <action method="addPriceBlockType"><type>configurable</type><block>catalog/product_view_type_configurable</block><template>catalog/product/view/type/configurable.phtml</template></action>
     <action method="addPriceBlockType"><type>grouped</type><block>catalog/product_view_type_grouped</block><template>catalog/product/view/type/grouped.phtml</template></action>
     <action method="addPriceBlockType"><type>virtual</type><block>catalog/product_view_type_virtual</block><template>catalog/product/view/type/virtual.phtml</template></action>
</reference>


Une fois les templates définis, il suffit d'appeler la fonction getPriceHtml() (et c'est déja fait dans le thème par défaut!). Cette fonction détecte le type d'un produit et récupère le template en fonction, il n'y a donc plus rien a faire!!

Code :


    public function addPriceBlockType($type, $block = '', $template = '')
    {
        if ($type) {
            $this->_priceBlockTypes[$type] = array(
                'block' => $block,
                'template' => $template
            );
        }
    }



Voilà, c'est tout, j'ai passé un nombre incalculable d'heures (jours, semaines...) pour 6 lignes! Et encore, je ne suis pas sure de savoir si <reference name="product_list"> sert à quelque chose?

Si vous avez des réflexions a faire sur le sujet, n'hésitez pas! je suis toujours preneuse d'améliorations et puis je suis loin d'être spécialiste en la matière, donc je pourrais avoir fait une (des) erreur(s).

En tout cas ça fait plaisir (je refrène mes pulsions smileyiques) et merci Olixelle et Gabriiiel pour l'aide
 
Dernière édition: 22/06/09 à  06:40 Par melilienua.
L'administrateur a désactivé l'accès public en écriture.
#12711
Gabriiiel
I love Magento.
Expert Magento
Messages: 4118
graph
Personne n'est hors ligne Cliquez ici pour voir le profil de cet utilisateur
Sexe: Masculin gabriel.bouhatous Formation Magento Audit Conseil gabriel.bouhatous Ask me :) Lieu: Paris

Re:[RESOLU]product_type_data dans catalogue

Il y a 8 Années, 9 Mois
Karma: 112  
 
Expert Magento @ The e-Commerce Academy

L'administrateur a désactivé l'accès public en écriture.
#12714
melilienua
Senior Boarder
Messages: 71
graphgraph
Personne n'est hors ligne Cliquez ici pour voir le profil de cet utilisateur

Re:[RESOLU]product_type_data dans catalogue

Il y a 8 Années, 9 Mois
Karma: 6  
Ah, bon, ben la prochaine fois je me lache sur les smileys !

joli boulot melilienua, c t pas évident
Merciiiiiiiiiiii
 
Dernière édition: 27/04/09 à  05:56 Par melilienua.
L'administrateur a désactivé l'accès public en écriture.
#12715
Olixelle
Platinum Boarder
Messages: 359
graphgraph
Personne n'est hors ligne Cliquez ici pour voir le profil de cet utilisateur

Re:[RESOLU]product_type_data dans catalogue

Il y a 8 Années, 9 Mois
Karma: 10  
joli boulot melilienua, c t pas évident
 
L'administrateur a désactivé l'accès public en écriture.
#34225
Pepper
Platinum Boarder
Messages: 526
graphgraph
Personne n'est hors ligne Cliquez ici pour voir le profil de cet utilisateur
Sexe: Masculin Lieu: Lille Date anniversaire: 02/05

Re:[RESOLU]product_type_data dans catalogue

Il y a 7 Années, 6 Mois
Karma: 10  
Joli, en effet.
Apparemment, les balises PRODUCT_TYPE-XXX du layout catalog ne sont prises en compte que dans les pages dépendantes de ce même module.
Résultat: suis bien embêté pour afficher des prix différents en fonction du type de produit dans la liste des nouveautés affichée en home page. [file]
 
L'administrateur a désactivé l'accès public en écriture.
#34263
melilienua
Senior Boarder
Messages: 71
graphgraph
Personne n'est hors ligne Cliquez ici pour voir le profil de cet utilisateur

Re:[RESOLU]product_type_data dans catalogue

Il y a 7 Années, 6 Mois
Karma: 6  
Pepper,

pour retrouver ce résultat en home page, j'ai utilisé le XML de mise à jour d'agencement de la gestion CMS (parce que j'ai sagement suivi le tuto de Gabriiiel sur la mise en page de la home page).

Si ça peut t'aider voilà ma config

Code :


<reference name="root">
  <reference name="head">
     <action method="addCss"><stylesheet>css/promo.css</stylesheet></action>
  </reference>
</reference>

<reference name="content">
  <block type="catalognew/view" name="categorysale.products" template="cms/homepage/catalogpromo.phtml">
    <block type="catalog/product_list" name="new_product_list" template="cms/homepage/list.phtml"></block>
    <action method="setListCollection"/>
    <reference name="new_product_list">
      <action method="addPriceBlockType"><type>simple</type><block>catalog/product_view_type_simple</block><template>cms/homepage/type/simple.phtml</template></action>
<action method="addPriceBlockType"><type>configurable</type><block>catalog/product_view_type_configurable</block><template>cms/homepage/type/configurable.phtml</template></action>
<action method="addPriceBlockType"><type>grouped</type><block>catalog/product_view_type_grouped</block><template>cms/homepage/type/grouped.phtml</template></action>
<action method="addPriceBlockType"><type>virtual</type><block>catalog/product_view_type_virtual</block><template>cms/homepage/type/virtual.phtml</template></action> 
    </reference>
       
  </block>
</reference>




Comme tu peux le voir je fais moi aussi appel à la liste des nouveautés, donc j'espère que tu pourras réutiliser ce bout de code facilement.

S'il manque quoi que ce soit, tiens moi au courant, j'ai fait ça il y a plus d'un an... j'ai peut être oublié un truc! et à l'époque je tournais sur la 1.3.x, je n'ai pas retesté depuis mon passage en 1.4
 
L'administrateur a désactivé l'accès public en écriture.
Revenir en hautPage: 123
Modérateur: admin, Gabriiiel, ILOA, zuiko