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>

有了这个,我的块就出现在页面的末尾。将之后更改为之前只是将其一直转移到顶部。使用 before 和 after 的组合仍将其保留在页面顶部。有没有办法让它留在我告诉它的地方而不必求助于原型?

4

1 回答 1

1

如果您想要一个名为“new”的块在优惠券块内呈现,您必须做两件事,因为优惠券块使用模板。

第 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 回答