2012-04-18 83 views
0

我想正確重寫此管理模板文件app/design/adminhtml/default/default/template/sales/order/create/form/address.phtml正確覆蓋一個管理模板文件在Magento

從我有found,正確的方法是創建一個新的模塊佈局文件,裏面設置的模板路我模塊目錄並使用參考節點引用該模板文件。但我不知道如何做到這一點。

我不明白如何使用xml控制佈局截至目前。有人可以展示如何真正做到這一點?

+0

你似乎錯過了XML配置。這完全是關於配置。您需要在配置中創建一個''節點,以便將現有模板重定向到新模板。註冊Magento U並獲得'爲Magento Basics開發'視頻系列。它擁有所有這些和更多。我正在從它學習! – 2012-04-18 09:40:46

+0

@DavidYell是啊!這東西現在已經過去了。我已經註冊了Magento U.感謝您的建議:) – Ashfame 2012-04-18 11:27:52

+0

視頻非常好,但我仍然建議您去實際課程的經驗,如果你能負擔得起。 – 2012-04-18 13:17:11

回答

2

你應該真的創建自己的模塊,然後你可以創建一個新的模板。

如果你想強制你需要setTemplate()這需要你的phtml路徑作爲參數。 $this->getLayout()->createBlock('my_module/blockname')->setTemplate('my_module/template.phtml');

請記住,這裏的兩個斜線符號是不同的。

createBlock()是一個塊,所以會在/app/code/<codePool>/My/Module/Blocks/<blockname.php>

setTemplate()是爲模板,所以將在/app/design/<area>/default/default/template/template.phtml

<area>會/ adminhtml你在管理後臺是。

爲了獲得模板的工作,您需要創建一個新模塊並擴展使用此模板的adminhtml塊文件。您必須從layout.xml中找到該塊,然後才能擴展該塊並指定一個新模板。

這就是我如何去做,但我也很難覆蓋Adminhtml模塊中的東西。

+0

非常感謝!我想覆蓋定義該模板的塊本身,而不是僅僅使用xml來切換該塊的模板,但我覺得它像是用一把更大的劍來進行一場小小的戰鬥:D我想我現在不得不使用這把大劍。 – Ashfame 2012-04-25 09:24:00

+0

我發現如果你想改變某些東西,你必須爲此創建一個全新的模塊,那麼Magento中的所有東西都需要一把「大劍」。我有這個問題,我有兩個模塊覆蓋我想重寫的東西!哎呀! – 2012-04-25 10:07:08

+0

哈,是的,我還沒有遇到這種情況,但如果我記得正確的話,視頻講師說他會在課程中展示我們如何處理這個問題。 – Ashfame 2012-04-25 10:22:37