0

私は 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>
4

1 に答える 1

1

使用するテーマに projectEmbeds.xml ファイルを追加してみてください。つまり、デフォルトだと思います

だから追加

 /app/design/frontend/default/default/layout/

内部のブロックを呼び出します

<default></default>

それが役立つかどうか教えてください..

于 2012-11-21T11:19:59.797 に答える