Posting in the Magento forums has been disabled pending the implementation of a new and improved forum solution which should better serve the community.

For new questions please post at magento.stackexchange.com, the community-run support site for the Magento community. We will be providing updates on the new forum solution soon. For questions or concerns please email community@magento.com.

Magento Forum

Utiliser et personnaliser les tabs (onglets) du thème moderne
 
alphanono
Jr. Member
 
Total Posts:  12
Joined:  2008-03-24
Toul(54), France
 

Salut à tous,

Comme vous le savez, le thème moderne permet d’afficher dans des onglets certaines informations choisies. Il semble que pas mal de personnes cherchent comment utiliser ces Tabs.

Je propose ce topic pour parler de tout ce qui touche à cette fonctionnalité. Je commence par apporter ma propre connaissance sur le sujet puis vous poser aussi mes questions.

La base de la gestion des onglets se fait dans le fichier de layout :
app/design/frontend/theme/soustheme/layout/catalog.xml

Vous devez trouver ces lignes :

<block type="catalog/product_view_tabs" name="product.info.tabs" as="info_tabs" template="catalog/product/view/tabs.phtml" >
    <
action method="addTab" translate="title" module="catalog">
        <
alias>description</alias>
        <
title>Product Description</title>
        <
block>catalog/product_view_description</block>
        <
template>catalog/product/view/description.phtml</template>
    </
action>
    <
action method="addTab" translate="title" module="catalog">
        <
alias>additional</alias>
        <
title>Additional Information</title>
        <
block>catalog/product_view_attributes</block>
        <
template>catalog/product/view/attributes.phtml</template>
    </
action>
    <
action method="addTab" translate="title" module="catalog">
        <
alias>tailles</alias>
        <
title>Tailles</title>
        <
block>catalog/product_view_attributes</block>
        <
template>catalog/product/view/attribute_taille.phtml</template>
    </
action>
</
block>

Vous pouvez ici désactiver un onglet, changer leur ordre en bougeant les balises actions et ajouter d’autres onglet relatifs au produit.

Pour ce qui est de rajouter des onglets propres à des fonctions qui ne sont pas directement liées à la fiche produit, tel les commentaires / avis des internautes, vous pouvez le gérer depuis le layout XML de la fonctionnalité choisie.

Par exemple, pour afficher la liste des commentaires dans les onglets, rendez-vous dans le layout suivant :
app/design/frontend/theme/soustheme/layout/review.xml

et ajouter ce code n’importe où dans la balise <layout version="0.1.0"> :

<!--
Ajout dans les tabs
-->
    <
catalog_product_view>
        <
reference name="product.info.tabs">
            <
action method="addTab" translate="title" module="review">
                <
alias>avis</alias>
                <
title>Avis/commentaires</title>
                <
block>review/product_view_list</block>
                <
template>review/product/view/list_tab.phtml</template>
            </
action>
        </
reference>
    </
catalog_product_view>

On vient de voir comment afficher un bloc dans un nouvel onglet. Maintenant, je n’ai pas encore trouvé la technique pour ajouter un block formé de plusieurs blocks. Par exemple, je ne sais pas comment ajouter le formulaire de saisie des commentaires sous la liste des commentaires.

Si quelqu’un pouvait nous éclairer sur ce point ... !

 
Magento Community Magento Community
Magento Community
Magento Community
 
Dartalouf
Jr. Member
 
Avatar
Total Posts:  16
Joined:  2008-07-04
Roubaix - France
 

Bonjour ,

Merci pour toutes ces indications , elles m’ont été réellement utile.
Je ne sais pas si ça peut aider , mais pour faire appel à un autre block dans le tab de gestion des commentaires , il suffit de faire ça (pour l’affichage de block de la toolbar par exemple.

<reference name="product.info.tabs">
            <
block type="page/html_pager" name="product_review_list.toolbar" as="toolbar"/>
            <
action method="addTab" translate="title" module="review">
                <
alias>avis</alias>
                <
title>Commentaires</title>
                <
block>review/product_view_list</block>
        <
template>review/product/view/list.phtml</template>
            </
action>
        </
reference>

Il suffit ensuite d’insérer une ligne tel que :

<?php echo $this->getChildHtml('toolbar'?>

Dans le list.phtml pour voir s’afficher la Toolbar.

Par contre , je suis moi aussi bloqué avec l’affichage du formulaire de gestion des commentaires.
J’imagine que la méthode sera globablement la même , mais je n’arrive pas à trouver la syntaxe.

Je sais que The Climbing Shop le fait sur son site , mais impossible de savoir si il le font en formant leur formulaire à la main ou si il utilise un block…

Si quelqu’un à une réponse sur ce point , je serais preneur aussi…

 
Magento Community Magento Community
Magento Community
Magento Community
 
zrizwan
Jr. Member
 
Total Posts:  13
Joined:  2008-08-29
 

This is real french to me!!!!!!!!!!!!!!!!!!!!!!!!!!!.
Anyone can translate this please

 
Magento Community Magento Community
Magento Community
Magento Community
 
zmove
Guru
 
Total Posts:  317
Joined:  2008-04-30
 

Bonjour à tous,

Je plussoie pour l’ajout du formulaire des commentaires dans la page de listing des commentaires. J’ai TOUT essayé, que ce soit de copier la syntaxe pour ajouter la toolbar ou essayer de déclarer un nouveau bloc.... bref.

J’ai juste réussi à l’afficher dans un autre onglet. Pas bien difficile il suffit de recopier la syntaxe. Je la donne quand meme

<reference name="product.info.tabs">
            <
action method="addTab" translate="title" module="review">
                <
alias>com</alias>
                <
title>Ajouter un commentaire</title>
                <
block>review/review_form</block>
               <
template>review/form.phtml</template>
            </
action>
 </
reference>

Voila. Il semble que ce soit un problème avec childHTML. en redéclarant le listing des commentaires dans une tab, on perd les informations sur ses “enfants”. J’ai essayé de les redéclarer sans succès.

Si vous avez réussi depuis, je suis preneur de la solution.

 
Magento Community Magento Community
Magento Community
Magento Community
 
zmove
Guru
 
Total Posts:  317
Joined:  2008-04-30
 

Un petit bump pour ce problème qui n’a toujours pas de solution.

 
Magento Community Magento Community
Magento Community
Magento Community
 
Fred Martinez
Jr. Member
 
Total Posts:  1
Joined:  2010-01-11
 

Vous pouvez rajouter le formulaire dans un 2ème temps.

Vous avez nommé votre blocs “avis” via la balise “alias” :

<!--
Ajout dans les tabs
-->
    <
catalog_product_view>
        <
reference name="product.info.tabs">
            <
action method="addTab" translate="title" module="review">
                <
alias>avis</alias>
                <
title>Avis/commentaires</title>
                <
block>review/product_view_list</block>
                <
template>review/product/view/list_tab.phtml</template>
            </
action>
        </
reference>
    </
catalog_product_view>

Ainsi, vous pouvez ajouter le formulaire pour poster des commentaires dans votre onglet en rajoutant le bloc du formulaire via une référence dans votre fichier de layout :

<!-- Ajout du formulaire de saisie de commentaire dans le tab d'affichage des commentaires -->
        <reference name="avis">
            <block type="review/form" name="product.review.form" as="review_form">
                 <block type="page/html_wrapper" name="product.review.form.fields.before" as="form_fields_before" translate="label">
                     <label>Review Form Fields Before</label>
                     <action method="setMayBeInvisible"><value>1</value></action>
                 </block>
             </block>
        </reference>
 
Magento Community Magento Community
Magento Community
Magento Community
 
ArthurCarayon
Jr. Member
 
Total Posts:  7
Joined:  2010-04-27
 

Bonjour,

Pour ceux en version 1.4 et supérieur, pour ajouter le formulaire à la suite des avis clients, il suffit de faire ceci :

Ajouter dans votre fichier catalog.xml (theme/layout/catalog.xml) :

<block type="review/form" name="product.info.review_form" as="review_form" template="review/form.phtml"/>
dans le bloc :
<block type="review/product_view_list" name="product.info.product_additional_data" as="reviews" template="review/product/view/list.phtml" />

Ensuite dans votre fichier View.phtml (theme/template/catalog/product/view.phtml) insérer la ligne suivante :

<?php echo $this->getChildHtml('review_form'); ?>
juste après :
<?php echo $this->getChildHtml('reviews'?>

Bien à vous.

 
Magento Community Magento Community
Magento Community
Magento Community
Magento Community
Magento Community
Back to top