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

В каждом разделе с подразделами вывести список товаров

Новый топик
06.11.2006, 19:41
Ответить | Цитировать
Гость
Гость

Во всех разделах каталога магазина (структура из 1С) один шаблон (товар), товары всегда только в конечных разделах (у которых нет подразделов, например в 1.1, 1.2.1.1, 1.2.2, 1.3 и 2).
Как в разделах с подразделами вывести список товаров из подразделов в одинаковом дизайне (описан в "объекте в списке" шаблона товар):
в 1.2 (список товаров из 1.2.2, 1.2.1.1)
в 1. (список товаров из 1.1, 1.2.1.1, 1.2.2 и 1.3) и так далее по всему каталогу.

Т.е. в каждом разделе (без товара) с подразделами необходимо вывести список товаров из подразделов этого раздела.

Структура
1. (нет)
--1.1 (есть)
--1.2 (нет)
----1.2.1 (нет)
-------1.2.1.1 (есть)
----1.2.2 (есть)
--1.3 (есть)
2. (есть)

Один из рассматриваемых на форуме вариантов: поставил в системных настройках шаблона товар
Код:
$ignore_sub = 1;
$ignore_cc = 1;
$ignore_catalogue = 1;


Теперь в каждом разделе весь список товара всего каталога.
А как сделать условие?
07.11.2006, 17:20
Ответить | Цитировать
chelout
Островский Вячеслав
chelout

Зарегистрирован:
2006-08-23
Сообщений: 73

Для начала вам нужно написать рекурсивную функцию, которая по идентификатору текущего раздела (Subdivision_ID) будет выбирать идентификаторы всех подразделов, т.е. все разделы, у которых Parent_Sub_ID будет равен Subdivision_ID текущего раздела. Затем полученные идентификаторы записать в строку вида "1, 2, 3, 4, 33" и настройках шаблона товара написать

$ignore_sub = 1;
$ignore_cc = 1;
$ignore_catalogue = 1;

$query_where = "a.Subdivision_ID IN (".$SubArray.")";

где $SubArray - строка с идентификаторами подразделами текущего раздела.
05.12.2011, 17:07
Ответить | Цитировать
dimidroll
Егоровых Дмитрий
dimidroll

Зарегистрирован:
2007-10-05
Сообщений: 81

Сделалулыбка Спасибо за помощь, кому нужен код, который необходимо вставить в системные настройки компонента с Товарами

Код:

$cats = GetStructure($current_sub['Subdivision_ID'],"Checked=1");
// GetStructure - функция найдена в коде Netcat (рекурсивная)
if(is_array($cats) and count($cats)>0) {
foreach ($cats as $row)
{
$SubArray .= ','.$row[Subdivision_ID];
}
$SubArray = substr($SubArray, 1);
$ignore_sub=1;
$ignore_cc=1;
$query_where = "a.Subdivision_ID IN (".$SubArray.")";
}


и после в любой раздел в каталоге добавляем компонент с товарами и вуаляулыбка

ася - 97336016
06.12.2011, 01:05
Ответить | Цитировать
Инна
АДВЕКОН

Зарегистрирован:
2005-12-12
Сообщений: 3

пять лет делал? большая улыбка

Инна
07.12.2011, 09:05
Ответить | Цитировать
dimidroll
Егоровых Дмитрий
dimidroll

Зарегистрирован:
2007-10-05
Сообщений: 81

да нее)) решил проблему по мере необходимости)

ася - 97336016
198 196 2011-12-07 09:05:34 8788
Описание проекта