私は Magento のプラグインに取り組んできましたが、layout/name.xml ファイルの外側に xml タグのないグローバル ブロックが 1 つあります。
<block name="one.two.three" template="project/button.phtml" />
アイデアは、getBlockHtml("one.two.three") をどこでも呼び出して、beta.phtml を表示できるようにすることです。これで問題なく動作しました。
プラグインのインストール プロセスをテストするために、別の magento を最初からインストールしてみました。プラグインを最初と同じディレクトリにインストールし、古いインストールから getBlockHtml をコピーして貼り付けましたが、何も表示されません (テンプレートのヒントも)! デフォルトの参照を追加しても役に立ちませんでした。
adminhtmlメニューとmysqlインストールスクリプトの両方が機能しますが、明らかにxmlファイルを検出していません。これはなぜでしょうか?はい、何度もキャッシュをクリアしました。
編集:
どちらのインストールもバージョン 1.7.0.2 です
これらのインストールは両方とも同じコンピューター上にあるため、ファイルシステムとケーシングはおそらく同一です。同じコンピューター上の 2 つの大文字と小文字の区別が異なる場合はありますか?
プラグインのインストール: Magento のインストールにファイルをコピーするスクリプトがあります。これは、これまで最初のインストールで機能しており、2 番目の ins で行ってきたことです。確認のために、ファイルがコピーされると、magento データベースのエントリとテーブルが追加されます。
私のレイアウトは一般的なレイアウト フォルダー app/design/layout/projectEmbeds.xml に保存されます。これは一般的な慣習ではないことは承知していますが、このプロジェクトに着手する前はこのようなもので、機能していたので、いじりませんでした。この決定は、独立したウェブサイトのテーマに見えるように行われたと思います.
同様に、私のプラグインは app/code/local/ -> Project/Embeds に保存され、ブロック、コントローラーなど、ヘルパー、モデル、および sql が必要に応じて含まれています。
問題の button.phtml は app/design/frontend/default/default/project にあります
上記のディレクトリの etc に保存されている私の config.xml ファイルは次のとおりです。Project_Banner を参照するものはすべて重要であり、Project_Embed はほぼ完全に非推奨です。
<config>
<modules>
<Project_Embeds>
<version>0.1.0</version>
</Project_Embeds>
</modules>
<frontend>
<routers>
<embeds>
<use>standard</use>
<args>
<module>Project_Embeds</module>
<frontName>embeds</frontName>
</args>
</embeds>
</routers>
<layout>
<updates>
<embeds>
<file>projectEmbeds.xml</file>
</embeds>
</updates>
</layout>
</frontend>
<global>
<resources>
<project_embed_setup>
<setup>
<module>Project_Embeds</module>
<class>Project_Embeds_Model_Mysql4_Setup</class>
</setup>
</project_embed_setup>
</resources>
<models>
<embeds>
<class>Project_Embeds_Model</class>
<resourceModel>embeds_mysql4</resourceModel>
</embeds>
<projectbanner>
<class>Project_Banner_Model</class>
<resourceModel>banner_mysql4</resourceModel>
</projectbanner>
<embeds_mysql4>
<class>Project_Embeds_Model_Mysql4</class>
<entities>
<embeds>
<table>project_embed</table>
</embeds>
<banner>
<table>project_banner</table>
</banner>
</entities>
</embeds_mysql4>
</models>
<resources>
<embeds_setup>
<setup>
<embeds>Project_Embeds</embeds>
</setup>
<connection>
<use>core_setup</use>
</connection>
</embeds_setup>
<embeds_write>
<connection>
<use>core_write</use>
</connection>
</embeds_write>
<embeds_read>
<connection>
<use>core_read</use>
</connection>
</embeds_read>
</resources>
<blocks>
<embeds>
<class>Project_Embeds_Block</class>
</embeds>
</blocks>
<helpers>
<embeds>
<class>Project_Embeds_Helper</class>
</embeds>
</helpers>
</global>
<admin>
<routers>
<thisprojectname>
<use>admin</use>
<args>
<module>Project_Embeds</module>
<frontName>project</frontName>
</args>
</thisprojectname>
</routers>
<!-- default admin design package and theme -->
<design>
<package>
<name>base</name>
</package>
<theme>
<default>default</default>
</theme>
</design>
</admin>
<adminhtml>
<menu>
<embeds translate="title" module="embeds">
<title>Project</title>
<sort_order>9999</sort_order>
<children>
<projectbanner module="embeds">
<title>Edit Coupon</title>
<sort_order>1</sort_order>
<action>embeds/adminhtml_banner</action>
</projectbanner>
</children>
</embeds>
</menu>
<layout>
<updates handle="index_settings">
<embeds>
<file>projectEmbeds.xml</file>
</embeds>
</updates>
</layout>
</config>