Magento, chiamare un metodo di un block da un template
27 Ott 2010 Lascia un commento
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()?>