Magento, chiamare un metodo di un block da un template


Da un template, per chiamare un metodo definito nel Block corrispondente è sufficiente utilizzare la parola chiave $this.

Per esempio nel block: Page/Block/Html/Header.php è definito il metodo getWelcome(). Dalla relativa view: template/page/html/header.phtml è possibile invocare il metodo con l’istruzione:

<?php echo $this->getWelcome()?>

Per invocare quello stesso metodo da un file template differente è possibile ricorrere all’utilizzo di getBlockClassName().

Dal file template istanziare il blocco:

$className = Mage::getConfig()->getBlockClassName('page/html_header');
$block = new $className();

In questo modo è possibile chiamare il metodo getWelcome sull’oggetto $block:

<?php echo $block->getWelcome()?>
Annunci

Rispondi

Inserisci i tuoi dati qui sotto o clicca su un'icona per effettuare l'accesso:

Logo WordPress.com

Stai commentando usando il tuo account WordPress.com. Chiudi sessione / Modifica )

Foto Twitter

Stai commentando usando il tuo account Twitter. Chiudi sessione / Modifica )

Foto di Facebook

Stai commentando usando il tuo account Facebook. Chiudi sessione / Modifica )

Google+ photo

Stai commentando usando il tuo account Google+. Chiudi sessione / Modifica )

Connessione a %s...

%d blogger hanno fatto clic su Mi Piace per questo: