2014-10-30 6 views
0

Я создал атрибут продукта, называемый product_downloads, я могу поместить там имя файла и оно появится на странице просмотра продукта на вкладке «Дополнительная информация» со ссылкой на имя файла. Я успешно реализовал эту идею для одной загрузки, но для некоторых продуктов у меня будет несколько загрузок ...Вложение продукта PDF - Атрибут с несколькими файлами

Как я уже сказал, у меня есть код, работающий с одной загрузкой на продукт, все, что у вас было, было небольшим количеством кода внутри приложения/дизайн/интерфейс/базы/по умолчанию/шаблон/каталог/продукта/просмотр/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, поэтому я выбрал этот маршрут, поскольку никакое расширение не позволяет мне активно импортировать вложения в продукты.

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

ответ

1

вы можете использовать логику explode функции и изменить, если состояние с моим пользовательским кодом, как показано ниже

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

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

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