daramal Опубликовано 18 июня, 2018 Жалоба Поделиться Опубликовано 18 июня, 2018 Приветствую! Спасибо большое, Noxter-у за плагин, что опубликован здесь Последовал инструкции, но возникла банальная проблема с выводом товаров с определенной категории на главной странице. Вставляю в main.tpl {get_products var=custom_products category_id=77 limit=5} {if $custom_products} <div class="max huawei"> <div class="related"> <ul class="catprods"> {foreach $custom_products as $product} {include file='product_iteam.tpl'} {/foreach} </ul></div> </div> {/if} Но ничего не выходит.но если вместо category_id=77 вставляю к примеру brand_id=24, то отображаются товары бренда. По совету Noxter-а поставил иначе: {get_products var=custom_products category_id=[77] limit=5} тоже ничего. Подскажите, в чем проблема и где копать. Уже не знаю, заменил даже папку Smarty и файл api/Products.php, думал в них может что-то сменили ранее, не помогло. Спасибо за любую информацию. Цитата Ссылка на сообщение Поделиться на другие сайты
shooroop Опубликовано 18 июня, 2018 Жалоба Поделиться Опубликовано 18 июня, 2018 категория с таким id есть? Цитата Ссылка на сообщение Поделиться на другие сайты
daramal Опубликовано 18 июня, 2018 Автор Жалоба Поделиться Опубликовано 18 июня, 2018 категория с таким id есть?Да, конечно есть. Цитата Ссылка на сообщение Поделиться на другие сайты
yr4ik Опубликовано 18 июня, 2018 Жалоба Поделиться Опубликовано 18 июня, 2018 если у вас категории вида: кат1кат77-кат771-кат772кат3 и вы указываете для поиска кат77 - то ничего не будет. Потому что товары находятся в кат771 и кат772 Цитата Ссылка на сообщение Поделиться на другие сайты
daramal Опубликовано 18 июня, 2018 Автор Жалоба Поделиться Опубликовано 18 июня, 2018 если у вас категории вида: кат1кат77-кат771-кат772кат3 и вы указываете для поиска кат77 - то ничего не будет. Потому что товары находятся в кат771 и кат772Вы совершенно правы. Именно таким образом расположены категории. Для проверки указал категорию к примеру "кат771" и товары отобразились. А как можно вывести товары родительской категории, ведь в админке отображаются товары той же "кат77"? Цитата Ссылка на сообщение Поделиться на другие сайты
mishanya Опубликовано 18 июня, 2018 Жалоба Поделиться Опубликовано 18 июня, 2018 (изменено) {get_products var=custom_products category_id=$category->children limit=5} перед этим нужно выбрать нужную категорию. Изменено 18 июня, 2018 пользователем mishanya Цитата Ссылка на сообщение Поделиться на другие сайты
daramal Опубликовано 18 июня, 2018 Автор Жалоба Поделиться Опубликовано 18 июня, 2018 {get_products var=custom_products category_id=$category->children limit=5} перед этим нужно выбрать нужную категорию.Спасибо Мишаня. А как нужно выбрать нужную категорию.то есть так? {get_products var=custom_products category_id=77 limit=5} {get_products var=custom_products category_id=$category->children limit=5} Цитата Ссылка на сообщение Поделиться на другие сайты
mishanya Опубликовано 18 июня, 2018 Жалоба Поделиться Опубликовано 18 июня, 2018 нет. верия симплы какая? Цитата Ссылка на сообщение Поделиться на другие сайты
daramal Опубликовано 18 июня, 2018 Автор Жалоба Поделиться Опубликовано 18 июня, 2018 нет. верия симплы какая?версия 2.3 Цитата Ссылка на сообщение Поделиться на другие сайты
Решение mishanya Опубликовано 18 июня, 2018 Решение Жалоба Поделиться Опубликовано 18 июня, 2018 версия 2.3 тогда так. в виджете что вы скопировали код у Noxter ПЕРЕД foreach($this->products->get_products($params) as $p) $products[$p->id] = $p; добавить if($params['category_id']){ $category = $this->categories->get_category((int)$params['category_id']); $params['category_id'] = $category->children; } и вызвать {get_products var=custom_products category_id=77 limit=5} где 77 айди родительской категории Цитата Ссылка на сообщение Поделиться на другие сайты
daramal Опубликовано 18 июня, 2018 Автор Жалоба Поделиться Опубликовано 18 июня, 2018 Мишаня, Гениально! Спасибо огромное. а как внедрить в этот {get_products var=custom_products category_id=77 limit=5} чтобы товары рандомно отображались?в других случаях чтобы featured/ is_new / discounted товары из этой категории отображались? Цитата Ссылка на сообщение Поделиться на другие сайты
mishanya Опубликовано 18 июня, 2018 Жалоба Поделиться Опубликовано 18 июня, 2018 пользуйтесь поиском. вывод рандомных товаров http://forum.simplacms.ru/topic/5150-%D1%81%D0%BB%D1%83%D1%87%D0%B0%D0%B9%D0%BD%D1%8B%D0%B9-%D0%B2%D1%8B%D0%B2%D0%BE%D0%B4-%D1%80%D0%B5%D0%BA%D0%BE%D0%BC%D0%B5%D0%BD%D0%B4%D1%83%D0%B5%D0%BC%D1%8B%D1%85-%D1%82%D0%BE%D0%B2%D0%B0%D1%80%D0%BE%D0%B2-%D0%BD%D0%B0-%D0%B3%D0%BB%D0%B0%D0%B2/ в других случаях чтобы featured/ is_new / discounted товары из этой категории отображались? так же как я выше писал сделать для других плагинов в view/View.php Цитата Ссылка на сообщение Поделиться на другие сайты
daramal Опубликовано 19 июня, 2018 Автор Жалоба Поделиться Опубликовано 19 июня, 2018 Мишаня, огромное спасибо. Все отлично работает теперь.еще один вопросик немного не в тему. Как вывести к примеру рядом с этим блоком количество товаров из той или иной категории? попытался вставить {api module=products method=count_products var=count category_id='77' visible=1} {$count} показывает "0". Цитата Ссылка на сообщение Поделиться на другие сайты
Maksclub Опубликовано 19 июня, 2018 Жалоба Поделиться Опубликовано 19 июня, 2018 (изменено) - Изменено 19 июня, 2018 пользователем Maksclub Цитата Ссылка на сообщение Поделиться на другие сайты
mishanya Опубликовано 19 июня, 2018 Жалоба Поделиться Опубликовано 19 июня, 2018 Мишаня, огромное спасибо. Все отлично работает теперь.еще один вопросик немного не в тему. Как вывести к примеру рядом с этим блоком количество товаров из той или иной категории? попытался вставить {api module=products method=count_products var=count category_id='77' visible=1} {$count} показывает "0". ну так правильно показывает 0. вы делаете то же что в первом посту. передаете родительскую категорию а товары в дочерних Цитата Ссылка на сообщение Поделиться на другие сайты
Noxter Опубликовано 19 июня, 2018 Жалоба Поделиться Опубликовано 19 июня, 2018 Вообще-то с версии 2.3.7 есть универсальный плагин (немного недоработанный) для всего API.Вот тут читаем http://simpla-addons.org/blog/news/obnovlenie-simpla-237-ot-21-aprelya-2015 пробуем сами. Цитата Ссылка на сообщение Поделиться на другие сайты
daramal Опубликовано 20 июня, 2018 Автор Жалоба Поделиться Опубликовано 20 июня, 2018 ну так правильно показывает 0. вы делаете то же что в первом посту. передаете родительскую категорию а товары в дочернихя прошу прощение, Мишаня. вставил это в View.php // Количество активных товаров $count_products = $this->products->count_products( array('visible'=>1) ); $this->design->assign('count_catalog', $count_products); после if($params['category_id']){ $category = $this->categories->get_category((int)$params['category_id']); $params['category_id'] = $category->children; } а в шаблоне {$count_catalog} ничего не выходит.Как можно это связать вместе с указанной категории? {get_products var=custom_products category_id=77 limit=5} Спасибо. Цитата Ссылка на сообщение Поделиться на другие сайты
phukortsin Опубликовано 20 июня, 2018 Жалоба Поделиться Опубликовано 20 июня, 2018 Во первых, Ваш фрагмент// Количество активных товаров $count_products = $this->products->count_products( array('visible'=>1) ); $this->design->assign('count_catalog', $count_products); считает кол-во ВСЕХ активных товаров вообще.Если надо в категории, то менять примерно так$count_products = $this->products->count_products( array('visible'=>1, 'category_id'=>77) );Или вместо 77 вставлять список подкатегорий$count_products = $this->products->count_products( array('visible'=>1, 'category_id'=>array(77,86,16,209)) ); Во-вторых, будет или нет работать вставка {$count_catalog}, зависит от того, в какой шаблон это вставляете. Если определяли переменую в View.php, то работать будет только в index.tpl.Если хотите, что работало в products.tpl, то и фрагмент то надо вставлять в ProductsView.php... Цитата Ссылка на сообщение Поделиться на другие сайты
Kosjak76 Опубликовано 20 июня, 2018 Жалоба Поделиться Опубликовано 20 июня, 2018 Если определяли переменую в View.php, то работать будет только в index.tpl.Бред сивой кобылы Почему-то все, что в этом файле определяется работает во ВСЕХ шаблонах...Вот пример, проверте: // Передаем в дизайн то, что может понадобиться в нем $this->design->assign('currencies', $this->currencies); $this->design->assign('currency', $this->currency); $this->design->assign('user', $this->user); $this->design->assign('group', $this->group); $this->design->assign('config', $this->config); $this->design->assign('settings', $this->settings); Цитата Ссылка на сообщение Поделиться на другие сайты
daramal Опубликовано 20 июня, 2018 Автор Жалоба Поделиться Опубликовано 20 июня, 2018 Во первых, Ваш фрагмент // Количество активных товаров $count_products = $this->products->count_products( array('visible'=>1) ); $this->design->assign('count_catalog', $count_products); считает кол-во ВСЕХ активных товаров вообще.Если надо в категории, то менять примерно так$count_products = $this->products->count_products( array('visible'=>1, 'category_id'=>77) );Или вместо 77 вставлять список подкатегорий$count_products = $this->products->count_products( array('visible'=>1, 'category_id'=>array(77,86,16,209)) ); Во-вторых, будет или нет работать вставка {$count_catalog}, зависит от того, в какой шаблон это вставляете. Если определяли переменую в View.php, то работать будет только в index.tpl.Если хотите, что работало в products.tpl, то и фрагмент то надо вставлять в ProductsView.php...пытаюсь вставить в main.tpl.сделал все это в View.php, нее помогло. ничего не выдает. Цитата Ссылка на сообщение Поделиться на другие сайты
Noxter Опубликовано 20 июня, 2018 Жалоба Поделиться Опубликовано 20 июня, 2018 Я уже жалею что статью написал, не думал что возникнет столько проблем в простом, рабочем решении. Цитата Ссылка на сообщение Поделиться на другие сайты
daramal Опубликовано 20 июня, 2018 Автор Жалоба Поделиться Опубликовано 20 июня, 2018 Я уже жалею что статью написал, не думал что возникнет столько проблем в простом, рабочем решении.Noxter, Ваше решение отличное. Спасибо большое.Оно работает и вопросов по нему впрочем не остались )) это я уже дополнительный "не в тему" вопрос поднял по количеству товаров в той или иной категории. Цитата Ссылка на сообщение Поделиться на другие сайты
Noxter Опубликовано 20 июня, 2018 Жалоба Поделиться Опубликовано 20 июня, 2018 Noxter, Ваше решение отличное. Спасибо большое. Оно работает и вопросов по нему впрочем не остались )) это я уже дополнительный "не в тему" вопрос поднял по количеству товаров в той или иной категории.Подсчёт кол-ва товаров в категории в симпле есть, нужно раскомментировать небольшой участок кода в api/Categories.php, но при большом кол-ве товаров может тормозить. Цитата Ссылка на сообщение Поделиться на другие сайты
daramal Опубликовано 20 июня, 2018 Автор Жалоба Поделиться Опубликовано 20 июня, 2018 Подсчёт кол-ва товаров в категории в симпле есть, нужно раскомментировать небольшой участок кода в api/Categories.php, но при большом кол-ве товаров может тормозить.Товаров немного будет. Максимум 250 товаров.я уже вроде нашел этот код.Подскажи пожалуйста, как его в шаблоне вывести? Цитата Ссылка на сообщение Поделиться на другие сайты
Noxter Опубликовано 20 июня, 2018 Жалоба Поделиться Опубликовано 20 июня, 2018 Товаров немного будет. Максимум 250 товаров.я уже вроде нашел этот код.Подскажи пожалуйста, как его в шаблоне вывести?К примеру вот так: {foreach $categories as $c} {$c->products_count} {/foreach} Цитата Ссылка на сообщение Поделиться на другие сайты
Рекомендуемые сообщения
Присоединяйтесь к обсуждению
Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.