2012-12-19 51 views
2

請幫助...任何人隱藏在前端部分配置屬性 - Magento的

我有隱藏一些配置屬性的一個問題:

這些都是我在後端配置屬性:

  • 形狀/類型
  • 砂&顏色
  • 個項目打包
  • 直徑
  • 供應商

我的客戶希望隱藏前端 「製造商」屬性,但要在後端導入供應商。

請參閱網站我的工作:

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> 

製造商將不會顯示在前端。

但是當我點擊加入購物車按鈕,我得到了錯誤:

請指定產品的選擇(S)。

我注意到:

var spConfig = new Product.Config(<?php echo $this->getJsonConfig()

它仍然是參照屬性「供應商」,並等待用戶響應下拉選擇製造商了。

這就是爲什麼我得到錯誤:請指定產品的選項。

我的問題:

是否可以過濾功能getJsonConfig()? 讓的說還不包括:

如果($ attributecode =「製造商」!){ 做一些東西..... }

我複製此功能的本地版本,而現在發現: app\code\local\Mage\Catalog\Block\Product\View\Type\Configurable.php

請幫助...如果有人完成這種問題。 我試圖擴展getJsonConfig()來過濾一些屬性,如「供應商」,但無濟於事。

我做對了嗎?

+0

你爲什麼要這樣做?可配置屬性的思想是讓用戶選擇這個選項。如果不顯示,系統將如何知道使用哪個製造商變體?如果你可以解釋你爲什麼想要這樣做以及你想達到什麼,我可能會幫助你。 – Andrew

回答

1

根據您所描述的,您應該重新制作可配置產品而不使用「供應商」屬性。

當您製作可配置產品時,允許使用複選框標記屬性的第一個屏幕旨在定義可配置產品將是的過濾,屬性仍將附加到產品信息。