Magento:如何在产品页面的右栏正确移动自定义简单产品选项



我迫切希望将简单产品(只有简单产品)的自定义选项(类型:单选输入)移到右栏。

现在,它们似乎显示在一个名为"container2"的容器中,该容器位于页面底部,在view.phtml中调用如下:

<div class="clearer"></div>
<?php if ($_product->isSaleable() && $this->hasOptions()):?>
<?php echo $this->getChildChildHtml('container2', '', true, true) ?>
<?php endif;?>

Container2也在内容块内的布局文件catalog.xml中。

所以我所做的只是简单地将选项包装器从referencename="content"块移动到一个新块:referencename="right"。

由于某种原因,这里的代码格式明显不好,而且还缺少一些位,所以我把它粘贴在这里:http://pastebin.com/nhCUXcF4

基本上,我可以在右栏中看到我的选项,但当我点击它时,就像没有检查无线电输入一样,因为它要求再次选择一个选项(它们是必需的)

如果我把选项留在内容块中,在容器2的底部,它们可以很好地工作,就像我点击了一个一样,它是正确检查的。如果我没有选中任何,并单击添加到购物车,它会要求选择一个必需的选项。

我认为问题来自于容器1,容器2的事情,我真的不理解。我还在目录XML中看到它们是类似的代码

<block type="core/template_facade" name="product.info.container2" as="container2">
<action method="setDataByKey"><key>alias_in_layout</key><value>container2</value>    </action>
<action method="setDataByKeyFromRegistry"><key>options_container</key
<key_in_registry>product</key_in_registry></action>
<action method="append"><block>product.info.options.wrapper</block></action>
<action method="append"><block>product.info.options.wrapper.bottom</block></action>
</block>

因此,基本上我的问题是如何正确地将所需的选项从view.phtml(产品页面)的内容移动到右列?如有任何帮助,我们将不胜感激。谢谢

有一种更简单的方法。

不要使用3列或2列右侧布局,而是使用1列布局,然后将右侧列添加到产品视图模板文件中,如下所示:

<div class="col-right sidebar">
<?php if ($_product->isSaleable() && $this->hasOptions()):?>
<?php echo $this->getChildChildHtml('container2', '', true, true) ?>
<?php endif;?>
</div>

更改产品视图页面的CSS比更改周围的块要容易得多。

最新更新