影響此顯示行爲在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>
但這不是嚴格的溶液。
是的它是產品屬性和交付/完成是下拉式 – shivam
http://go.magento.com/support/kb/entry/name/configurable-product-step-1-create-dropdown-attributes/ – shivam
http ://www.templatemonster.com/help/magento-how-to-create-an-attribute-and-apply-it-to-products.html – shivam