Приложение PDF к продукту — атрибут с несколькими файлами

Я создал атрибут продукта с именем 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, поэтому я выбрал этот путь, поскольку никакое расширение не позволяет мне массово импортировать вложения к продуктам.

Это для спецификаций и тому подобного... у некоторых продуктов есть несколько спецификаций. Я хочу использовать один атрибут для хранения нескольких имен файлов и иметь код, который будет различать их.


person nitrous    schedule 30.10.2014    source источник


Ответы (1)


вы можете использовать логику с функцией explode и изменить условие 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; ?>

это просто логика, которую вы можете использовать в соответствии со своими мыслями.

надеюсь, что это обязательно поможет вам.

person liyakat    schedule 30.10.2014