zejnadze Опубликовано 14 августа, 2017 Жалоба Поделиться Опубликовано 14 августа, 2017 Как вывести количество товаров определенной категории на главной странице? Цитата Ссылка на сообщение Поделиться на другие сайты
yr4ik Опубликовано 14 августа, 2017 Жалоба Поделиться Опубликовано 14 августа, 2017 воспользуйтесь данным плагином для smarty http://forum.simplacms.ru/topic/8079-вывод-всех-товаров-категории-на-странице-товар/?p=60833 далее получите товары как рекомендуемые. Цитата Ссылка на сообщение Поделиться на другие сайты
zejnadze Опубликовано 14 августа, 2017 Автор Жалоба Поделиться Опубликовано 14 августа, 2017 воспользуйтесь данным плагином для smarty http://forum.simplacms.ru/topic/8079-вывод-всех-товаров-категории-на-странице-товар/?p=60833 далее получите товары как рекомендуемые.Плагин вставил, но остальное не понял Цитата Ссылка на сообщение Поделиться на другие сайты
Maksclub Опубликовано 15 августа, 2017 Жалоба Поделиться Опубликовано 15 августа, 2017 (изменено) - Изменено 15 августа, 2017 пользователем Maksclub Цитата Ссылка на сообщение Поделиться на другие сайты
yr4ik Опубликовано 15 августа, 2017 Жалоба Поделиться Опубликовано 15 августа, 2017 {get_products visible=1 category_id=99 var="my_products"} {foreach $my_products as $p} {$p->name} {/foreach} Цитата Ссылка на сообщение Поделиться на другие сайты
zejnadze Опубликовано 15 августа, 2017 Автор Жалоба Поделиться Опубликовано 15 августа, 2017 {get_products visible=1 category_id=99 var="my_products"} {foreach $my_products as $p} {$p->name} {/foreach} Мне не нужны их имена, а просто количество. К примеру 80 - 7 ID категории Цитата Ссылка на сообщение Поделиться на другие сайты
mishanya Опубликовано 15 августа, 2017 Жалоба Поделиться Опубликовано 15 августа, 2017 Мне не нужны их имена, а просто количество. К примеру 80 - 7 ID категории пробуйте так {get_products visible=1 category_id=7 var="my_products"} количество: {$my_products|count} Цитата Ссылка на сообщение Поделиться на другие сайты
loxter Опубликовано 16 августа, 2017 Жалоба Поделиться Опубликовано 16 августа, 2017 пробуйте так {get_products visible=1 category_id=7 var="my_products"} количество: {$my_products|count} 1. Довольно нерационально выбирать из базы ВСЕ товары категории, чтобы узнать их количество.2. Если в категории имеются подкатегории, то результат в большинстве случаев будет просто неверный. Цитата Ссылка на сообщение Поделиться на другие сайты
mishanya Опубликовано 16 августа, 2017 Жалоба Поделиться Опубликовано 16 августа, 2017 (изменено) 1. Довольно нерационально выбирать из базы ВСЕ товары категории, чтобы узнать их количество.2. Если в категории имеются подкатегории, то результат в большинстве случаев будет просто неверный. 1. я показал как на базе того виджета который использует ТС вывести количество.2. если имеются то что? человек попросил конкретной категории, а НЕ категории и ее подкатегорий. Изменено 16 августа, 2017 пользователем mishanya Цитата Ссылка на сообщение Поделиться на другие сайты
loxter Опубликовано 16 августа, 2017 Жалоба Поделиться Опубликовано 16 августа, 2017 2. если имеются то что? человек попросил конкретной категории, а НЕ категории и ее подкатегорий. Формально Вы, конечно, полностью правы. Только ведь тот человек, применив Ваш способ, потом спросит, а почему у него на главной показывает количество одно, а на странице той категории - совсем другое.... Цитата Ссылка на сообщение Поделиться на другие сайты
yr4ik Опубликовано 16 августа, 2017 Жалоба Поделиться Опубликовано 16 августа, 2017 (изменено) {api module="products" method="count_products" var="count" category_id=99 visible=1} {$count} если симпла >= 2.3.7 версии Изменено 16 августа, 2017 пользователем yr4ik Цитата Ссылка на сообщение Поделиться на другие сайты
loxter Опубликовано 16 августа, 2017 Жалоба Поделиться Опубликовано 16 августа, 2017 {api module="products" method="count_products" var="count" category_id=99 visible=1} {$count} если симпла >= 2.3.7 версии При таком способе нерациональность лишних вычислений уходит. Но правильность подсчета при наличии подкатегорий - под большим сомнением... Цитата Ссылка на сообщение Поделиться на другие сайты
Noxter Опубликовано 16 августа, 2017 Жалоба Поделиться Опубликовано 16 августа, 2017 Очередной аккаунт Корса Цитата Ссылка на сообщение Поделиться на другие сайты
yr4ik Опубликовано 16 августа, 2017 Жалоба Поделиться Опубликовано 16 августа, 2017 При таком способе нерациональность лишних вычислений уходит. Но правильность подсчета при наличии подкатегорий - под большим сомнением... Во первых - ничего такого ТС не просил. У него простая задача: Как вывести количество товаров определенной категории на главной странице? во вторых - все зависит от переданных параметров в category_id. Можешь передать массив идов, а можешь получить нужную категорию и передать туда category->children Цитата Ссылка на сообщение Поделиться на другие сайты
loxter Опубликовано 16 августа, 2017 Жалоба Поделиться Опубликовано 16 августа, 2017 Во первых - ничего такого ТС не просил. У него простая задача: Как вывести количество товаров определенной категории на главной странице? Даже эта "простая задача" не так проста. Ибо "количество товаров определенной категории" - можно понимать по разному - включать или не включать категории.Если подходить с точки зрения формальной, то Вы правы - как клиент сформулировал, так Вы ему и сделали. А простой пользователь, не искушенный в программистских штучках, скорее всего, захочет при подсчете увидеть именно то число товаров, которое есть на странице категории. И когда он увидит, что рекомендованный подсчет дает только десяток или вообще 0, в то время как на странице категории видна сотня-другая товаров, то будет как минимум удивлен. Будете ему доказывать, что Вы молодец и выполнили данную задачу буквально и абсолютно точно, а он эту задачу неверно поставил? Можешь передать массив идов, а можешь получить нужную категорию и передать туда category->children "Можешь передать массив идов" - думаю, сами понимаете, насколько это примитивно, некрасиво и непрактично."передать туда category->children" - это идея сама по себе хорошая. Но реализовать ее в шаблоне - добавочные трудности... Цитата Ссылка на сообщение Поделиться на другие сайты
yr4ik Опубликовано 16 августа, 2017 Жалоба Поделиться Опубликовано 16 августа, 2017 (изменено) "Можешь передать массив идов" - думаю, сами понимаете, насколько это примитивно, некрасиво и непрактично."передать туда category->children" - это идея сама по себе хорошая. Но реализовать ее в шаблоне - добавочные трудности... Корс - ты ничему не учишься. Как был занозой в - так и остался... Добавь в IndexView: $this->design->assign('all_categories', $this->categories->get_categories()); и в шаблоне ... category_id=$all_categories[99]->child .... ты не мог написать этого? не знал? или тебе просто в кайф кому то надоедать? Как та бабка у подъезда! Вместо 1 строки кода - петиции пишешь!нельзя просто написать: так будет лучше и код ? Очередной аккаунт Корса а он к тебе не равнодушен)) уже новый ник - почти как у тебя)) Изменено 16 августа, 2017 пользователем yr4ik Цитата Ссылка на сообщение Поделиться на другие сайты
Noxter Опубликовано 16 августа, 2017 Жалоба Поделиться Опубликовано 16 августа, 2017 Ну дебил что тут скажешь, при чем дебил over 50 yrs Цитата Ссылка на сообщение Поделиться на другие сайты
loxter Опубликовано 16 августа, 2017 Жалоба Поделиться Опубликовано 16 августа, 2017 Добавь в IndexView: $this->design->assign('all_categories', $this->categories->get_categories()); и в шаблоне ... category_id=$all_categories[99]->child .... Так оно работает, но снова возникает вопрос о рациональности - чтобы получить список дочерних категорий ОДНОЙ категории, Ваш метод передает в шаблон ВСЕ сведения о ВСЕХ категориях. Цитата Ссылка на сообщение Поделиться на другие сайты
Noxter Опубликовано 16 августа, 2017 Жалоба Поделиться Опубликовано 16 августа, 2017 (изменено) Так оно работает, но снова возникает вопрос о рациональности - чтобы получить список дочерних категорий ОДНОЙ категории, Ваш метод передает в шаблон ВСЕ сведения о ВСЕХ категориях.Какой же ты дебил, форум просто смеется над тобой!На тебе готовое решение коль сам придумать не сумел:{api module=products method=get_products visible=1 category_id=1 limit=5 var=korsmudak} {$korsmudak|count} Подходит для симплы версии 2.3.7 и выше. Изменено 16 августа, 2017 пользователем Noxter Цитата Ссылка на сообщение Поделиться на другие сайты
loxter Опубликовано 17 августа, 2017 Жалоба Поделиться Опубликовано 17 августа, 2017 Какой же ты дебил, форум просто смеется над тобой!На тебе готовое решение коль сам придумать не сумел: {api module=products method=get_products visible=1 category_id=1 limit=5 var=korsmudak} {$korsmudak|count} Подходит для симплы версии 2.3.7 и выше. Спасибо за содержательный пост почти без флуда. Жаль только, что Ваше решение хуже всех прочих, предлагавшихся в теме - оно и нерациональное, и ошибочное. К тому же мало чем отличается от решения mishanya из #7 - поэтому, кроме недостатков решения mishanya, имеет дополнительно свой собственный авторский недостаток (далее п.3). 1. Нерациональность - выбираются подробные сведения о товарах категории, передаются в шаблон, а в нем используется лишь количество товаров. Все прочее - лишняя нагрузка.2. Ошибка серьезная - подсчитанное количество товаров неверное, так как не учитывает подкатегорий.3. Ошибка детская - подсчитанное количество будет ВСЕГДА от 0 до 5, так как автор решения счел нужным выставить limit=5. Если ошибку 3 поправить легко и просто, то с остальными, как показывает обсуждение в теме, все существенно сложнее - уже ТРИ фрилансера - спеца по Simpla предлагали разные решения, а сколько-нибудь приемлемого пока не видно... Цитата Ссылка на сообщение Поделиться на другие сайты
Noxter Опубликовано 17 августа, 2017 Жалоба Поделиться Опубликовано 17 августа, 2017 Снесите этого Корса к черту.А чтоб ты помер гад. Цитата Ссылка на сообщение Поделиться на другие сайты
Рекомендуемые сообщения
Присоединяйтесь к обсуждению
Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.