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
%d blogger hanno fatto clic su Mi Piace per questo: