SeoWWW 0 Posted March 28, 2020 Report Share Posted March 28, 2020 Стало интересно, как можно вывести товар, который участвует в акции (товар, на который установлена Специальная цена)? Т.е. вывод из таблицы content_specials колонки price со значением не NULL. И если это возможно, сделать дополнительную сортировку в категории по акционному товару, т.е. сначала выводится акционные, а потом уже все остальные товары. Link to post Share on other sites
support 447 Posted March 28, 2020 Report Share Posted March 28, 2020 21 минуту назад, SeoWWW сказал: Стало интересно, как можно вывести товар, который участвует в акции (товар, на который установлена Специальная цена)? Т.е. вывод из таблицы content_specials колонки price со значением не NULL. И если это возможно, сделать дополнительную сортировку в категории по акционному товару, т.е. сначала выводится акционные, а потом уже все остальные товары. А как именно Вам надо вывести эти товары со скидкой?! Где-то на отдельной странице?! Есть метка old_price в шаблоне вывода товара. т.е., по идее, как-то можно условием в шаблоен попробовать вывести только те у которых задана метка old_price, т.е. есть спец. цена. А вот сортировки по спец. цене по умолчанию нет, т.е. это только пилить код, а именно в /app/Catalog/function.content_listing.php добавлять новый вид сортировки к уже существующим. Link to post Share on other sites
SeoWWW 0 Posted March 28, 2020 Author Report Share Posted March 28, 2020 Спасибо, Саш. Попробую с этой меткой поколдовать, отпишусь, если получится. Хз, где выводить, хотел на странице попробовать, а придется видимо варианты искать) На следующей неделе наверное займусь. Link to post Share on other sites
support 447 Posted March 29, 2020 Report Share Posted March 29, 2020 8 часов назад, SeoWWW сказал: Спасибо, Саш. Попробую с этой меткой поколдовать, отпишусь, если получится. Хз, где выводить, хотел на странице попробовать, а придется видимо варианты искать) На следующей неделе наверное займусь. т.е., к примеру, в Админке - Содержание в раздел Информация можно создать страницы например Смартфоны по скидкой. и в описании страницы добавить: {content_listing template="product-listing-skidka" type="product" limit=20 parent="smartphones"} Затем в Админке - Оформление - Микро-шаблоны сделать новый шаблон на основе существующего product-listing т.е. зайдит в микро-шаблон product-listing, скопируйте код шаблона, затем вернитесь на странице админка - оформлени - микро-шаблоны и создайте новый шаблон. Псевдоним шаблона укажите product-listing-skidka Тэг content_listing А модежимое шаблона добавьте такое: {if $content_list} <!-- start: products listing --> <div class="row shop-products"> <ul class="thumbnails"> {foreach from=$content_list item=node} {if $node.old_price} <li class="item col-sm-3 col-md-4{if $node.is_new == 1} new{/if}{if $node.is_featured == 1} featured{/if}"> <div class="thumbnail text-center"> {if $node.discount > 0}<div class="description"><span class="discount">-{$node.discount|round}%</span></div>{/if} <a href="{$node.url}" class="image"><img src="{$node.image}" alt="{$node.name}"{if {$node.image_width} > 0} width="{$node.image_width}"{/if}{if {$node.image_height} > 0} height="{$node.image_height}"{/if} /> {if $node.price}<span class="frame-overlay"></span><span class="price">{$node.price}</span>{/if} {product_label label_id={$node.label_id}} </a> <div class="inner notop nobottom text-left"> <h4 class="title"><a href="{$node.url}">{$node.name}</a></h4> {if $node.reviews > 0}<div class="description"><span class="rating">{$node.star_rating}</span> <span class="reviews">{lang}Feedback{/lang}: {$node.reviews}</span></div>{/if} {if $node.old_price}<div class="description">{lang}List Price{/lang}: <span class="old-price"><del>{$node.old_price}</del></span></div>{/if} {if $node.price_save}<div class="description">{lang}You Save{/lang}: <span class="save">{$node.price_save} ({$node.price_save_percent|round}%)</span></div>{/if} <div class="description">{$node.short_description|strip_tags|truncate:30:"...":true}</div> <div class="description">{attribute_list product_id=$node.id}</div> </div> </div> {product_form product_id={$node.id}} <div class="inner darken notop"> <button class="btn btn-default btn-add-to-cart" type="submit"><i class="fa fa-shopping-cart"></i> {lang}Buy{/lang}</button> {if isset($is_compare)}<a href="{base_path}/category/addcmp/{$node.alias}/{$content_alias->value}{$ext}" class="btn btn-default btn-add-to-cart"><i class="fa fa-bookmark"></i> {lang}Compare{/lang}</a>{/if} </div> {/product_form} </li> {/if} {/foreach} </ul> </div> <!-- end: products listing --> {/if} Т.е. добавили условие {if $node.old_price} .... {/if} Что б показывались только товары со скидкой. Ну и всё, сохраняйте. Затем заходите в в каталоге в разделе информация на станицу Скидки, по идее, вывеодутся только товырв со скидкой из раздела Смартфоны. Как-то так примерно. Либо если нужно показать какие-то спец. предложения например над основным списком товара. То можно ярлые скидка таким товарам добавить в админке. и затем взять совет из FAQ - Как выводить товары с определённым ярлыком. и вот как раз перед основным списком товара или на главной странице вывести товары с ярлыком Скидка. т.е. варианты есть. Link to post Share on other sites
SeoWWW 0 Posted March 31, 2020 Author Report Share Posted March 31, 2020 Да, так выводится, но только из одной категории... Т.е. если убрать parent="" - нечего выводиться не будет. Link to post Share on other sites
support 447 Posted March 31, 2020 Report Share Posted March 31, 2020 В 31.03.2020 в 03:41, SeoWWW сказал: Да, так выводится, но только из одной категории... Т.е. если убрать parent="" - нечего выводиться не будет. Вот для пробы сделал тэг content_listing_special Добавив условие одно в cotent_listing стандартны. Положите в папке /app/Catalog этот файл. А в админке вставляйте: {content_listing_special type="product" limit=20} По хороше конечно надо убрать всё лишнее из кода content_listing_special Но как основа, которая выводит только товары со скидками, я думаю, что пойдёт. function.content_listing_special.php Link to post Share on other sites
SeoWWW 0 Posted March 31, 2020 Author Report Share Posted March 31, 2020 Не выходит... Пишет: Товары не найдены. Link to post Share on other sites
support 447 Posted March 31, 2020 Report Share Posted March 31, 2020 1 час назад, SeoWWW сказал: Не выходит... Пишет: Товары не найдены. Я вот только что скачал файл, добавил в /app/Catalog Создал в Админке - Содержание - Категории и товары, в разделе Информация для пробы создал страницу Скидки. и в описание добавил: {content_listing_special type="product" limit=20} Вот что получилось. Link to post Share on other sites
SeoWWW 0 Posted March 31, 2020 Author Report Share Posted March 31, 2020 Да, все также делал... Причем сейчас, даже если parent="" добавить - все равно не выводит) Может версия старая? 2.64 Link to post Share on other sites
support 447 Posted March 31, 2020 Report Share Posted March 31, 2020 1 час назад, SeoWWW сказал: Да, все также делал... Причем сейчас, даже если parent="" добавить - все равно не выводит) Может версия старая? 2.64 Да, странно. А если добавить ещё параметр limit="500" например Нет, версия не важная, база одна и та же, по идее. и сбросьте кэш на главной странице в админке. Link to post Share on other sites
SeoWWW 0 Posted March 31, 2020 Author Report Share Posted March 31, 2020 Кэш и в браузере и в админке сбрасывал, с параметром limit="" тоже экспериментировал... Отправил ссылку на сайт в личку. Link to post Share on other sites
support 447 Posted March 31, 2020 Report Share Posted March 31, 2020 14 часов назад, SeoWWW сказал: Кэш и в браузере и в админке сбрасывал, с параметром limit="" тоже экспериментировал... Отправил ссылку на сайт в личку. Я ж так по одной ссылке на страницу ничего не могу сказать. Пришлите доступ на ftp, доступ в админку. Попробую посмотреть. Link to post Share on other sites
SeoWWW 0 Posted April 1, 2020 Author Report Share Posted April 1, 2020 Отправил Link to post Share on other sites
support 447 Posted April 1, 2020 Report Share Posted April 1, 2020 26 минут назад, SeoWWW сказал: Отправил В файле /app/Catalog/function.content_listing_special.php Исправил условие: if($raw_data['ContentProduct']['old_price'] > $raw_data['ContentProduct']['price']) { на: if($raw_data['ContentProduct']['old_price'] > 0) //if($raw_data['ContentProduct']['old_price'] > $raw_data['ContentProduct']['price']) { Теперь выводится, насколько я вижу. Видимо, условие не выполнялось. Link to post Share on other sites
SeoWWW 0 Posted April 1, 2020 Author Report Share Posted April 1, 2020 Неа) Выводятся все, но не акционный) Link to post Share on other sites
support 447 Posted April 1, 2020 Report Share Posted April 1, 2020 5 минут назад, SeoWWW сказал: Неа) Выводятся все, но не акционный) А как у Вас сделан запрет вывода цены гостям, не зарегистрированным?! Просто в шаблоне карточки товара условием, или как-то в коде php?! На странице регистрации customer/registre.html у ВАс JS ошибка, невидимая каптча не работает из-за этого. Никто зарегистрироваться не может в принципе из-за этого. Link to post Share on other sites
SeoWWW 0 Posted April 1, 2020 Author Report Share Posted April 1, 2020 6 минут назад, support сказал: А как у Вас сделан запрет вывода цены гостям, не зарегистрированным?! Просто в шаблоне карточки товара условием, или как-то в коде php?! В карточке 6 минут назад, support сказал: На странице регистрации customer/registre.html у ВАс JS ошибка, невидимая каптча не работает из-за этого. Никто зарегистрироваться не может в принципе из-за этого. Да, каптча что то слетела... Link to post Share on other sites
support 447 Posted April 1, 2020 Report Share Posted April 1, 2020 Видимо, слайдер непрвильно подключили, сейчас исправлю. 3 минуты назад, SeoWWW сказал: Да, каптча что то слетела... Link to post Share on other sites
SeoWWW 0 Posted April 1, 2020 Author Report Share Posted April 1, 2020 Слайдеру этот код мешает: <script>{literal}(function($,d){$.each(readyQ,function(i,f){$(f)});$.each(bindReadyQ,function(i,f){$(d).on("ready",f)})})(jQuery,document){/literal}</script> Link to post Share on other sites
support 447 Posted April 1, 2020 Report Share Posted April 1, 2020 2 минуты назад, SeoWWW сказал: Слайдеру этот код мешает: <script>{literal}(function($,d){$.each(readyQ,function(i,f){$(f)});$.each(bindReadyQ,function(i,f){$(d).on("ready",f)})})(jQuery,document){/literal}</script> Слайдер исправил, просто vamshop-packed.js не перегенерировался. Нет, он не мешает. Надо просто js внизу подключаться, как сделаны все js файлы, снизу подключены. Можно и этот код убрать и сжатие, объединение убрать - Link to post Share on other sites
SeoWWW 0 Posted April 1, 2020 Author Report Share Posted April 1, 2020 21 минуту назад, support сказал: Слайдер исправил, просто vamshop-packed.js не перегенерировался. Нет, он не мешает. Надо просто js внизу подключаться, как сделаны все js файлы, снизу подключены. Можно и этот код убрать и сжатие, объединение убрать - Да, вызов слайдера пришлось в самый низ убирать... Перед закрывающим </body>. Иначе не работал... Link to post Share on other sites
support 447 Posted April 1, 2020 Report Share Posted April 1, 2020 3 минуты назад, SeoWWW сказал: Да, вызов слайдера пришлось в самый низ убирать... Перед закрывающим </body>. Иначе не работал... Ну так это ж правильно. Скрипты должны быть внизу, что б не тормозили загрузку страницы. 1 час назад, SeoWWW сказал: Неа) Выводятся все, но не акционный) В общем, проблема ясна. Этот тэг ищет весь контент, а уже потом выбирает со скидкой. т.е. он просто находит первые 20 записей, а это могут быть и страницы и категории. И среди них пытается найти спец. цену. А у этого контента нет цены и спец. цены, поэтому и получается, что не может найти акционные товары. Я сейчас попробую переписать код, что б поиск вёлся сразу и исключительно среди товаров с акией. Но не знаю, сегодня может и не успею уже. Link to post Share on other sites
SeoWWW 0 Posted April 1, 2020 Author Report Share Posted April 1, 2020 Нда, проблемку подсунул... Но я не со зла! А по баннерам, верх-низ - не важно, главное чтоб работало. Да и страничка будет быстрее загружаться! Link to post Share on other sites
support 447 Posted April 1, 2020 Report Share Posted April 1, 2020 26 минут назад, SeoWWW сказал: Нда, проблемку подсунул... Но я не со зла! А по баннерам, верх-низ - не важно, главное чтоб работало. Да и страничка будет быстрее загружаться! Вроде бы сделал У Вас там как раз акции кончились я так понял, я вот этому рюкзаку что выводится указал акцию до завтра. И вот он выводится. Link to post Share on other sites
SeoWWW 0 Posted April 1, 2020 Author Report Share Posted April 1, 2020 Супер! Все работает!!! Спасибо А подробности будут? Link to post Share on other sites
Recommended Posts