|
|
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
Островский Вячеслав
Зарегистрирован: 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
Егоровых Дмитрий
Зарегистрирован: 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
Егоровых Дмитрий
Зарегистрирован: 2007-10-05
Сообщений: 81
|
да нее)) решил проблему по мере необходимости)
ася - 97336016
|