请帮助...任何人
我有隐藏一些可配置属性的问题:
这些是我在后端的可配置属性:
- 形状/类型
- 砂砾和颜色
- 柄
- 物品包
- 直径
- 供应商
我的客户想在前端隐藏“制造商”属性,但想在后端导入供应商。
请查看我正在工作的网站:
http://ridental.com.au/newsite/polishers.html/
我设法通过添加一些这样的 if 语句从前端隐藏它:在app\design\frontend\default\MYTEMPLATE\template\catalog\product\view\type\options\configurable.phtml
<?php
$_product = $this->getProduct();
$_attributes = Mage::helper('core')->decorateArray($this->getAllowAttributes());
?>
<?php if ($_product->isSaleable() && count($_attributes)):?>
<dl class="outer">
<dl class="inner">
<?php foreach($_attributes as $_attribute): ?>
<?php $attCode = $_attribute->getProductAttribute()->getFrontend()->getAttribute()->getAttributeCode(); ?>
<?php if($attCode != "manufacturer"):?>
<div class="dtdd-wrapper<?php if ($_attribute->decoratedIsLast){echo " last";}?>">
<dt><label class="required"><em>*</em><?php echo $_attribute->getLabel() ?></label></dt>
<dd<?php if ($_attribute->decoratedIsLast){?> class="last"<?php }?>>
<div class="input-box">
<select name="super_attribute[<?php echo $_attribute->getAttributeId() ?>]" id="attribute<?php echo $_attribute->getAttributeId() ?>" class="required-entry super-attribute-select">
<option><?php echo $this->__('Choose an Option...') ?></option>
</select>
</div>
</dd>
</div>
<?php endif; ?>
<?php endforeach; ?>
</dl>
</dl>
<script type="text/javascript">
[b]var spConfig = new Product.Config(<?php echo $this->getJsonConfig() ?>);[/b]
</script>
制造商不会显示在前端。
但是当我单击添加到购物车按钮时,我收到了错误:
请指定产品的选项。
我注意到:
var spConfig = new Product.Config(<?php echo $this->getJsonConfig()
它仍然引用属性“供应商”并等待用户响应在下拉列表中选择制造商。
这就是我收到错误消息的原因:请指定产品的选项。
我的问题:
是否可以过滤功能getJsonConfig()
?假设不包括:
if ($attributecode != 'manufacturer'){ 做一些事情.....}
我复制了这个函数的本地版本,现在在:app\code\local\Mage\Catalog\Block\Product\View\Type\Configurable.php
请帮助...如果有人解决了这种问题。我尝试扩展getJsonConfig()
以过滤某些属性,例如“供应商”,但无济于事。
我在做正确的事吗?