【发布时间】:2010-09-10 14:01:35
【问题描述】:
我们的 magento 商店几乎完工了,但出现了一个烦人的问题。
在一页结帐时,其中一个步骤丢失了! “运输”选项卡尽管存在于 Mage_Checkout_Block_Onepage->getSteps() 方法内的值数组中,但不会显示。我们已经尽一切努力找出问题所在,但由于某种原因,它只是拒绝显示,并且不存在于 HTML 中 - 所以我确定这是服务器端问题,而不是缺少 ID页面,或 javascript 问题。
class Mage_Checkout_Block_Onepage extends Mage_Checkout_Block_Onepage_Abstract
{
public function getSteps()
{
$steps = array();
if (!$this->isCustomerLoggedIn()) {
$steps['login'] = $this->getCheckout()->getStepData('login');
}
$stepCodes = array('billing', 'shipping', 'shipping_method', 'payment', 'review');
foreach ($stepCodes as $step) {
$steps[$step] = $this->getCheckout()->getStepData($step);
}
return $steps;
}
// etc etc
}
(来自 /app/code/core/Mage/Checkout/Block/Onepage.php)
除了皮肤和本地内部的一些非常轻量级的自定义代码之外,代码根本没有定制......这让我们有点疯狂!有任何想法吗?它一直在工作,直到最近.. 我们已经尝试通过新的 magento 设置重新安装我们的代码,但仍然..
e:完成“账单信息”选项卡时页面上出现 javascript 错误,但似乎是因为 Magento 未正确加载代码。错误是:
Error: $("shipping:same_as_billing") is null
基本上页面中没有ID,这与正在发生的事情相吻合。
ee:表单元素不存在。与没有这个问题的旧版本项目相比(遗憾的是几周的开发...... =),这个输入被加载到不显示/加载..或任何东西的选项卡内。
eee:我对此仍有疑问。
【问题讨论】:
-
我无法在 Magento 一页结账中获得第 5 步,但它使用的是默认主题。问题是 checkout.xml,我在那里删除了那个步骤,浪费了几个小时来查找和恢复......