Как вызвать функцию другого блока Magento
Я пытаюсь изменить ссылочный блок, чтобы связаться с нами. Я создал весь файл phtml и все..
Теперь в файле Phtml, когда я звоню
<?php $_links = $this->getLinks(); ?>
Я получаю количество ссылок как 0.. потому что он не может получить объект links.php..
Я хочу знать, как у меня есть ссылочный объект contacts.phtml
Ответы
Ответ 1
Привет, вы можете сделать это, создав ссылку на этот Block.Like
$cpBlock = $this->getLayout()->getBlockSingleton('your block class'); //ect Mage_Catalog_Block_Product_List_Toolbar
Чем вы можете легко вызвать любую функцию этого класса, например, $cpBlock->getLinks();
. Другой способ - использовать блок XML-кода. Добавьте к нам ссылку xml, как и user2338443, упомянутую в вашем пользовательском xml, а не функции доступа к этому блоку.
Ответ 2
заблокировать, чтобы заблокировать вызов
Также попробуйте вызвать другой метод класса блока из текущего класса блока шаблона.
$s = Mage::app()->getLayout()->getBlockSingleton('myproductfamily/family');
print_r($s->getCollection($collectionId));exit;
где: myproductfamily = ModuleName
family = blockClass
Ответ 3
Вы можете ссылаться на XML файл макета.
например:
<block type="{Here you can add reference}" name="contactForm" template="contacts/form.phtml"/>
Ответ 4
Попробуйте с этим.
Существует два синтаксиса для метода/функции вызова, как показано ниже.
$_blockData = $this->getLayout()->getBlockSingleton('yourmodule/blockname')->getFunctionName();
или
$_blockData = $this->getLayout()->createBlock('yourmodule/blockname')->getFunctionName();