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

Blocs statiques et dynamiques
 
jno84
Jr. Member
 
Total Posts:  13
Joined:  2008-05-15
 

Bonjour à tous,

j’ai un petit souci actuellement sur magento au niveau des blocks de ma sidebar.

Je voudrais y mettre les blocks “classiques” comme le panier, la newsletter, mais entre chaque je voudrais intercaler des blocks statiques (que j’ai édités dans le bo puis insérer dans le template) et des blocks dynamiques au niveau de ma mise en page mais je ne vois pas la solution.

Je vous montre juste le code de mon fichier 2columns-right.phtml pour vous rendre compte :

<!-- [start] right --> 
            <
div class="col-right side-col"
            <!-- 
ensemble des blocs dynamiques --> 
             
<?php echo $this->getChildHtml('right'?> 
             
<!-- blocs statiques -->                 
             
<?php echo $this->getLayout()->createBlock('cms/block')->setBlockId('acces-pro')->toHtml() ?> 
             <?php 
echo $this->getLayout()->createBlock('cms/block')->setBlockId('garanties')->toHtml() ?> 
              
&nbsp
              </
div
<!-- 
[end] right -->
 
Magento Community Magento Community
Magento Community
Magento Community
 
SeL_
Magento Team
 
Avatar
Total Posts:  1140
Joined:  2007-10-10
Paris, France
 

Bonjour,

Regarde dans le fichier app/design/frontend/default/default/layout/cms.xml
Le premier bloc xml est le suivant :

<default>
        <
reference name="footer">
            <
block type="cms/block" name="cms_footer_links" before="footer_links">
                <!--
                    
The content of this block is taken from the database by its block_id.
                    
You can manage it in admin CMS -> Static Blocks
                
-->
                <
action method="setBlockId"><block_id>footer_links</block_id></action>
            </
block>
        </
reference>
    </default>

La balise “default” signifie que ça s’appliquera aux pages par défaut.
La balise “reference” identifie le bloc concerné (footer).
La balise block indique qu’il faut ajouter un bloc de type CMS, qu’on nomme “cms_footer_links” et qu’on souhaite voir apparaître avant le bloc “footer_links”.
Enfin, on définit l’identifiant du bloc statique CMS (dans le bo).

Donc si tu essaies qqe chose du genre :

<default>
        <
reference name="right">
            <
block type="cms/block" name="cms_mon_bloc_static_1" after="-">
                <
action method="setBlockId"><block_id>acces-pro</block_id></action>
            </
block>
        </
reference>
    </default>
tu devrais voir ton bloc “acces-pro” tout en bas (after="-") de la colonne de droite (<reference name="right">).

Pas besoin de modifier de fichier phtml.

Plus de détail dans le guide du designer.

 
Magento Community Magento Community
Magento Community
Magento Community
 
jno84
Jr. Member
 
Total Posts:  13
Joined:  2008-05-15
 

Merci beaucoup SeL, ca marche nikel !

 
Magento Community Magento Community
Magento Community
Magento Community
 
EP Factory
Jr. Member
 
Avatar
Total Posts:  12
Joined:  2008-11-09
France
 

Bonjour,

Je reprend un vieux topic pour poser mon problème, à peu près similaire.

Voilà, je souhaiterai afficher un bloc template (fichier .phtml) uniquement en page d’accueil. j’ai fouillé un peu dans les XML mais je ne vois pas comment définir de ne l’afficher seulement en page d’accueil.

Une idée ?

Merci d’avance

 
Magento Community Magento Community
Magento Community
Magento Community
 
crxman
Member
 
Total Posts:  57
Joined:  2008-11-14
 
SeL - 09 October 2008 11:28 PM

La balise “default” signifie que ça s’appliquera aux pages par défaut.

C’est peu etre par la qui faut regarder

 
Magento Community Magento Community
Magento Community
Magento Community
 
lemax
Guru
 
Total Posts:  318
Joined:  2008-04-03
Nantes, France
 

Comment faire pour mettre le block au bon endroit ?
Je sais qu’il faut gérer avec before="..." ou after="..." Mais que mettre entre ces guillements ?
Je voudrais juste après le panier.
Merci
Max

 
Magento Community Magento Community
Magento Community
Magento Community
 
EP Factory
Jr. Member
 
Avatar
Total Posts:  12
Joined:  2008-11-09
France
 

Bonsoir,

chaque block possède un nom. ton panier également possède un nom de block. il te suffit de chercher dans les XML le nom du block correspondant, et ensuite de mettre ton after="......." et placer le nom du block à la place des points
de tête, ça doit être un nom du type “checkout.cart"…

tiens nous au courant du nom exact si tu le retrouves

merci

 
Magento Community Magento Community
Magento Community
Magento Community
 
EP Factory
Jr. Member
 
Avatar
Total Posts:  12
Joined:  2008-11-09
France
 
crxman - 21 November 2008 05:54 AM

SeL - 09 October 2008 11:28 PM

La balise “default” signifie que ça s’appliquera aux pages par défaut.

C’est peu etre par la qui faut regarder

je viens de fouiller un peu, mais ce n’est pas exactement ça
il existe certes le noeud “defaut”, mais comment spécifier alors un noeud appelé uniquement en cas d’une certaine page CMS ?
puis-je faire cette condition dans un phtml ?
mon soucis en réalité est de pouvoir afficher un contenu spécifique sur ma page d’accueil. ce contenu contient du php, et les balises php sont encodées lors de l’enregistrement sous fckeditor…
il y a un exemple sur www.ferraristore.com, sur la page d’accueil. ce que j’aimerai afficher sont les SpeedLane, Memorabilia et Top 10

merci d’avance

 
Magento Community Magento Community
Magento Community
Magento Community
 
SeL_
Magento Team
 
Avatar
Total Posts:  1140
Joined:  2007-10-10
Paris, France
 

Bonjour,

@EP Factory : Dans la config de ta page CMS (page d’accueil), tu peux définir un design particulier. Ajoutes-y le code XML correspondant. Ça ne s’appliquera qu’à ta page d’accueil.

 
Magento Community Magento Community
Magento Community
Magento Community
 
heriquet
Member
 
Total Posts:  52
Joined:  2008-08-27
 
SeL - 09 October 2008 11:28 PM

Bonjour,

Regarde dans le fichier app/design/frontend/default/default/layout/cms.xml
Le premier bloc xml est le suivant :

<default>
        <
reference name="footer">
            <
block type="cms/block" name="cms_footer_links" before="footer_links">
                <!--
                    
The content of this block is taken from the database by its block_id.
                    
You can manage it in admin CMS -> Static Blocks
                
-->
                <
action method="setBlockId"><block_id>footer_links</block_id></action>
            </
block>
        </
reference>
    </default>

La balise “default” signifie que ça s’appliquera aux pages par défaut.
La balise “reference” identifie le bloc concerné (footer).
La balise block indique qu’il faut ajouter un bloc de type CMS, qu’on nomme “cms_footer_links” et qu’on souhaite voir apparaître avant le bloc “footer_links”.
Enfin, on définit l’identifiant du bloc statique CMS (dans le bo).

Donc si tu essaies qqe chose du genre :
<default>
        <
reference name="right">
            <
block type="cms/block" name="cms_mon_bloc_static_1" after="-">
                <
action method="setBlockId"><block_id>acces-pro</block_id></action>
            </
block>
        </
reference>
    </default>
tu devrais voir ton bloc “acces-pro” tout en bas (after="-") de la colonne de droite (<reference name="right">).

Pas besoin de modifier de fichier phtml.

Plus de détail dans le guide du designer.

Bonjour,

J’ai tenté de suivre tes explications, mais cela ne fonctionne pas chez moi…

J’ai créé un bloc statique via le module cms et identifié comme suit : “en_left_home”.

Dans ma page d’accueil, section design perso, champs “XML de mise à jour d’agencement”, j’ai placé le code suivant.

<default>
<reference name="left">
<block type="cms/block" name="cms_mon_bloc_static_1" after="-">
<action method="setBlockId"><block_id>en_left_home</block_id></action>
</block>
</reference>
</default>

Et cela n’affiche pas mon bloc… (j’ai fais un refresh du cache, le bloc est activé, page et bloc visibles sur tout le site)

Quelle pourrait être la cause ?

D’avance grand merci car j’ai super besoin de savoir faire ca vu que je dois créer 2 blocs pour 20 pages de cms, fois 4 langues…

Heriquet

 
Magento Community Magento Community
Magento Community
Magento Community
 
Pihtt
Jr. Member
 
Total Posts:  16
Joined:  2009-07-03
 

Bonjour,
D’abord, merci à SeL pour ton post du 10 October 2008 12:28 AM, il va énormément m’aider pour la suite de mon travail…
Cependant, j’ai une petite question :
Lorsque je crée un bloc statique dans le BO, je lui donne un Titre bloc. A quoi sert ce titre ? Et surtout, existe-t-il une fonction qui me permette de récupérer ce titre dans le code du bloc statique lui-même ?

Par avance, merci.

 
Magento Community Magento Community
Magento Community
Magento Community
 
Gabriiiel
Guru
 
Avatar
Total Posts:  563
Joined:  2008-04-29
France - Paris
 

Jamais essayé wink

Mais peut-être block_title ?

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