仍然自定义模板显示在清空车上

时间:2014-04-16 10:49:02

标签: magento magento-1.7

我需要覆盖购物车页面以开发扩展程序。一切正常,但当我清空我的购物车时,它仍然显示自定义模板文件。它没有显示空的购物车页面。

这是我的module.xml

<?xml version="1.0"?>
<layout version="1.0.0">
    <checkout_cart_index translate="label">
        <label>Shopping Cart</label>
        <remove name="right"/>
        <remove name="left"/>
        <reference name="root">
            <action method="setTemplate"><template>page/1column.phtml</template></action>
        </reference>
    <reference name="content">
        <reference name="checkout.cart">
            <action method="setTemplate"><value>module/checkout/cart.phtml</value></action>
             <action method="setEmptyTemplate"><value>module/checkout/cart/noItems.phtml</value></action>
              <block type="module/list" name="module_list" template="module/checkout/list.phtml">
                <action method="setColumnCount">
                    <columns>4</columns></action>
            </block>
        </reference>
    </reference>
    </checkout_cart_index>
</layout>

如果我从&#34; setTemplate&#34;更改了cart.phtml的动作方法。 to&#34; setCartTemplate&#34;然后它不显示自定义模板。它显示默认文件夹中的模板(现在我正在基础文件夹中工作)。这是我将购物车页面清空时的屏幕截图。对此有任何想法。

enter image description here

2 个答案:

答案 0 :(得分:0)

XML看起来正确。也许如果您的模板文件中存在PHP错误,Magento将回退到基本的phtml文件。所以也许快速检查错误日志或将你的noItems.phtml更改为简单的测试它,例如

<?php echo("my template is here"); ?>

我注意到文件名noItems.phtml是不寻常的,因为资本&#39;我&#39;在项目中,只需仔细检查您的文件是否完全被称为&#39; noItems.phtml&#39; ; - )

***编辑以下评论。

很难调试文件未被使用的原因。我会将一些echo或logging语句放入:

//file: app/code/core/Mage/Checkout/Block/Cart.php
//class: Mage_Checkout_Block_Cart
//function: chooseTemplate()
    public function chooseTemplate()
    {
        $itemsCount = $this->getItemsCount() ? $this->getItemsCount() : $this->getQuote()->getItemsCount();
        if ($itemsCount) {
            $this->setTemplate($this->getCartTemplate());
        } else {
            $this->setTemplate($this->getEmptyTemplate());
        }
    }

您是否打开了系统配置中的模板提示?它可能有助于暴露块或模板。

答案 1 :(得分:0)

<reference name="checkout.cart">
    <action method="setCartTemplate"><value>module/checkout/cart.phtml</value></action>
    <action method="setEmptyTemplate"><value>module/checkout/cart/noItems.phtml</value></action>
    <action method="chooseTemplate"/> <== ADD THIS
</reference>