在结帐/购物车中的商品列表中,我声明了以下内容:
Mage::helper('checkout/cart')->group_rate_shipping_info=$group_rate['shipping_info'];
将在另一个.phtml
文件中使用。这是在../checkout/cart.phtml
该文件然后调用this-> getChildHtml(' totals'),后者又调用两个(+更多).phtml
个文件:
/frontend/base/default/template/tax/checkout/subtotal.phtml
- 它在这里工作,设置值并打印/frontend/mycompany/default/template/tax/checkout/grandtotal.phtml
- 它在这里不起作用。我有几个问题:
mycompany
文件中声明Mage :: helper(..)的路径有些不同,但我不知道显然我想避免使用全局变量...... 感谢
答案 0 :(得分:0)
有Magento注册表:
Mage::register('group_rate_shipping_info', $group_rate['shipping_info']);
确保在渲染总计之前首先注册。 Magento注册表只是当前请求的一种会话。通常,注册表在控制器中用于注册对象或变量,以便以后在调度周期中访问。例如,在目录控制器中,注册表用于存储当前产品或类别,以便以后访问其中一个块或模板:
//in controller:
Mage::register('current_product', $product);
...
//later on in block:
$_product = Mage::registry('current_product');
注意:
Mage::helper('checkout/cart')->group_rate_shipping_info = $group_rate['shipping_info'];
这不起作用,因为大多数Magento助手类没有公共属性。