Тема: Как добавить кнопку "Купить" в блок Лидеры продаж на главной?

В дефолтной теме на главной странице есть блок Лидеры продаж, как добавить к товарам кнопку "Купить"?

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

2 Отредактировано Александр (01.09.2014 16:25:29)

Re: Как добавить кнопку "Купить" в блок Лидеры продаж на главной?

Всё предельно просто. Вам необходимо поправить шаблон, добавив в него строку со ссылкой.
Для начала ознакомьтесь со статьёй которая разъясняет, как нужно создавать свои шаблоны Создние шаблона.

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

сам шаблон с темой лежит в /templates/ и называется default
Скопируйте скопируйте эту папку и переименуйте. Ну например в default2. Внутри также лежит файл .xml с названием темы оформления. Откройте его и тоже переименуйте в нём название темы.
Далее заходим в админ. панель.:

Веб-сайт -> настройки сайта

Выбираем вновь созданный шаблон и сохраняем его.
Всё, теперь можно работать с шаблоном, не опасаясь, что его подменят во время обновления сайта.
Сам шаблон находится в папке:

корень сайта/modules/catalog/view/blocks/topproducts/top_products.tpl

Его мы копируем в папку:

корень сайта/templates/название нового шаблона/moduleview/catalog/blocks/topproducts/

Далее открываем этот файл:
После строки

{foreach from=$products item=product}

Можно добавить следующую строку:

<a href="{$router->getUrl('shop-front-cartpage', ["add" => $product.id])}" class="cartButton addToCart noShowCart" title="В корзину">&nbsp;</a>

Если Вам необходимо, чтобы был полный спектр всех учтённых условий, то в начале файла добавляем:

{assign var=shop_config value=ConfigLoader::byModule('shop')}
{assign var=check_quantity value=$shop_config->check_quantity}

А после перебора товаров:

{if $shop_config}
      {if $product->shouldReserve()}
          <a href="{$router->getUrl('shop-front-reservation', ["product_id" => $product.id])}" class="cartButton inDialog reserv" title="Заказать">&nbsp;</a>
      {else}        
           {if $check_quantity && $product.num<1}
                 <span class="cartButton unobt" title="Нет в наличии">&nbsp;</span>
           {else}
                 <span data-href="{$router->getUrl('shop-front-multioffers', ["product_id" => $product.id])}" class="cartButton showComplekt inDialog" title="В корзину">&nbsp;</span>
                  <a href="{$router->getUrl('shop-front-cartpage', ["add" => $product.id])}" class="cartButton addToCart noShowCart" title="В корзину">&nbsp;</a>
            {/if}
       {/if}
{/if}

Также не забывайте сбрасывать, или отключать кэш Readyscript