-2

我正在尝试创建一个基本表,其中包含从 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 "";
}
 ?>
4

1 回答 1

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>';
于 2013-06-01T07:20:03.657 回答