0

私のプラグインプロジェクトの最終的な目標は、画像をデータベースにアップロードして(完了)、いくつかの機能を実行して(完了)、管理者がチェックアウト/カートの任意の場所に配置できるようにすることです(恐ろしいことです)。 )。

私は最初に.phtmlをこのページの任意のブロックにハードコーディングしようとしています(説明のために「checkout.cart.coupon」を使用しましょう)。私のxmlは次のようになります:

<checkout_cart_index>
    <reference name="content">
        <block type="embeds/projecttemplates" name="project.offers.embed" template="project/button.phtml" after="checkout.cart.coupon">
        </block>
    </reference>
</checkout_cart_index>

これで、私のブロックがページの最後に表示されます。後から前に変更すると、一番上に移動します。前と後の組み合わせを使用しても、ページの上部に表示されたままになります。プロトタイプに頼ることなく、私が指示した場所にとどまる方法はありますか?

4

1 に答える 1

1

「new」という名前のブロックをクーポンブロック内にレンダリングする場合、クーポンブロックはテンプレートを使用するため、2つのことを行う必要があります。

ステップ1:「新しい」ブロックを親ブロックの子にする

<reference name="checkout.cart.coupon" />

またはを使用して

parent="checkout.cart.coupon"

ブロック宣言の属性。

ステップ2:クーポンテンプレートをカスタマイズして、ブロックを次のようにレンダリングします。

<?php echo $this->getChildHtml('project.offers.embed') ?>

すべてを形而上学的に深くし、テンプレートを使用したくない場合は、次のことを行うことができます。

<checkout_cart_index>
    <reference name="content">
        <block type="core/text_list" name="coupon.and.offers" as="coupon">
            <!--
                This block will displace the existing coupon block by alias,
                but sill leave the coupon block instance in layout so it
                can be added as a child.
            -->
            <action method="insert">
                <block>checkout.cart.coupon</block>
            </action>
            <block type="embeds/projecttemplates" name="project.offers.embed" template="project/button.phtml" after="checkout.cart.coupon" />
        </block>
    </reference>
</checkout_cart_index>
于 2012-11-09T03:06:37.340 に答える