レイアウトxmlファイルをシステムにロードするのに問題があります。構築しているモジュールのadminhtmlにロードする必要があるため、構成の重要な部分は次のとおりです。
<adminhtml>
<layout>
<updates>
<coupsmart_coupon>
<file>coupsmart_coupon.xml</file>
</coupsmart_coupon>
</updates>
</layout>
</adminhtml>
これで、coupsmart_coupon.xmlファイルという名前の実際のレイアウトファイルは次のようになります。
<layout>
<coupsmart_coupon_adminhtml_coup_index>
<update handle="coupsmart_coupon"/>
<reference name="content">
<block type="coupsmart_coupon/adminhtml_forms" name="myform"/>
</reference>
</coupsmart_coupon_adminhtml_coup_index>
</layout>
さて、これをデバッグするために、閉じ括弧(>)を省略するなど、レイアウトxmlファイルにエラーを入れましたが、例外はありませんでした。そこで$this->getLayout()->getUpdate()->getHandles()
、コントローラーで使用してハンドルを確認し、ハンドルcoupsmart_coupon_adminhtml_coup_index
の1つとして戻ってきました。これは、レイアウトxmlファイルでハンドルに名前を付けたものとまったく同じです。なぜこれがロードされないのでしょうか?
注:キャッシュをクリアして再試行しました。まだ動作していません。また、ログオンと例外がオンになっているので、ログに例外が表示されているはずです。他のコードが必要な場合はお知らせください。