4

我一生都无法弄清楚这一点。我想在 Magento 的单页结账时立即显示订单审核步骤(处理订单前的最后一步)。有什么建议么?谢谢大家。

4

1 回答 1

3

如果你查看 onepage.phtml 的底部,你会看到

<?php if($this->getActiveStep()): ?>
   accordion.openSection('opc-<?php echo $this->getActiveStep() ?>');
<?php endif; ?>

which 调用Mage_Checkout_Block_Onepage::getActiveStep()以确定首先显示哪个步骤。您可以通过在主题中创建自己的 onepage.phtml 并将上面的块更改为:

   accordion.openSection('opc-review');

但是,openSection 函数仅在本例中的目标元素('opc-review')具有“允许”类时执行,该类由 Magento 的 AJAX 设置,一旦完成先前的结帐步骤。您可以使用原型手动添加“允许”类,但是一旦您获得要显示的步骤,您会看到它是空的,因为 AJAX 没有根据前面的步骤填充内容,因为前面的步骤没有还没有发生!

所以...您可以基于 Cart.php 创建一个新块,然后使用$this->getChildHtml('block-id')布局 xml 将其插入到 onepage.phtml 中。您需要将它插入到ol#checkoutStepsasli#opc-summary.section allow或类似的东西中,并使上面的 js 更改为accordion.openSection('opc-summary');

这是我目前能为你做的最好的事情。HTH, 法学博士

于 2010-10-18T05:53:51.453 回答