Добро пожаловать на сайт Bitrix Q&A, где вы можете задавать вопросы о программировании и разработке на Битрикс и получать быстрые и квалифицированные ответы от профессионалов!


Как сделать что бы не выводились товары без цены?

0 голосов
Добрый день. Такой вопрос. После выгрузки на сайт номенклатуры, некоторая номенклатура выгрузилась без цены, т.к в 1С на нее не заведен документ Устновка цен номенклатуры.

В шаблоне компонента catalog прописал что если цена равна 0, тогда элемент не выводится, в результате на некоторых страницах по 1 - 2 товара выводится. Что прописать в компоненте что бы из базы выбирались только те товары, у которых заполнена цена?
спросил 08 Ноя, 13 от mrUhauma (320 баллов)

5 Ответы

0 голосов
Цитата
Михаил Щербак пишет:
Добрый день. Такой вопрос. После выгрузки на сайт номенклатуры, некоторая номенклатура выгрузилась без цены, т.к в 1С на нее не заведен документ Устновка цен номенклатуры.

В шаблоне компонента catalog прописал что если цена равна 0, тогда элемент не выводится, в результате на некоторых страницах по 1 - 2 товара выводится. Что прописать в компоненте что бы из базы выбирались только те товары, у которых заполнена цена?


Я думаю только в компонент лезть, модифицировать. Был похожий вопрос в форуме - остался без ответа. Я тоже не могу придумать, сталкавался как-то, нормально решить не удалось, пришлось на API делать, без компонентов.
ответил 17 Дек, 13 от SleepLess (1,220 баллов)
0 голосов
Как вариант, берем компонент, который выводит товары, создаем магический резулт модифе пхп, в нем делаем цикл по товарам, в цикле для каждого элемента вызываем метод $ar_res = CPrice::GetBasePrice(ид товара), и далее проверку, if(!$ar_res["PRICE"]).
ответил 01 Апр, 14 от Niferiys (220 баллов)
0 голосов
Цитата
Антон Савченко пишет:
Как вариант, берем компонент, который выводит товары, создаем магический резулт модифе пхп, в нем делаем цикл по товарам, в цикле для каждого элемента вызываем метод $ar_res = CPrice::GetBasePrice(ид товара), и далее проверку, if(!$ar_res["PRICE"]).


А как быть с тем, что в результате этого из, например, 50 выводимых результатов остаются только 10?
ответил 25 Июль, 14 от SleepLess (1,220 баллов)
0 голосов
Пока приходит на ум следующие: ведь товары без цены появляються каждый раз после обновления каталога. Так вот, пишем скрипт, который пробегает по товарам, и каждый товар, что без цены делает не активным. Таким образом при выборке результаты не будут попадать в общий список и проблема с тем что на страницах по 10 товаров не будет отображаться по 4 - 6. И вот этот скрипт, будем запускать каждый раз, после обновления каталога. или кроном, или можно запрограмить так, чтобы запускался автоматом послеобновления - дальше в общем фантазия безгранична.
ответил 26 Ноя, 14 от OPEX (720 баллов)
0 голосов
Цитата
Evgenij Chirochkin пишет:
Пока приходит на ум следующие: ведь товары без цены появляються каждый раз после обновления каталога. Так вот, пишем скрипт, который пробегает по товарам, и каждый товар, что без цены делает не активным. Таким образом при выборке результаты не будут попадать в общий список и проблема с тем что на страницах по 10 товаров не будет отображаться по 4 - 6. И вот этот скрипт, будем запускать каждый раз, после обновления каталога. или кроном, или можно запрограмить так, чтобы запускался автоматом послеобновления - дальше в общем фантазия безгранична.


Но это тоже не всегда подойдёт, т.к. в Битрикс почти так: если не активен - значит "тебя нет". Т.е. не посмотришь, в поиске не найдешь товар, а какие дальше могут всплыть проблемы - даже и неизвестно. Да и по здравой логике это как-то не клеится. Всё-таки товар есть, просто отображать не нужно.
ответил 21 Март, 15 от SleepLess (1,220 баллов)
Управление продуктом: аналитика, разработка, продвижение