Comment puis-je ajouter un peu de code html après un élément dans la page d'accueil?
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>
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.