2013-05-01 56 views
11

我試圖改變接觸的參考塊我們link..I創造了所有的PHTML文件和所有.. 現在PHTML文件時,我打電話如何調用另一個模塊的功能Magento的

<?php $_links = $this->getLinks(); ?> 

我得到的鏈接數爲0 ..因爲它不能得到links.php的對象.. 我想知道如何可以引用對象的contacts.phtml

回答

29

嗨,你可以通過向Block.Like

$cpBlock = $this->getLayout()->getBlockSingleton('your block class'); //ect Mage_Catalog_Block_Product_List_Toolbar 

創建參考做得比你可以輕鬆地調用類的每一個功能類似$cpBlock->getLinks();。其他的方法是使用XML塊代碼。添加聯繫我們xml引用就像user2338443提到您的自定義xml和該塊的訪問功能。

+0

我試過這個。 $ tabLinks = Mage :: app() - > getLayout() - > getBlockSingleton('Mage_Customer_Block_Account_Navigation'); $ allLinks = $ tabLinks-> getLinks(); 但返回空數組。 任何幫助? – 2014-12-16 11:50:07

+0

'getBlockSingleton()'不工作,'createBlock()'正在工作..我不知道爲什麼。 – 2015-12-23 11:10:27

2

您可以引用使用佈局XML文件。

例如:

<block type="{Here you can add reference}" name="contactForm" template="contacts/form.phtml"/> 
+0

我沒有得到你.. – 2013-05-01 09:12:53

+0

我沒有得到你 其實我想要做的是改變聯繫我們的位置..now我有隱藏link.phtml..and也是與我們聯繫我已創建新的phtml ..但當我這樣做 - > getLinks()..獲取所有的URL值我在那裏得到NULL – 2013-05-01 09:15:15

1

請試試這個。 有兩種語法可以調用塊方法/函數,如下所示。

$_blockData = $this->getLayout()->getBlockSingleton('yourmodule/blockname')->getFunctionName(); 

$_blockData = $this->getLayout()->createBlock('yourmodule/blockname')->getFunctionName(); 
2

塊與塊調用

也可以嘗試從當前模板塊類調用其它塊類的方法。

$s = Mage::app()->getLayout()->getBlockSingleton('myproductfamily/family'); 
     print_r($s->getCollection($collectionId));exit; 
相關問題