Как вызвать функцию другого блока 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();