Domanda

Quello che voglio ottenere è che ho un po ' di codice html cms/homepage/design, che voglio inserire, dopo un certo elemento in homepage.Questo è il codice 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>

e il contenuto del testo.phtml dovrebbe essere il codice html dalla scheda progettazione.Beh io non la desidera rimuovere dal design e mettere tutto il codice html.C'è una funzione o un metodo per richiamare i contenuti di design dalla homepage ?Questo è il contenuto del modello/homepage/testo.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>
È stato utile?

Soluzione

Mettere il contenuto html, all'interno di un nuovo file phtml.Questo è quanto si dovrebbe fare.

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

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

cioè il vostro codice html viene dentro my_homepage.phtml modello.Ora aggiornare l'ultima parte del tuo codice xml come questo.

<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>

Assicurarsi di text.phtml tiene questa chiamata..

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

Quindi cancellare la cache e ricaricare la pagina.Si è fatto.

Modifica

Se si desidera che tali codici html modificabile da admin, quindi come hai affermato nel tuo commento, mettere quei codici html all'interno di un blocco statico con un identificatore homepage_custom_code (è possibile utilizzare qualsiasi cosa qui) e quindi modificare il codice xml come questo.

Aggiornamento Layout approccio

<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>

e quindi chiamare il vostro blocco personalizzato in text.phtml come allo stesso modo abbiamo fatto appena sopra ^^^^.

Codifica approccio :(Odio questo.)

Altrimenti chiama il tuo blocco statico direttamente all'interno del vostro text.phtml come questo.

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

Entrambe le opere.Ma mi raccomando, il primo approccio.Per me, sembra più chiaro.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a magento.stackexchange
scroll top