3

ブロックが表示されない理由がわかりません。どのページにも表示されないので、キャッシュをクリアしました。誰かが私が逃したものを理解するのを手伝ってもらえますか?しかし、var_dump('test')現れます!

app / design / frontend / default / default / template / justin / head.phtml

testing this block

ジャスティン/ビーバー/ブロック/Sings.php

class Justin_Bieber_Block_Sings extends Mage_Core_Block_Template
{
    protected function _construct()
    {
        parent::_construct();
        var_dump("test");
    }
}   

config.xml

<frontend>
       ...
    <layout>
        <updates>
            <bieber>
                <file>justin.xml</file>
            </bieber>
        </updates>
    </layout>
</frontend>
<global>
    <blocks>
        <bieber>
            <class>Justin_Bieber_Block</class>
        </bieber>
    </blocks>
    ...
</global>

app / design / frontend / default / default / layout / justin.xml

<?xml version="1.0"?>
<layout version="0.1.0">
    <default>
        <reference name="head">
            <block type="bieber/bieber" name="justin_bieber">
                 <action method="setTemplate">
                    <template>justin/head.phtml</template>
                </action>
            </block>
        </reference>
    </default>
</layout>
4

3 に答える 3

1


あなたのコードは私には問題ないようです。
justin.xmlについては、次のように変更してみてください。

<?xml version="1.0"?>
<layout version="0.1.0">
    <default>
        <reference name="head">
            <block type="bieber/sings" name="justin_bieber" as="justin_bieber" template="justin/head.phtml" /> 
        </reference>
    </default>
</layout>

それがうまくいくかどうか教えてください!

于 2012-07-29T05:52:06.857 に答える
1

シンボリックリンクが問題でした。ファイルがシンボリックリンクされたディレクトリにある場合、Magento はファイルを取得できません。

それをオン! Magento/Zend がシンボリック リンクを許可しない

もう 1 つの方法は、テンプレート ヒントをオンにすることです。

于 2012-07-31T01:08:58.963 に答える
1

あなたのjustin.xmlブロックタイプでは

 <block type="bieber/sings" name="justin_bieber">

この場合、「bieber」はモジュールのエイリアス名で、「sings」はクラス名です。

于 2012-07-29T01:42:02.333 に答える