Ответить Новая тема Новый опрос 
 Отображение "Аксессуары товара" списком (list)
bragoda
Новичок
Сообщений: 7
Регистрация: 28-03-2015


07-04-2015 00:05
Подскажите как сделать, чтобы аксессуары товара в карточке товара отображались не сеткой(grid) как по-умолчанию, а списком(list) .

Поиск по форуму находит только подобные вопросы. Гугл по западным сайтам находит реализовавших это, но без подробных инструкций.

Основной код, который выводит аксессуары находится в product.tpl
Цитата:
{if isset($accessories) && $accessories}
<!--Accessories -->
<section class="page-product-box">
<h3 class="page-product-heading">{l s='Accessories'}</h3>
<div class="block products_block accessories-block clearfix">
<div class="block_content">
<ul id="bxslider" class="bxslider clearfix">
{foreach from=$accessories item=accessory name=accessories_list}
{if ($accessory.allow_oosp || $accessory.quantity_all_versions > 0 || $accessory.quantity > 0) && $accessory.available_for_order && !isset($restricted_country_mode)}
{assign var='accessoryLink' value=$link->getProductLink($accessory.id_product, $accessory.link_rewrite, $accessory.category)}
<li class="item product-box ajax_block_product{if $smarty.foreach.accessories_list.first} first_item{elseif $smarty.foreach.accessories_list.last} last_item{else} item{/if} product_accessories_description">
<div class="product_desc">
<a href="{$accessoryLink|escape:'html':'UTF-8'}" title="{$accessory.legend|escape:'html':'UTF-8'}" class="product-image product_image">
<img class="lazyOwl" src="{$link->getImageLink($accessory.link_rewrite, $accessory.id_image, 'home_default')|escape:'html':'UTF-8'}" alt="{$accessory.legend|escape:'html':'UTF-8'}" width="{$homeSize.width}" height="{$homeSize.height}"/>
</a>
<div class="block_description">
<a href="{$accessoryLink|escape:'html':'UTF-8'}" title="{l s='More'}" class="product_description">
{$accessory.description_short|strip_tags|truncate:25:'...'}
</a>
</div>
</div>
<div class="s_title_block">
<h5 class="product-name">
<a href="{$accessoryLink|escape:'html':'UTF-8'}">
{$accessory.name|truncate:20:'...':true|escape:'html':'UTF-8'}
</a>
</h5>
{if $accessory.show_price && !isset($restricted_country_mode) && !$PS_CATALOG_MODE}
<span class="price">
{if $priceDisplay != 1}
{displayWtPrice p=$accessory.price}{else}{displayWtPrice p=$accessory.price_tax_exc}
{/if}
</span>
{/if}
</div>
<div class="clearfix" style="margin-top:5px">
{if !$PS_CATALOG_MODE && ($accessory.allow_oosp || $accessory.quantity > 0)}
<div class="no-print">
<a class="exclusive button ajax_add_to_cart_button" href="{$link->getPageLink('cart', true, NULL, "qty=1&amp;id_product={$accessory.id_product|intval}&amp;token={$static_token}&amp;add")|escape:'html':'UTF-8'}" data-id-product="{$accessory.id_product|intval}" title="{l s='Add to cart'}">
<span>{l s='Add to cart'}</span>
</a>
</div>
{/if}
</div>
</li>
{/if}
{/foreach}
</ul>
</div>
</div>
</section>
<!--end Accessories -->


Иностранцы так же говорят, что нужно что-то с контроллером делать.


Есть идеи?
 
Вне форума
ПМ Отправить эл.сообщение 
Щелкните, и это сообщение будет добавлено в ваш ответ как цитата Цитировать этот ответ
Алекс


Администратор
Сообщений: 4516
Откуда: Красноярск
Регистрация: 29-05-2009


07-04-2015 16:08
Код:
{if isset($accessories) && $accessories}
            <!--Accessories -->
            <section class="page-product-box">
                <h3 class="page-product-heading">{l s='Accessories'}</h3>
                <div class="block products_block accessories-block clearfix">

                <ul class="product_list row list">
                {foreach from=$accessories item=accessory name=accessories_list}
                {if ($accessory.allow_oosp || $accessory.quantity_all_versions > 0 || $accessory.quantity > 0) && $accessory.available_for_order && !isset($restricted_country_mode)}
                    {assign var='accessoryLink' value=$link->getProductLink($accessory.id_product, $accessory.link_rewrite, $accessory.category)}
                <li class="ajax_block_product first-in-line last-line first-item-of-tablet-line first-item-of-mobile-line last-mobile-line col-xs-12">
                <div class="product-container">
                <div class="row">
                <div class="left-block col-xs-4 col-xs-5 col-md-4">
                    <div class="product-image-container">
                        <a href="{$accessoryLink|escape:'html':'UTF-8'}" title="{$accessory.legend|escape:'html':'UTF-8'}" class="product-image product_image">
                            <img class="lazyOwl" src="{$link->getImageLink($accessory.link_rewrite, $accessory.id_image, 'home_default')|escape:'html':'UTF-8'}" alt="{$accessory.legend|escape:'html':'UTF-8'}" width="{$homeSize.width}" height="{$homeSize.height}"/>
                        </a>
                    </div>
                </div>
                <div class="center-block col-xs-4 col-xs-7 col-md-4">
                    <h5 itemprop="name">
                    <a class="product-name" href="{$accessoryLink|escape:'html':'UTF-8'}">
                        {$accessory.name|truncate:20:'...':true|escape:'html':'UTF-8'}
                    </a>
                    </h5>
                    <p class="product-desc">
                        {$accessory.description_short|strip_tags|truncate:105:'...'}
                    </p>
                    <div class="row">
                        {if $accessory.show_price && !isset($restricted_country_mode) && !$PS_CATALOG_MODE}
                        <div class="content_price col-xs-5 col-md-12">
                            <span class="price product-price">
                            {if $priceDisplay != 1}
                            {displayWtPrice p=$accessory.price}{else}{displayWtPrice p=$accessory.price_tax_exc}
                            {/if}
                        </span>
                        </div>
                        {/if}
                        
                        <div class="clearfix" style="margin-top:5px">
                            {if !$PS_CATALOG_MODE && ($accessory.allow_oosp || $accessory.quantity > 0)}
                                <a class="exclusive button ajax_add_to_cart_button btn btn-default" href="{$link->getPageLink('cart', true, NULL, "qty=1&amp;id_product={$accessory.id_product|intval}&amp;token={$static_token}&amp;add")|escape:'html':'UTF-8'}" data-id-product="{$accessory.id_product|intval}" title="{l s='Add to cart'}">
                                    <span>{l s='Add to cart'}</span>
                                </a>
                            {/if}                        
                        </div>
                    </div>
                    </div>
            </div></div>
            </li>
            {/if}
            {/foreach}
            </ul>
            </div>
            </section>
        {/if}
 
Вне форума
ПМ Отправить эл.сообщение 
Щелкните, и это сообщение будет добавлено в ваш ответ как цитата Цитировать этот ответ
bragoda
Новичок
Сообщений: 7
Регистрация: 28-03-2015


08-04-2015 00:28
Спасибо! Заработало!

Единственное, не подцепились стили. Решил это по подсказкам с буржуйского сайта копированием всего содержимого из product_list.css в product.css

Теперь все ок. Осталось чуть блоки подвигать и краткое описание шире сделать.

Еще раз спасибо!
 
Вне форума
ПМ Отправить эл.сообщение 
Щелкните, и это сообщение будет добавлено в ваш ответ как цитата Цитировать этот ответ
bragoda
Новичок
Сообщений: 7
Регистрация: 28-03-2015


08-04-2015 00:38
Кстати! Копирование стилей решило еще одну проблему:
По умолчанию в defoult bootstrap блок "содержимое упаковки" выглядит коряво из-за отсутствия стилей - съезжает текст, дублируется поле цена и т.д.

Решение уже описал - скопировать содержимое product_list.css в product.css
 
Вне форума
ПМ Отправить эл.сообщение 
Щелкните, и это сообщение будет добавлено в ваш ответ как цитата Цитировать этот ответ
RusBolik
Новичок
Сообщений: 62
Регистрация: 28-07-2016


11-12-2016 00:11
похожий вопрос.
Только подскажите как мне изменить размеры картинок.
мне нужно чтобы они были по 6 в ряд и размером как в блоке продукты в этой же категории:
 
Вне форума
ПМ 
Щелкните, и это сообщение будет добавлено в ваш ответ как цитата Цитировать этот ответ
ruleoffdv


Cпециалист
Сообщений: 209
Регистрация: 05-05-2013


20-12-2016 11:13
Это скорее всего либо в class
Нужнот изменить размер товаров на ( 6 в ряд)

Либо в скрипте нужно указать что 6
---------


Алекс помогите реализовать
Checkbox покупки вместо кнопки добавить в корзину
 
Вне форума
ПМ 
Щелкните, и это сообщение будет добавлено в ваш ответ как цитата Цитировать этот ответ
RusBolik
Новичок
Сообщений: 62
Регистрация: 28-07-2016


22-12-2016 00:09
Цитата:
{include file="$tpl_dir./product-list.tpl" products=$packItems}

смущает эта строка. я так понимаю грузится обычный лист товаров, отсюда и размеры эти стандартные.
надо переписывать ?
 
Вне форума
ПМ 
Щелкните, и это сообщение будет добавлено в ваш ответ как цитата Цитировать этот ответ
Ответить Новая тема Новый опрос