Вывести на странице одну и ту же характеристику для всех товаров Есть решение
Привет! Hi all! ))
Вывожу на главной характеристику param1 для всех товаров, т.е. выводится список.
Пока лимит 10, все ок, сейчас потребовалось поставить 1000 - белий страница.... Подозреваю, что это костыль. А как правильно вытащить на страницу эту характеристику, собранную со всех товаров?
Вот код, собрал из шпаргалки)))
{$products = $wa->shop->products(null,null,10)} {foreach $products as $p} {if $wa->shop->product($p.id)->features['param1']} <span class="">{$wa->shop->product($p.id)->features['param1']}</span> {/if} {/foreach}
8 ответов
Посмотрите реализацию вывода характеристик товара в теме оформления Дефолт 3.0 в файле list-thumbs.html.
Вам нужна строка получения характеристик в списке товаров категории:
далее строка с которой начинается вывод этих характеристик:
Так в категории это нормально, там же не выводятся сразу все товары, а если мне надо собрать с 10000 товаров, белая страница также.
Приведенный мною код по сути те же яйца только в профиль...
Вы ошибаетесь, разница в количестве запросов к базе данных, реализации подходов категорически разнятся.
хм, и правда, 5000 товаров выводит как с куста!!! 15к попозже попробую.
я почему-то этот вариант рассматривал как самый последний вариант, так подумал что цикл в цикле завсегда не есть гуд...
ведь внутри одно foreach
выполняется второй foreach
а почему на порядки быстрее...???
не пойму, правильно или нет сделал:
при 15000 все равно белый лист
И зачем вы перебираете все варианты если вам нужен лишь один? Замените:
на:
Хм, и правда наверное я тупанул. на 15000 все выводит...
СПАСИБО!
Щас еще попробую накидать условие по ВЕЛИЧИНЕ параметра, чтоб еще отсеяло лишнее.
Если я правильно понимаю, то цикл проходит один раз, по всем товарам, да?
А в моем варианте было проходов = все товары *кол-во характеристик, так что ли?
Где бы почитать, не подскажете, про:
т.к. товары добавляются, чтобы цифру не менять ручками, есть там типа AUTO или как правильно вписать?
Звездочку пробовал - вообще не выводит.
Вы идете не тем путем, попробуйте почитать про хелперы:
https://developers.webasyst.ru/cookbook/helpers/
или плагины
https://developers.webasyst.ru/cookbook/plugins/
*получать все товары - не самый хороший вариант, лучше получать их порциями по мере просмотра страницы или разбить на страницы