Тема: Прикреплённые товары к статье

Здравствуйте. Эта опция уже давненько в форме добавления статьи. Только вот не понятно как они выводятся. Объясните пожалуйста

Повысить оценку Понизить оценку

2

Re: Прикреплённые товары к статье

Данная функциональность пока присутствует как техническая возможность для разработчиков и позже будет подцеплена в стандартных шаблонах.

Чтобы получить массив привязанных товаров в шаблоне статьи, можно воспользоваться конструкцией:

{foreach $article->getAttachedProducts() as $product}

//$product - объект товара \Catalog\Model\Orm\Product

{/foreach}

Повысить оценку Понизить оценку

3 Отредактировано Владимир 1916 (17.02.2017 02:55:48)

Re: Прикреплённые товары к статье

Вставляю так

<div class="tab">
 
    <div class="scrollBlock">
            <ul class="scrollItems products">
{foreach $article->getAttachedProducts() as $product}

{include file="%catalog%/one_product.tpl" product=$product}
 
{/foreach}
            </ul>
      
    </div>
</div>

Почему-то нет Корзины.

Что нужно добавить, чтобы она появилась?

Вот весь код файла \templates\perfume\moduleview\article\view_article.tpl

<article>
    <p class="date">{$article.dateof|dateformat:"@date @time"}</p>
    <h1>{$article.title}</h1>
    
    {if !empty($article.image)}
    <img class="mainImage" src="{$article.__image->getUrl(700, 304, 'xy')}" alt="{$article.title}"/>
    {/if}
    {$article.content}
</article>
{moduleinsert name="\Photo\Controller\Block\PhotoList" type="article" route_id_param="article_id"}
<div class="tab">
 
    <div class="scrollBlock">
            <ul class="scrollItems products">
{foreach $article->getAttachedProducts() as $product}

{include file="%catalog%/one_product.tpl" product=$product}
 
{/foreach}
            </ul>
      
    </div>
</div>

Повысить оценку Понизить оценку

Re: Прикреплённые товары к статье

А что у Вас в one_product.tpl находится? Дайте листинг

Re: Прикреплённые товары к статье

{$check_quantity=$shop_config->check_quantity}
{$imagelist=$product->getImages(false)}
<li {$product->getDebugAttributes()} data-id="{$product.id}" {if count($imagelist)>1}class="photoView"{/if}>
    <div class="hoverLayer">
        <div class="gallery{if count($imagelist)>3} scrollable{/if}">
            <a class="control up"></a>
            <a class="control down"></a>
            <div class="scrollBox">
                <ul class="items">
                    {foreach $imagelist as $n=>$image}
                    <li data-change-preview="{$image->getUrl(226,236)}" {if $image@first}class="act"{/if}><a href="{$product->getUrl()}#photo-{$n}" class="imgWrap"><img src="{$image->getUrl(56, 56)}" alt="{$image.title}"/></a></li>
                    {/foreach}
                </ul>
            </div>
        </div>
        <div class="underMain">
            {hook name="catalog-list_products:blockview-buttons" title="{t}Просмотр категории продукции:кнопки, блочный вид{/t}"}
                {if $shop_config}
                    {if $product->shouldReserve()}
                        <a data-href="{$router->getUrl('shop-front-reservation', ["product_id" => $product.id])}" class="inDialog reserve">Заказать</a>
                    {else}        
                        {if $check_quantity && $product.num<1}
                            <span class="unobtainable">Нет в наличии</span>
                        {else}
                            {if $product->isOffersUse() || $product->isMultiOffersUse()}
                                <span data-href="{$router->getUrl('shop-front-multioffers', ["product_id" => $product.id])}" class="cartButton showMultiOffers inDialog noShowCart">В корзину</span>
                            {else}
                                <a data-href="{$router->getUrl('shop-front-cartpage', ["add" => $product.id])}" class="cartButton addToCart noShowCart" data-add-text="Добавлено">В корзину</a>
                            {/if}                        
                        {/if}
                        
                    {/if}
                {/if}
                {if $THEME_SETTINGS.enable_compare}
                    <a class="compare{if $product->inCompareList()} inCompare{/if}" data-title="{t}К сравнению{/t}" data-already-title="{t}В сравнении{/t}"><span></span><span class="already"></span></a>
                {/if}
                {if $THEME_SETTINGS.enable_favorite}
                    <a class="favorite inline{if $product->inFavorite()} inFavorite{/if}" data-title="{t}В избранное{/t}" data-already-title="{t}В избранном{/t}"><span></span><span class="already"></span></a>
                {/if}
            {/hook}
        </div>
    </div>
    <div class="mainLayer">
        {$main_image=$product->getMainImage()}
        <a href="{$product->getUrl()}" class="image"><span class="markers">{if $product->inDir('new')}<img src="{$THEME_IMG}/newest.png" alt=""/>{/if}</span>
        <img src="{$main_image->getUrl(226, 236)}" class="middlePreview" alt="{$main_image.title|default:"{$product.title}"}"/></a>
        {hook name="catalog-list_products:blockview-title" title="{t}Просмотр категории продукции:название товара, блочный вид{/t}"}
            <a href="{$product->getUrl()}" class="title">{$product.title}</a>
        {/hook}
        {*<p class="price">{$product->getCost()} {$product->getCurrency()}</p> старый вывод цены*}
        
        {$cost=$product->getCost(null, null, false)}
        {$oldcost=$product->getCost('Зачеркнутая цена', null, false)} {* Получим цену без фоматирования *}
        {*  {if $oldcost>$cost}<p><span class="lastPriceBlock">{$oldcost|format_price} {$product->getCurrency()}</span></p> *}
                    <p class="price">{$cost|format_price} {$product->getCurrency()}</p>
            
                    
                                        
                    
                      {$delta=$oldcost-$cost}{* Посчитаем разницу *}
{* Выведем разницу форматированную используя наш плагин format_price *}
      
                {*    <div class="blockPriceBlock">
                 <p class="lastPriceBlock">{if $oldcost>$cost}{$oldcost|format_price} {$product->getCurrency()}</p>
        <p class="deltaPriceBlock">Экономия {$delta|format_price}{$product->getCurrency()}</p> 
            
           {/if}
        </div> *}
    
        {* убрать рейтинг *}
     {*   <div class="starsLine">
            <span class="stars" title="рейтинг: {$product->getRatingBall()}"><i style="width:{$product->getRatingPercent()}%"></i></span>
            <a href="{$product->getUrl()}#comments" class="comments">{$product->getCommentsNum()}</a>
        </div>      *}  
    </div>
</li>

Повысить оценку Понизить оценку

6 Отредактировано Закусило Александр (17.02.2017 13:20:06)

Re: Прикреплённые товары к статье

НУ судя по листингу, корзина или кнопка заказать у Вас не показывается, потому, что переменная  $shop_config отсутствует. Если у Вас версия маркет и выше, то эту проверку можно убрать.

Re: Прикреплённые товары к статье

Да, понял. Просто в шаблоне убираю проверку     {if $shop_config}  тогда работает. Спасибо.

Повысить оценку Понизить оценку

Re: Прикреплённые товары к статье

Не за что.