在template.phtml文件中有一行代碼引用了內容,使用了 getChildHtml('content')?> 這說明了內容和包含的div,我想訪問這個原始代碼,所以我可以插入 一些自定義數據,但對於我的生活無法找到它在哪裏?!我在內核中找到了Mage_Page_Block_Html類,但無法看到它拋出的任何HTML!magento 2column-right模板哪裏可以參考?
在此先感謝
在template.phtml文件中有一行代碼引用了內容,使用了 getChildHtml('content')?> 這說明了內容和包含的div,我想訪問這個原始代碼,所以我可以插入 一些自定義數據,但對於我的生活無法找到它在哪裏?!我在內核中找到了Mage_Page_Block_Html類,但無法看到它拋出的任何HTML!magento 2column-right模板哪裏可以參考?
在此先感謝
在管理,如果你去系統>配置>高級>開發者,並從範圍選擇(左上),您的店鋪查看,您可以打開模板和塊提示。這將告訴你究竟哪個PHP Block正在生成代碼,因此與$this
有關。
通常,所有基本佈局模板都支持Mage_Core_Block_Template
,並且所有模塊都從Mage_Core_Block_Abstract
繼承。
乾杯, 喬納森
嗨,謝謝,Mage_Core_Block_Abstract會在哪裏大致找到? – adam 2010-11-08 13:11:44
類名轉換爲它的位置。所以Mage_Core_Block_Abstract變成'app/code/core/Mage/Core/Block/Abstract.php' – clockworkgeek 2010-11-08 14:49:19
像往常一樣,我建議understanding what the entire layout system is doing明白髮生了什麼事情。
至於你的具體問題,$this
總是指模板的Block類。 (每個phtml模板在Magento中都有一個Block類)。這是哪個類將取決於佈局XML文件中的內容。您可以隨時在運行時輸出類,如下所示:
var_dump(get_class($ this));
getChildHtml
的方法在基抽象塊類中定義
應用程序/代碼/核心/法師/核心/砌塊/ Abstract.php
該方法用於由所有塊,所以一定要考慮到你的代碼。
作爲一個方面說明..如果你想知道一個$這點,你也可以使用
echo get_class($this)
幫助我安靜幾次
我不是故意侮辱等等我提前道歉。這真是一個新手問題。你最好先閱讀一些[指南](http://www.magentocommerce.com/knowledge-base)。 – clockworkgeek 2010-11-08 14:47:54