2010-11-08 18 views
0

在template.phtml文件中有一行代碼引用了內容,使用了 getChildHtml('content')?> 這說明了內容和包含的div,我想訪問這個原始代碼,所以我可以插入 一些自定義數據,但對於我的生活無法找到它在哪裏?!我在內核中找到了Mage_Page_Block_Html類,但無法看到它拋出的任何HTML!magento 2column-right模板哪裏可以參考?

在此先感謝

+1

我不是故意侮辱等等我提前道歉。這真是一個新手問題。你最好先閱讀一些[指南](http://www.magentocommerce.com/knowledge-base)。 – clockworkgeek 2010-11-08 14:47:54

回答

1

在管理,如果你去系統>配置>高級>開發者,並從範圍選擇(左上),您的店鋪查看,您可以打開模板和塊提示。這將告訴你究竟哪個PHP Block正在生成代碼,因此與$this有關。

通常,所有基本佈局模板都支持Mage_Core_Block_Template,並且所有模塊都從Mage_Core_Block_Abstract繼承。

乾杯, 喬納森

+0

嗨,謝謝,Mage_Core_Block_Abstract會在哪裏大致找到? – adam 2010-11-08 13:11:44

+0

類名轉換爲它的位置。所以Mage_Core_Block_Abstract變成'app/code/core/Mage/Core/Block/Abstract.php' – clockworkgeek 2010-11-08 14:49:19

1

像往常一樣,我建議understanding what the entire layout system is doing明白髮生了什麼事情。

至於你的具體問題,$this總是指模板的Block類。 (每個phtml模板在Magento中都有一個Block類)。這是哪個類將取決於佈局XML文件中的內容。您可以隨時在運行時輸出類,如下所示:

var_dump(get_class($ this));

getChildHtml的方法在基抽象塊類中定義

應用程序/代碼/核心/法師/核心/砌塊/ Abstract.php

該方法用於由所有塊,所以一定要考慮到你的代碼。

0

作爲一個方面說明..如果你想知道一個$這點,你也可以使用

echo get_class($this) 

幫助我安靜幾次

相關問題