为magento编写这段php的更有效方法

时间:2013-06-01 06:50:37

标签: php magento

我正在尝试创建一个基本表,其中表格数据是从magento商店中提取的。我编写了以下代码,但是...因为我只了解非常基本的PHP而且我很好奇什么是更清晰,更有效的方式来写这个:

<table id="prodStructureTable"> 
<?php 
    $ProdMBrandName = $_product->getAttributeText('manufacturer'); 
    $ProdModel = $_product->getModel();
    $ProdSku = $_product->getSku();
    $ProdMpn = $_product->getMpn();
    $ProdUpc = $_product->getUpc();

if (isset($ProdMBrandName))
{
    echo '<tr> <td>'. $_product->getResource()->getAttribute('manufacturer')->getFrontendLabel() . ':</td><td>&nbsp;'. $ProdMBrandName . '</td></tr>';
} else {
    echo "";
}

if (isset($ProdModel))
{
    echo '<tr> <td>'. $_product->getResource()->getAttribute('model')->getFrontendLabel() . ':</td><td>&nbsp;'. $ProdModel . '</td></tr>';
} else {
    echo "";
}

if (isset($ProdSku))
{
    echo '<tr> <td>'. $_product->getResource()->getAttribute('sku')->getFrontendLabel() . ':</td><td>&nbsp;'. $ProdSku . '</td></tr>';
} else {
    echo "";
}

if (isset($ProdMpn))
{
    echo '<tr> <td>'. $_product->getResource()->getAttribute('mpn')->getFrontendLabel() . ':</td><td>&nbsp;'. $ProdMpn . '</td></tr>';
} else {
    echo "";
}
    if (isset($ProdUpc))
{
    echo '<tr> <td>'. $_product->getResource()->getAttribute('upc')->getFrontendLabel() . ':</td><td>&nbsp;'. $ProdUpc . '</td></tr>';
} else {
    echo "";
}
 ?>

1 个答案:

答案 0 :(得分:0)

也许是这样的:

<table id="prodStructureTable"> 
<?php 
    $table_rows = array(
        'manufacturer' => $_product->getAttributeText('manufacturer'),
        'model' => $_product->getModel(),
        'sku' => $_product->getSku(),
        'mpn' => $_product->getMpn(),
        'upc' => $_product->getUpc(),
    );
    foreach ($table_rows as $attribute => $value)
        if (isset($value))
            echo '<tr> <td>'. $_product->getResource()->getAttribute($attribute)->getFrontendLabel() . ':</td><td>&nbsp;'. $value . '</td></tr>';