Domanda

C'è quindi un pezzo di custom block puzzle non sto veramente ottenere.

Quello che sto cercando di fare:

Voglio usare $this->getChildHtml('customBlock') all'interno del mio di intestazione.phtml file e averlo subito print 'Ciao Mondo'

Quello che ho, non:

Un file xml chiamato app/etc/modules/ Jiri_CustomBlock.xml con il seguente contenuto:

 <?xml version="1.0"?>
 <config>
     <modules>
        <Jiri_CustomBlock>
            <active>true</active>
            <codePool>local</codePool>
        </Jiri_CustomBlock>
     </modules>
 </config>

Quindi un file chiamato app/code/local/Jiri/CustomBlock/etc/ config.xml

 <?xml version="1.0"?>
 <config>
     <modules>
         <Jiri_CustomBlock>
             <version>0.0.1</version>
         </Jiri_CustomBlock>
     </modules>
 </config>

Questo funziona, posso andare a Sistema>Configurazione>Avanzate e vedere all'interno i Moduli Disabili in Uscita

Poi ho questo in app/code/local/Jiri/CustomBlock/Block/ Header.php

 class Jiri_CustomBlock_Block_Header extends Mage_Page_Block_Html_Header{
      public function helloWorld(){
          return 'Hello World';
      }
 }

Infine ho nel mio tema personalizzato cartella in app/design/frontend/customtheme/default/template/page/html/ customblock.phtml

 <?php echo $this->helloWorld(); ?>

Ora, per la milioni di dollari;come faccio a fare in modo che in questo custom locale modulo/blocco diventa un bambino blocco del blocco di intestazione?

Io ho questo, non nel mio local.xml ma non ho idea di come collegare il codice per questa parte.

    <reference name="header">
        <block type="(what do I add here?)" template="page/html_header">
        </block>
    </reference> -->

Ho cercato online e ho scoperto che posso aggiungere 'azienda/module' nell'attributo 'type', ma poi come fa a sapere di caricare Block/Header.php?

È stato utile?

Soluzione

Applicare la seguente modifica al codice,

In config.xml

 <?xml version="1.0"?>
     <config>
         <modules>
             <Jiri_CustomBlock>
                 <version>0.0.1</version>
             </Jiri_CustomBlock>
         </modules>
        <global>
          <blocks>
             <jiri_customblock>
                <class>Jiri_CustomBlock_Header</class>
              </jiri_customblock>
          </blocks>
        </global>
     </config>

In local.xml,

<?xml version="1.0"?>
<layout version="0.1.0">
    <default>
        <reference name="header">
            <block type="jiri_customblock/header" name="customBlock" as="customBlock" template="page/html/customblock.phtml"/>
        </reference>
    </default>
</layout>

Altri suggerimenti

in etc/config.xml aggiungi blocco in <global> tag

<?xml version="1.0"?>
 <config>
     <modules>
         <Jiri_CustomBlock>
             <version>0.0.1</version>
         </Jiri_CustomBlock>
     </modules>
<global>
<blocks>
      <jiri_customblock>
        <class>Jiri_CustomBlock_Block</class>
      </jiri_customblock>
    </blocks>

</global>
 </config>

in local.xml aggiungere name di blocco

<reference name="header">
    <block type="jiri_customblock/header" name="html_header" template="page/html_header" >
            </block>
</reference>
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a magento.stackexchange
scroll top