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


A more efficient way to write this snippet of php for 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 "";
}
 ?>

可以这样写:

<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>';