การแก้ไขอย่างรวดเร็ว:
ในapp/[mypackage]/[mytheme]/template/catalog/product/view/attributes.phtml
(หรือคัดลอกไฟล์นี้ในธีมของคุณจากธีมพื้นฐานหรือธีมที่กำหนดเอง):
<?php foreach ($_additional as $_data):
// Add these 2 lines
$_test_data_value = trim($_data['value']);
if ((empty($_test_data_value) || in_array($_test_data_value, array(Mage::helper('catalog')->__('N/A'), Mage::helper('catalog')->__('No'))))) continue;?>
ด้านล่างไม่จำเป็นสำหรับการบรรลุสิ่งที่คุณถาม:
คุณลักษณะเหล่านั้นยังคงโหลดอยู่ ในการออปติไมซ์นี้ (ถ้าคุณมีจำนวนมากของคุณสมบัติในชุดคุณสมบัติ) ให้ทำ:
public function getAdditionalData(array $excludeAttr = array())
{
$data = array();
$product = $this->getProduct();
$attributes = $product->getAttributes();
foreach ($attributes as $attribute) {
// if ($attribute->getIsVisibleOnFront() && $attribute->getIsUserDefined() && !in_array($attribute->getAttributeCode(), $excludeAttr)) {
if ($attribute->getIsVisibleOnFront() && !in_array($attribute->getAttributeCode(), $excludeAttr)) {
// Fix:
//$value = $attribute->getFrontend()->getValue($product);
if (!$product->hasData($attribute->getAttributeCode())) {
$value = Mage::helper('catalog')->__('N/A');
}
// Fix:
elseif ((string) ($value = $attribute->getFrontend()->getValue($product)) == '') {
$value = Mage::helper('catalog')->__('No');
} elseif ($attribute->getFrontendInput() == 'price' && is_string($value)) {
$value = Mage::app()->getStore()->convertPrice($value, true);
}
if (is_string($value) && strlen($value)) {
$data[$attribute->getAttributeCode()] = array(
'label' => $attribute->getStoreLabel(),
'value' => $value,
'code' => $attribute->getAttributeCode()
);
}
}
}
return $data;
}
หมายเหตุ// Fix:
ความคิดเห็นทั้งสอง
Mage_Catalog_Block_Product_View_Attributes
ฟังก์ชั่นนี้มีการปรับเปลี่ยนจาก คุณต้องคัดลอกฟังก์ชั่นด้านบนในคลาสบล็อกของคุณจากโมดูลของคุณ คลาสบล็อกของคุณเขียนคลาสบล็อกหลักอีกครั้ง การใช้สิ่งนี้จะช่วยปรับปรุงการโหลดหน้าการดูสินค้ามากขึ้นในส่วนหน้า
หากคุณไม่ทราบวิธีการสร้างโมดูลที่กำหนดเองในท้องถิ่น dir กว่าค้นหาการสอนเกี่ยวกับวิธีการสร้างโมดูลวีโอไอพีและวิธีการเขียนคลาสบล็อกหลัก หรือลองhttp://www.magentocommerce.com/magento-connect/ultimate-module-creator.html