Comment puis-je ajouter un peu de code html après un élément dans la page d'accueil?

magento.stackexchange https://magento.stackexchange.com//questions/78179

  •  13-12-2019
  •  | 
  •  

Question

Ce que je veux réaliser c'est que j'ai un code html dans le cms/page d'accueil/dessin, que je veux insérer, après un certain élément dans la page d'accueil.C'est le code xml:

<cms_index_index translate="label">
        <reference name="content">
            <block type="sama_productblocks/list" name="sama_productblocks_newproducts" after="call_to_actions" template="sama_productblocks/list.phtml">
                <action method="setIdentifier"><id>homepage-latest</id></action>
            </block>

            <block type="core/template" name="top_banners" before="-" template="homepage/topbanners.phtml">
                <block type="experius_linkmanager/link_list" name="homepage_banner">
                    <action method="setIdentifier"><key>hoesjesoutlet-homepage_banner</key></action>
                </block>
                <block type="experius_linkmanager/link_list" name="homepage_small">
                    <action method="setIdentifier"><key>hoesjesoutlet-homepage_small</key></action>
                </block>
            </block>
            <block type="core/template" name="cta_banners" after="modelfilter_search" template="homepage/cta.phtml">
                <block type="experius_linkmanager/link_list" name="homepage_cta">
                    <action method="setIdentifier"><key>hoesjesoutlet-homepage_cta</key></action>
                </block>
            </block>
            <block type="core/template" name="home_text" after="modelfilter_search" template="homepage/text.phtml">
                <!-- Here should I call the html code -->
            </block>
        </reference>
    </cms_index_index>

et le contenu du texte.phtml doit être le code html à partir de l'onglet conception.Eh bien, je ne veux pas l'enlever de la conception et de la mettre tout le code html.Est-il une fonction ou une méthode pour appeler le contenu de la conception de la page d'accueil ?C'est le contenu du template/page d'accueil/texte.phtml

<div class="cta_row">
    <?php // echo $this->getChildHtml('homepage_text');
    // here i want to put the html code from the design tab from homepage
    ?>
</div>
Était-ce utile?

La solution

Mettre votre contenu html à l'intérieur d'un nouveau fichier phtml.C'est la façon dont vous devriez le faire.

Fichier: app\design\frontend\{your_package}\{your_theme}\template\homepage\my_homepage.phtml

<!-- put your html code inside this file -->

c'est à dire votre code html est à l'intérieur de my_homepage.phtml de modèle.Maintenant mettre à jour la dernière partie de votre code xml comme ceci.

<block type="core/template" name="home_text" after="modelfilter_search" template="homepage/text.phtml">
    <!-- call to your custom html code block -->
    <block type="core/template" name="my.homepage.block" as="homepage_text" template="homepage/my_homepage.phtml" />
</block>

Maintenant, assurez-vous que votre text.phtml est de cet appel..

<?php echo $this->getChildHtml('homepage_text') ?>

Puis tout effacer le cache et les charger à nouveau la page.Vous êtes fait.

Modifier

Si vous voulez les codes html modifiable à partir de l'admin, alors comme vous l'avez dit dans votre commentaire, mettre ces codes html à l'intérieur d'un bloc statique avec un identifiant homepage_custom_code (vous pouvez utiliser n'importe quoi ici) et ensuite modifier votre code xml comme ceci.

Mise à jour approche

<block type="core/template" name="home_text" after="modelfilter_search" template="homepage/text.phtml">
    <!-- call to your custom html code block -->
    <block type="cms/block" name="my.homepage.sb" as="homepage_text">
         <action method="setBlockId">
               <block_id>homepage_custom_code</block_id>
         </action>
</block>

et puis appelez votre bloc personnalisé dans text.phtml comme de la même manière que nous avons fait juste au-dessus de ^^^^.

Dur approche de codage :(Je déteste cela).

Sinon, appelez votre bloc statique directement à l'intérieur de votre text.phtml comme cette.

 <?php 
     $this->getLayout()->createBlock(
         'cms/block', 
         'my_custom_text_from_sb', 
          array('block_id' => 'homepage_custom_code')
      )
      ->toHtml() 
  ?>

Les deux fonctionne.Mais je vous recommande de la première approche.Pour moi, c'est plus clair.

Licencié sous: CC-BY-SA avec attribution
Non affilié à magento.stackexchange
scroll top