Регистрация
Вход через соцсети
Восстановление пароля

вывод товаров по полю

Новый топик
Страницы: 1  |  2
01.05.2014, 06:08
Ответить | Цитировать
Евгений
Patrol Studio

Зарегистрирован:
2014-03-06
Сообщений: 15

Здравствуйте!

Подскажите пожалуйста, как вывести все товары по общему полю (списка)?

У меня на сайте есть каталог товаров мебели, и есть раздел например мебель для кафе. Нужно чтоб вся мебель у которой есть поле "кафе" (выбрано из списка)отображалась в нужном разделе сайта.

спасибо
02.05.2014, 10:36
Ответить | Цитировать
Nexwich
Панасин Александр
Nexwich

Зарегистрирован:
2011-04-05
Сообщений: 943

Элементарно
В системных настройках компонента добавьте
$query_where = " a.имя_поля"; // Произвести выборку по полю
или
$query_where .= " AND a.имя_поля"; // Если уже используется выборка то дополнить
В зависимости от тех настроек которые уже есть.

Модуль "Почтовые уведомления" – настройка уведомлений на вашем сайте без программирования. Цена отзыв. Мне очень важно ваше мнение.
04.05.2014, 18:10
Ответить | Цитировать
Евгений
Patrol Studio

Зарегистрирован:
2014-03-06
Сообщений: 15

Вот что я с делал:

- Создал список - "Мебель для" - кафе / рестораны / и т.п.
- К товарам добавил поле типа "Список" и выбрал список "Мебель для"
- Назначил каждому товару свой тип из списка (кафе / рестораны / и т.п.)
- Далее зашел в раздел "Мебель для кафе" и в системных настройках вставил код:
$query_where = " a.MebelFor"; // Произвести выборку по полю

Захожу на сайте в раздел "Мебель для кафе", выводится ошибка "Ошибка в функции вывода объектов."
04.05.2014, 20:24
Ответить | Цитировать
Руслан Густокашин
Студия Вэлпис
Руслан Густокашин

Зарегистрирован:
2012-02-06
Сообщений: 869

Нужно было указать, по какому именно значению этого поля вы хотели сделать выборку. Например, так:
Код:

$query_where = "a.MebelFor=3";

- выведет все товары в текущем разделе,у которых выбран третий элемент выпадающего списка в этом поле.

04.05.2014, 22:45
Ответить | Цитировать
Евгений
Patrol Studio

Зарегистрирован:
2014-03-06
Сообщений: 15

Спасибо за ответы, но та же ошибка...

Может нужно компонент товаров назначать? И шаблон компонента уже свой делать?

Или без разницы какой компонент назначен разделу "Мебель для кафе"?

P.S. Извините за нуббство, только начинаю изучать NetCat
05.05.2014, 11:42
Ответить | Цитировать
Nexwich
Панасин Александр
Nexwich

Зарегистрирован:
2011-04-05
Сообщений: 943

Для вас конкретно написано где ошибка там и ищите а не задавайте вопросы пока не решили проблемы.
"Ошибка в функции вывода объектов."
Это значит во втором поле "Объект в списке" у вас синтаксическая ошибка кода php

Модуль "Почтовые уведомления" – настройка уведомлений на вашем сайте без программирования. Цена отзыв. Мне очень важно ваше мнение.
05.05.2014, 11:50
Ответить | Цитировать
Nexwich
Панасин Александр
Nexwich

Зарегистрирован:
2011-04-05
Сообщений: 943

$query_where = " a.MebelFor";
По такому коду у вас будут выведены все объекты у которых есть значение в поле "MebelFor", а ведь как выяснилось(спустя несколько ответов) вам нужно чтобы выводились у разных разделов разные товары в зависимости от назначенного раздела.
Усложните код.
Добавьте пользовательское поле (последняя вкладка в разработке "компонента") например "type"(тип поля список (тот же что и для товаров).
В системных настройках компонента впишите
Код:
$query_where = " a.MebelFor = '".$cc_settings[type]."'";

В визуальных настройках инфоблока выберите тип по которому отображать
Таким образом выйдет что $cc_settings[type] вы выбрали "Мебель для кафе" = id 3 и у товаров также стоит мебель для кафе так же = 3. И будут выведены товары которые имееют тип совпадающий с типом инфоблока

Модуль "Почтовые уведомления" – настройка уведомлений на вашем сайте без программирования. Цена отзыв. Мне очень важно ваше мнение.
05.05.2014, 17:36
Ответить | Цитировать
Евгений
Patrol Studio

Зарегистрирован:
2014-03-06
Сообщений: 15

Спасибо Вам огромное, получилось! только я еще добавил:
$ignore_sub = true;
$ignore_cc = true;
06.05.2014, 10:02
Ответить | Цитировать
Nexwich
Панасин Александр
Nexwich

Зарегистрирован:
2011-04-05
Сообщений: 943

Но теперь загадка зачем вам типы разделять выборкой если вы могли это делать с помощью добавления в разные инфоблоки или разделы?
У вас вышло что выводятся все товары с выборкой по типу. Тип выборки назначается в инфоблоке. Следовательно Выводятся только товары соответствующего одного типа. Это равносильно тому что если бы вы добавили товары по разным инфоблокам то они также были бы выведены раздельно.

Модуль "Почтовые уведомления" – настройка уведомлений на вашем сайте без программирования. Цена отзыв. Мне очень важно ваше мнение.
11.05.2014, 21:19
Ответить | Цитировать
Евгений
Patrol Studio

Зарегистрирован:
2014-03-06
Сообщений: 15

Но товары в каталоге у меня в разных разделах.
Например:
Столы
- Столы на дер. каркасе
- Столы на метал. каркасе
Стулья
- Стулья на дер. каркасе
- Стулья на метал. каркасе

И каждый тип товара может быть в разных разделах.
12.05.2014, 10:01
Ответить | Цитировать
Nexwich
Панасин Александр
Nexwich

Зарегистрирован:
2011-04-05
Сообщений: 943

Я так и думал пока вы не написали
$ignore_sub = true;
$ignore_cc = true;
Что полностью противоречит вашей задумке. Теперь я понял что вы хотели.

Модуль "Почтовые уведомления" – настройка уведомлений на вашем сайте без программирования. Цена отзыв. Мне очень важно ваше мнение.
198 196 2015-10-20 09:05:17 13627
Страницы: 1  |  2
Описание проекта