|
|
16.04.2011, 18:30
|
|
Александр
Зарегистрирован: 2011-04-15
Сообщений: 13
|
Например структура:
категория1
--подкатегория1_1
--подкатегория1_2
--подкатегория1_3
категория2
--подкатегория2_1
--подкатегория2_2
категория3
как вывести список всех новостей?
|
|
|
19.04.2011, 18:59
|
|
Герман
Зарегистрирован: 2011-04-15
Сообщений: 13
|
+ присоединяюсь к вопросу
имхо..
|
|
|
19.04.2011, 20:32
|
|
Denis

Зарегистрирован: 2008-07-15
Сообщений: 666
|
Через
Код:$ignore_sub = $ignore_cc = 1;
в системных настройках можно снять ограничение на вывод только объектов, принадлежащих одному разделую
|
|
|
07.06.2013, 10:32
|
|
Гость
Гость
|
Цитата:Через
Код:$ignore_sub = $ignore_cc = 1;
в системных настройках можно снять ограничение на вывод только объектов, принадлежащих одному разделую
в этом случае будет выводиться всё и в "категория1"
что дописать чтобы в "категория1" выводить только содержимое
--подкатегория1_1
--подкатегория1_2
--подкатегория1_3
а в "категория2" только содержимое
--подкатегория2_1
---подкатегория2_1_1
---подкатегория2_1_2
--подкатегория2_2
|
|
|
07.06.2013, 20:59
|
|
Руслан Густокашин
Студия Вэлпис
Зарегистрирован: 2012-02-06
Сообщений: 962
|
Только что ведь обсуждали. 
Вот здесь вывод объектов из дочерних подразделов
|
|
|
07.06.2013, 21:44
|
|
Хоботов
Зарегистрирован: 2012-11-26
Сообщений: 9
|
пробую объяснить что требуется еще раз:
у меня на сайте 3-х уровневый каталог
Категория 1 (товаров нет - вывел см.код1)
--Подкатегория 1-1 (тут товары)
--Подкатегория 1-2 (тут товары)
Категория 2 (нужно увидеть товары из подкатегорий)
--Подкатегория 2-1 (товаров нет - вывел см.код1)
---Подкатегория 2-1-1 (тут товары)
---Подкатегория 2-1-2 (тут товары)
--Подкатегория 2-2 (товаров нет - вывел см.код1)
---Подкатегория 2-2-1 (тут товары)
---Подкатегория 2-2-2 (тут товары)
КОД 1 (разместил в компоненте в системных настройках)
Код:if ($sub == 36) {
$ignore_cc = $ignore_sub = 1;
$query_where = "a.Subdivision_ID in (";
$query = "SELECT Subdivision_ID FROM Subdivision WHERE Parent_Sub_ID='{$current_sub['Subdivision_ID']}'";
$res = $db->get_col($query);
foreach ((array)$res as $value) {
$query_where .= $value.",";
}
$query_where .= $current_sub['Subdivision_ID'].")";
}
данный код срабатывает в подкатегориях 2-1 и 2-2
но в категории 2 если я ставлю этот код - не срабатывает.
пробывал вставлять в системные настройки код от DiGGy
Код:
/*****************************************************************
* Получение ID всех вложенных подразделов рубрикатора
*/
function SubdivisionChildsGet($subdivision_id) {
global $db;
$ids = "";
$childs = "";
$query = "select Subdivision_ID from Subdivision where Parent_Sub_ID='{$subdivision_id}'";
$res = $db->get_col($query);
foreach ((array)$res as $id) {
// получаем вложенные подразделы по рекурсии
$childs = SubdivisionChildsGet((int)$id);
$ids .= ($ids?",":"").$id.($childs?",":"").$childs;
}
return $ids;
}
в итоге в разделе 2 - пусто
|
|
|
07.06.2013, 22:14
|
|
Руслан Густокашин
Студия Вэлпис
Зарегистрирован: 2012-02-06
Сообщений: 962
|
Напишите, каким образом в системных настройках вы вызываете функцию, предложенную Diggy.
|
|
|
08.06.2013, 16:29
|
|
Хоботов
Зарегистрирован: 2012-11-26
Сообщений: 9
|
а так и вставлял. .. и в условие помещал if ($sub == 12) {....
просто я еще до конца много чего не понимаю, а дело сделать нужно уже сейчас. вот и полез я естесьно сюда на форум. а тут нашел только 2 варианта реализации того что мне нужно. я конечно мог бы вывести все содержимое из разделов и с помощью nc_objects_list .... а может еще какое есть решение..
|
|
|
10.06.2013, 07:33
|
|
Руслан Густокашин
Студия Вэлпис
Зарегистрирован: 2012-02-06
Сообщений: 962
|
Но Вы же понимаете, что Diggy привел всего лишь функцию, которая сама по себе ничего не делает? В системных настройках нужно сделать лишь вызов этой функции и обработку результатов ее работы, а саму функцию нужно поместить в /netcat/modules/default/function.inc.php.
В системных настройках вызывать эту функцию примерно так:
if($sub==12) {
$ignore_sub=$ignore_cc=1; // отключаем стандартную выборку
$sublist=SubdivisionChildsGet($sub); // в sublist получаем список номеров подразделов, разделенных запятыми
$query_where .= " AND (a.Subdivision_ID in ($sublist) OR a.Subdivision_ID='$sub')"; // выбираем только те объекты, которые находятся в подразделах этого раздела, а также в текущем разделе.
}
|