0

この管理テンプレートファイルを適切に上書きしたいapp/design/adminhtml/default/default/template/sales/order/create/form/address.phtml

私が見つけたものから、適切な方法は、新しいモジュールにレイアウトファイルを作成し、モジュールディレクトリ内にテンプレートパスを設定し、参照ノードを使用してそのテンプレートファイルを参照することです。しかし、私にはそれを行う方法がわかりません。

現在、xmlを使用してレイアウトを制御する方法がわかりません。誰かが実際にそれを行う方法を示すことができますか?

4

1 に答える 1

2

独自のモジュールを実際に作成する必要があります。これにより、新しいテンプレートを作成できます。

強制したい場合setTemplate()は、phtml パスをパラメーターとして受け取る必要があります。$this->getLayout()->createBlock('my_module/blockname')->setTemplate('my_module/template.phtml');

ここでの 2 つのスラッシュ表記は異なることに注意してください。

createBlock()はブロック用なので、/app/code/<codePool>/My/Module/Blocks/<blockname.php>

setTemplate()はテンプレート用なので、/app/design/<area>/default/default/template/template.phtml

あなた<area>は管理者のバックエンドにいるので、/adminhtml になります。

テンプレートを機能させるには、新しいモジュールを作成し、このテンプレートを使用する adminhtml ブロッ​​ク ファイルを拡張する必要があります。layout.xml からブロックを見つける必要があります。その後、ブロックを拡張して新しいテンプレートを指定できます。

それが私のやり方ですが、Adminhtml モジュール内のものをオーバーライドするのも本当に難しいと感じています。

于 2012-04-25T09:11:09.673 に答える