Posting in the Magento forums has been disabled pending the implementation of a new and improved forum solution which should better serve the community.

For new questions please post at magento.stackexchange.com, the community-run support site for the Magento community. We will be providing updates on the new forum solution soon. For questions or concerns please email community@magento.com.

Magento Forum

Как добавить Product Tags к краткому описанию в list view каталога? 
 
t_rodriguez
Sr. Member
 
Avatar
Total Posts:  229
Joined:  2009-01-14
 

Каталог мы можем показывать в двух видах: list и grid. Вопрос следующий, как добавить в list view кроме описания еще и таги данного продукта?

Я покопался по файлам. Нашел в design/frontend/your_theme/default/template/catalog/product/view.phtml кусок кода, который выводит таги непосредственно на странице отображения товара. По аналогии попытался добавить его в ответственный за вывод list / grid view design/frontend/your_theme/default/template/catalog/product/list.phtml, но это не сработало.

Пробывал различные манипуляции, но опять же ничего. Данный блок хочет работать только на странице с товаром и все.

У кого какие мысли по этому поводу? Другие же атрибуты достаточно легко выводятся…

Часть кода из design/frontend/your_theme/default/template/catalog/product/list.phtml, куда я хочу поместить теги:

<?php // List mode ?>
<div class="listing-type-list catalog-listing">
    <
ol class="goods">
    
<?php foreach ($_productCollection as $_product): ?>
        
<li class="row">
        
        
<?php // Product Image ?>
        
<div class="product-image">
            <
a href="<?php echo $_product->getProductUrl() ?>" title="<?php echo $this->htmlEscape($_product->getName()) ?>"><img src="<?php echo $this->helper('catalog/image')->init($_product, 'small_image')->resize(160, 160); ?>" width="160" height="160" alt="<?php echo $this->htmlEscape($_product->getName()) ?>" title="<?php echo $this->htmlEscape($_product->getName()) ?>" /></a>
        </
div>
        
        
<?php // Product description ?>
        
<div class="product-description">
            <
h4><a href="<?php echo $_product->getProductUrl() ?>" title="<?php echo $this->htmlEscape($_product->getName()) ?>"><?php echo $this->htmlEscape($_product->getName()) ?></a></h4>
            
<?php echo $this->getPriceHtml($_producttrue?>
            <?php 
if($_product->isSaleable()==false): ?>
            
<div class="out-of-stock"><span><?php echo $this->__('Out of stock'?></span></div>
            
<?php endif; ?>
            
<class="description"><?php echo nl2br($_product->getShortDescription()) ?></p>
            
<?php echo $this->getReviewsSummaryHtml($_product'short'?>
            
<br />
        </
div>

        
<?php // Product tag ?>
        
<div>
            ...
какой-то ÐºÐ¾Ð´ Ð´Ð»Ñ Ð²Ñ‹Ð²Ð¾Ð´Ð° Ñ‚агов...
        </
div>
        </
li>
        
<?php endforeach; ?>
    
</ol>
    <!-- 
Decorate list -->
    <
script type="text/javascript">decorateGeneric($$('.row'), ['last''odd''even']);</script>
</div>
 
Magento Community Magento Community
Magento Community
Magento Community
 
t_rodriguez
Sr. Member
 
Avatar
Total Posts:  229
Joined:  2009-01-14
 

Это хорошая традиция, сначала писать в комъюнити, а после этого быстро находить решение ) Хотя, и дурное.

Я еще вчера нашел этот пост, но код из него у меня выдал ошибку и я пропустил его мимо, в надежде найти что-то попроще.
И действительно, есть ли вариант проще?

Ок. я сделал, отталкиваясь от http://www.magentocommerce.com/boards/viewthread/50229/ следующее. Вставляем, где в моем посте выше идет «...какой-то код для вывода тагов...»:

<?php 
$model 
Mage::getModel('tag/tag');
$collection =  Mage::getModel('tag/tag')->getResourceCollection()
->
addPopularity()
->
addStatusFilter($model->getApprovedStatus())
->
addProductFilter($_product->getId())
->
addStoreFilter(Mage::app()->getStore()->getId())
->
setActiveFilter()
->
load();
?>
<h4><?php echo $this->__('Product Tags'?></h4>
<
ul class="tags-list">
        
<?php foreach( $collection as $_tag ): ?>
        
<li><a href="<?php echo $_tag->getTaggedProductsUrl() ?>"><?php echo $this->htmlEscape($_tag->getName()) ?></a></li>
        
<?php endforeach; ?>
</ul>

Решение честно говоря для такой мелочи, громоздкое. Но работает, аминь. Попробую причесать, может сокращу как-то…

Если кто знает варианты проще — пишите.

 
Magento Community Magento Community
Magento Community
Magento Community
Magento Community
Magento Community
Back to top