2011-08-04 26 views
3

我在模板文件price.phtml。我想擁有一些代碼,查看調用該塊的父代並根據該代碼執行一些操作。基本上,如果父級是目錄列表頁面,我想要將from:標記添加到價格中。如果父母是configurable.phtml,我只想簡單地顯示價格。Magento子html - 獲取父母來電

我已經有代碼將from:添加到價格,但我需要if語句來告訴父調用方是什麼。

我見過細讀法師文件時,纔像::parent,但我不知道這是否適用於此處......

謝謝!

回答

14

您可以通過調用

$parent = $this->getParentBlock(); 

獲得參考從PHTML塊的父塊parent::someMethod的調用無關積木,或Magento的。它們是PHP結構,用於表示您想調用父類的方法。

7

這裏是一堆的方法,可以幫助你瞭解哪些類型的頁面,你在Magento的可視化:

  • 當前CMS頁:Mage::getSingleton('cms/page')->getIdentifier();
  • 當前路線:Mage::app()->getFrontController()->getRequest()->getRouteName();
  • 電流控制器:Mage::app()->getFrontController()->getRequest()->getControllerName();
  • 當前動作:Mage::app()->getFrontController()->getRequest()->getActionName();

因此,舉例來說,如果你想了解你在目錄列表頁面可以使用最後三個,以檢查路由是否目錄,控制器類別和行動是查看

另一種方法將包括在檢查一個catalog_category_view佈局手柄當前佈局的陣列中存在處理您可以通過以下方式從一個塊或模板檢索:$this->getLayout()->getUpdate()->getHandles()

希望它有助於。

此致,亞歷山德羅