Php 产品PDF附件-具有多个文件的属性

Php 产品PDF附件-具有多个文件的属性,php,magento,magento-1.9,Php,Magento,Magento 1.9,我已经创建了一个名为product_downloads的产品属性,我可以在那里放置一个文件名,它会出现在产品视图页面的“附加信息”选项卡中,并带有指向文件名的链接。我已经成功地实现了一次下载的想法,但对于一些产品,我将有多个下载 正如我所说,我的代码是针对每个产品进行一次下载的,只需要app/design/frontend/base/default/template/catalog/product/view/attributes.phtml中的少量代码 原代码为: <?php foreac

我已经创建了一个名为product_downloads的产品属性,我可以在那里放置一个文件名,它会出现在产品视图页面的“附加信息”选项卡中,并带有指向文件名的链接。我已经成功地实现了一次下载的想法,但对于一些产品,我将有多个下载

正如我所说,我的代码是针对每个产品进行一次下载的,只需要app/design/frontend/base/default/template/catalog/product/view/attributes.phtml中的少量代码

原代码为:

<?php foreach ($_additional as $_data): ?>
    <tr>
        <th class="label"><?php echo $this->escapeHtml($this->__($_data['label'])) ?></th>
        <td class="data"><?php echo $_helper->productAttribute($_product, $_data['value'], $_data['code']) ?></td>
    </tr>
<?php endforeach; ?>

这是我用以下代码替换的代码:

<?php foreach ($_additional as $_data): ?>
<?php if ((string)$_data['value'] != '' and $_data['value'] != 'N/A'): ?>   <!-- IF NOTHING DO NOTHING-->
<tr>
        <th class="label"><?php echo $this->htmlEscape($this->__($_data['label'])) ?></th>
        <?php if ($_data['code'] == 'product_download'): ?>
        <td>
                    <a href="<?php echo Mage::getBaseUrl('web',true). "media/downloads/{$_product->getProductDownload()}";?>">Product PDF</a>
        </td>
        <?php else: ?>          
                <?php echo $_helper->productAttribute($_product, $_data['value'], $_data['code']) ?>
        <?php endif; ?>
    </tr>
<?php endif; ?>
<?php endforeach; ?>

然而,这是完美的。。。我现在需要的是查看product_download的价值,如果它有逗号(或者其他分隔符,如果这会干扰csv格式),请创建两个指向两个单独文件的单独链接

需要注意的一件大事。。。我非常依赖MAGMI,这就是为什么我选择这条路线,因为没有扩展允许我大量导入产品附件

这是用于规格表之类的。。。有些产品有多个规格表。我想使用一个属性来存储多个文件名,并使用代码区分这两个文件名。

您可以使用逻辑函数,并使用我的自定义代码更改您的if条件,如下所示

<?php if ($_data['code'] == 'product_download'): ?>
<?php
$product_downloads = explode(",",$_product->getProductDownload());

foreach($product_downloads as $download):
?>
        <td>
                    <a href="<?php echo Mage::getBaseUrl('web',true). "media/downloads/{$download}";?>">Product PDF</a>
        </td>
<?php endforeach; ?>
        <?php else: ?>          
                <?php echo $_helper->productAttribute($_product, $_data['value'], $_data['code']) ?>
        <?php endif; ?>

这正是你可以根据自己的想法使用的逻辑

希望这一定会对你有所帮助