这里的解决方案是
- 更正 onepage.phtml 中的两个错误类引用,以及
- 重命名一些 css 类以匹配股票 magento 结帐代码所需的内容。
所需的特定 css 类是:
以下是更正后的 onepage.html 文件的摘录:
<ol id="checkoutSteps" class="one-page-checkout">`<?php $i=0; foreach($this->getSteps() as $_stepId => $_stepInfo): ?>
<?php if (!$this->getChild($_stepId) || !$this->getChild($_stepId)->isShow()): continue; endif; $i++ ?>
<li id="opc-<?php echo $_stepId ?>" class="section <?php echo !empty($_stepInfo['allow'])?'allow':'' ?> <?php echo !empty($_stepInfo['complete'])?'saved':'' ?>">
<div class="step-title">
<h3><span class="step-count"><?php echo $i ?></span> <?php echo $_stepInfo['label'] ?></h3><a href="#"><?php echo $this->__('Edit') ?></a>
</div>
<div id="checkout-step-<?php echo $_stepId ?>" class="step <?php if($_stepId=='shipping_method'): ?>-no-padding<?php endif; ?> a-item" style="display:none;">
<?php echo $this->getChildHtml($_stepId) ?>
</div>
</li>
<?php endforeach ?>
</ol>
这是一个将我现有的 css 类之一复制到新必需的类之一的示例(来自文件 boxes.css):
.one-page-checkout .box { border:1px solid #bbb6a5; border-top:0; padding:15px 20px; background:#faf7ee; }
.one-page-checkout .step { border:1px solid #bbb6a5; border-top:0; padding:15px 20px; background:#faf7ee; }
我称这个为“盒子”,但就 Magento 而言,它需要是“步骤”。由于您的 css 类可能有所不同,因此您需要复制
我希望这可以帮助别人。
顺便说一句,我是这样想的:
- 观察我的主题的问题
- 使用股票主题进行测试:确认有效
- 回到我的主题,并有选择地禁用文件以确定哪些文件有所作为,
- 将其缩小到一个文件:onepage.phtml,仔细检查,与股票进行比较
- 找到我的主题没有的 css 类名
- 添加它们,调试
这是漫长而乏味的,但它似乎有效。