我目前正在修改Magento前端可打印订单页面(客户在查看订单时可以打印的页面并单击“打印订单”),特别是项目表。我从表中删除了一列(“产品名称”),现在表格被搞砸了,因为总行标签跨越了一定数量的列(4)。我找到了处理订单总计的特定模板:
/app/design/frontend/base/default/template/sales/order/totals.phtml
我以为我可以将该文件复制到我的模板目录,然后将colspan属性值从4更改为3.但是class和colspan属性应该是对$ this-&gt的调用; getLabelProperties()。 getLabelProperties返回'class =“a-right”colspan =“4”'。我已经跟踪过了,发现getLabelProperties是在/lib/Varien/Object.php中调用getData('label_properties')的魔法getter之一。
我可能遗漏了一些令人尴尬的东西,但我无法分辨出'label_properties'的值是在哪里设置或存储的。当我使用xdebug和Notepad ++逐步完成代码时,我看到所有内容都是从调用的方法中获取getData键,它将该键传递给getData,然后传递到/lib/Varien/Object.php的第285行。 :
return $this->_data[$key];
...然后神奇的是'class =“a-right”colspan =“4”'填充了$ data变量以返回到模板。我在调试var列表中没有看到$ this-> _data数组,因此如何使用该键从中检索数据。如果它存在(我知道它必须),那么首先填充$ this-> _data数组的是什么。我知道这不是魔术,所以我确定我错过了某个地方。有人可以开导我吗?把我推向正确的方向?
答案 0 :(得分:5)
您可以更新布局文件中colspan的值:
app/design/frontend/base/default/layout/sales.xml
只需复制自定义主题中的sales.xml并搜索“setLabelProperties”。
如果您需要进一步解释,请与我们联系。