0

新しいカスタムブロックを作成し、それをブロックに追加しましたbefore_body_end。ページのソースコードを見ると、カスタムブロックから何も表示されません。これをデバッグするのを手伝ってもらえますか?

私のモジュールレイアウトXMLファイル:

<layout version="0.1.0">
    <default>
        <reference name="before_body_end">
            <block type="tankchat/js_view" name="tankchat.js.view" as="tankchat" template="tankchat/js/view.phtml" />
        </reference>
    </default>
</layout>

私のクラスでは特別なことは何もありませんCompany_Tankchat_Block_Js_View。いくつかの「getData」関数だけです。

そして私のphtmlはにありapp/design/frontend/company/default/template/tankchat/js/view.phtml、そうです、それは良いパッケージやテーマなどです。

どこかに追加する必要がありecho $this->getChildHtml('tankchat')ますか?カスタムブロックがに渡されたからではないと思いますがbefore_body_end、間違っているのではないでしょうか。

どんな助けでも大歓迎です!

4

1 に答える 1

0

わかりました私は最終的に何が間違っていたのかを知りました:

frontendレイアウト ファイルの宣言を間違えました。ではなくノードで行う必要がありますglobal。:

<config>
    <frontend>
        <layout>
            <updates>
                <tankchat>
                    <file>tankchat.xml</file>
                </tankchat>
            </updates>
        </layout>
    </frontend>
</config>

ファイルはアプリによって開かれませんでした...

しかし、モジュール構成ファイルでブロックプレフィックスを宣言するのも忘れていました。

<config>
    <global>
        <blocks>
            <tankchat>
                <class>Company_Tankchat_Block</class>
            </tankchat>
        </blocks>
    </global>
</config>

ブロック クラスがオートローダーによって見つかりませんでした...

これが将来誰かを助けることを願っています...

于 2012-11-21T15:56:59.347 に答える