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

Как выбрать не только из подразделов, но и из всех вложенных

Новый топик
28.02.2007, 18:39
Ответить | Цитировать
Гость
Гость

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

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

С помощью
$query_where = "sub.Parent_Sub_ID='{$sub}'";
можно выбрать только из одного уровня подразделов,
а если этих уровней может быть очень много?

Нужно построить дерево, где верхние ветки содержат все данные своих подветок
(выводя их с помощью s_list_class ограничивая количество через recNum=10)

Подскажите пожалуйста,
очень интересно как же это в результате можно сделать.
02.03.2007, 12:03
Ответить | Цитировать
h/z

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

вам нужно получить идентификаторы всех подразделов, примерно такой же работой занимается функция генерирующая карту сайта (там используются рекурсивный вызов функции)
в вашем случае я думаю необходимо на примере карты сайта, написать свою функцию для получения идентификаторов подразделов и вывода данных из них
свою новую функцию поместите в файл /netcat/modules/default/function.inc.php
и вызывайте где понадобится
15.03.2007, 21:49
Ответить | Цитировать
bebezjkAaaa

Зарегистрирован:
2007-03-13
Сообщений: 16

меня тоже волнует этот вопрос,
но имхо этот метод подойдет если необходимо просто выбрать все обьекты подразделов, при этом потеряется тонкость работы c обьектами: вывод - визуально мы получим список, но физически это будет N сущностей на странице, с каждой из которой придется работать отдельно (ex: постраничная навигация по выведенным обьектам)

Возможное решение:
- написать свою функцию для получения ТОЛЬКО идентификаторов подразделов;
- в системных настройках шаблона товара сделать это функцию global;
- вызвать эту функцию c параметром $sub и полученный массив implode(','...);
- добавить $query_where = 'a.Subdivision_ID IN (...)'

Правда возникает проблема с оптимизацией и отработкой такой системы.
Пока других решений в глоову не приходит =

PS: много где встречал $query_where = "sub.Parent_Sub_ID='{$sub}'"; но это рабоатет тольок на 2 уровня + если честно я не савсем понимаю откуда тут sub. берется XD документация молчит по этому поводу... если кто подскажет буду признателен.

qwe
16.03.2007, 12:02
Ответить | Цитировать
h/z

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

подключите такой же шаблон как и подразделов, и в настройках шаблона,
для $sub==топовой_раздел чтобы срабатывали настройки
$ignore_sub – если 1, игнорирует выборку объектов по текущему разделу (по умолчанию - 0);
$ignore_cc – если 1, игнорирует выборку объектов по текущему шаблону в разделе (по умолчанию - 0);

правда выборка выдаст все записи из такого шаблона, попробуйте настроить дополнительные условия выборки из БД
16.03.2007, 14:13
Ответить | Цитировать
bebezjkAaaa

Зарегистрирован:
2007-03-13
Сообщений: 16

h/z писал(а):
подключите такой же шаблон как и подразделов, и в настройках шаблона,
для $sub==топовой_раздел чтобы срабатывали настройки
$ignore_sub – если 1, игнорирует выборку объектов по текущему разделу (по умолчанию - 0);
$ignore_cc – если 1, игнорирует выборку объектов по текущему шаблону в разделе (по умолчанию - 0);

правда выборка выдаст все записи из такого шаблона, попробуйте настроить дополнительные условия выборки из БД


Эмм, а зачем $sub==топовой_раздел ? получается что такое сработает только на одном разделе.. =

qwe
198 196 2007-03-16 14:13:53 8898
Описание проекта