参照before_body_endは機能しません-after_body_startは機能しますか?


8

私は私のモジョを失ったと思い始めています...

両方のブロックは、名前付きbefore_body_endafter_body_startタイプのものですcore/text_list。ただし、次のレイアウトxml:

<layout>
    <default>
        <reference name="before_body_end">
            <block type="remarketing/ecjs" name="remarketing_ecjs" as="remarketing_ecjs" />
            <block type="remarketing/modal" name="remarketing_modal" as="remarketing_modal" />
        </reference>
    </default>
</layout>

参照の子ブロックを出力しません。before_body_endをに交換するafter_body_startと、ブロックは期待どおりにレンダリングされます

両方の子ブロックはMage_Core_Block_Textから拡張されます。

何かアイデアはありますか?金曜日のオーシスだと思います...

回答:


23

これは愚かに聞こえるかもしれませんが、とにかく質問します。テーマのメインテンプレートファイル(1column.phtmlなど)が機能していることを再確認しましたecho $this->getChildHtml('before_body_end')か?

バニラCE 1.7.0.2では、このコード

<?xml version="1.0"?>
<layout version="0.1.0">
    <default>
        <reference name="after_body_start">
            <block type="core/template" name="test1" template="test.phtml" />
        </reference>
        <reference name="before_body_end">
            <block type="core/template" name="test2" template="test.phtml" />
        </reference>
        <reference name="content">
            <block type="core/template" name="test3" template="test.phtml" />
        </reference>
    </default>
</layout>

テストブロックを3回出力します。

それが私の頭の上からではあるafter_body_startが現れない理由before_body_end

  1. 使用されているメインの.phtmlファイルにブロックがエコーされません。
  2. 一部のコードbefore_body_endは、ページの構築中に設定を解除します。
  3. 一部のコードbefore_body_endは、ページの作成中にの子の設定を解除します。

変更されているpage.xml(ブロックが宣言されていない)か、キャッシュの問題は、それがあなたである場合は除外できると思います。;-)


1
残念ながら私はそれらすべてをチェックしました。echo $this->getChildHtml('before_body_end')存在します... page.xmlは変更されません。掘り続けます。これは私を倒すことを拒否します!:)
philwinkle

2
最後の答えは、変更されたenterprise / default / layout / page.xmlファイルで、名前はに変更さbefore_body_endれましたclosure。それは金曜日であり、何らかの理由で私はエンタープライズ/デフォルトについて考えませんでした-私の記憶をジョギングしてくれてありがとう!
philwinkle 2013年

1
@Matthias Zeis私は「after_body_start」を使用しており、現在は機能しています。ありがとう
Sarfaraj Sipai
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.