2014-03-05 70 views
0

東西在Magento有一個從產品的顯示信息的默認選項卡屬性的附加信息。Magento的 - 更多的信息選項卡 - 更換無其他與

目前,它顯示出來,例如這樣:

Brands Brandname 
Serie Seriename 
Designer Mr Designer 
Delivery time No 
Finishing No 
Height 227 mm. 
Width - 
Depth - 
Projection 212,5 mm. 
Download Manual - 
Download Technical Specifications No 

我的問題是,如果有一個配置,或者,如果我可以編輯代碼,以便它顯示像這樣一個破折號「 - 」,而不是無所見在上面的例子中,當它找不到值?

寬度和深度似乎顯示破折號但交貨時間和完成例如沒有。寬度/深度與交貨時間/精加工之間的差異在於寬度/深度是文本字段,交付/完成是下拉式。

+0

是的它是產品屬性和交付/完成是下拉式 – shivam

+0

http://go.magento.com/support/kb/entry/name/configurable-product-step-1-create-dropdown-attributes/ – shivam

+0

http ://www.templatemonster.com/help/magento-how-to-create-an-attribute-and-apply-it-to-products.html – shivam

回答

0

影響此顯示行爲在Magento的代碼是

//file: app/code/core/Mage/Catalog/Block/Product/View/Attributes.php 
//class:Mage_Catalog_Block_Product_View_Attributes 
public function getAdditionalData(array $excludeAttr = array()) 
//... 
if (!$product->hasData($attribute->getAttributeCode())) { 
    $value = Mage::helper('catalog')->__('N/A'); 
} elseif ((string)$value == '') { 
    $value = Mage::helper('catalog')->__('No'); 
} elseif ($attribute->getFrontendInput() == 'price' && is_string($value)) { 
    $value = Mage::app()->getStore()->convertPrice($value, true); 
} 
//... 

我們可以從這段代碼中的任何屬性數據計算結果爲false==''將分別得到了$value'N/A''No'看到。

它確實提出了重要的問題:當寬度和高度設置爲$value='-'

我認爲最簡單的方法來改變'No''-'是使用德Magento管理區域中加一滴'-'作爲屬性選項下每個屬性,並告訴您的數據輸入操作員使用,而不是空白的。 從Shivam上面的鏈接將幫助你做到這一點,如果你不知道怎麼辦。

如果你想,然後編寫一個解決方案,我建議要麼:

一)找出原因寬度和深度'-'而不是'0''No''N/A',因爲如果你已經有代碼改變'0''''-'然後就是也改變'No''-'

或 b)加入或創建自己的模塊,它擴展了Mage_Catalog_Block_Product_View_Attributes類,並覆蓋的地方210

或 C)哈克的PHTML文件app/design/frontend/base/default/template/catalog/product/view/attributes.phtml用字符串'>-<'(小心,搜索字符串是唯一替換字符串'>No<'並通過文件複製到app/design/frontend/yourtheme/default/template/catalog/product/view/attributes.phtml你攻擊它之前,包括$_helper->productAttribute($_product, $_data['value'], $_data['code'])str_replace()

我的意思是:

文件app/design/frontend/yourtheme/default/template/catalog/product/view/attributes.phtml

在更換線

<td class="data"><?php echo $_helper->productAttribute($_product, $_data['value'], $_data['code']) ?></td> 

與線

<td class="data"><?php echo str_replace('>No<','>-<',$_helper->productAttribute($_product, $_data['value'], $_data['code'])) ?></td> 

但這不是嚴格的溶液。

相關問題