|
|
08.05.2008, 17:33
|
|
Гость
Гость
|
Пожскажите, кто знает.
Нужно чтобы в разделе выводилось содержимое нижележащего раздела. Как реализовать практически?
(наверное нужно настроить компонент чтобы в префиксе выводилось содержимое нижележащего раздела).
Спасибо
|
|
|
08.05.2008, 17:48
|
|
ktotoff
АльтерЛан
Зарегистрирован: 2006-12-19
Сообщений: 339
|
Если у вас нет контента для раздела, а предполагается сразу переход на один из подуровней, то правильней и проще это организовать с помощью переадресаций.
...жизнь прекрасна, когда правильно подобраны антидепрессанты...
|
|
|
11.05.2008, 10:53
|
|
Гость
Гость
|
Дело в другом. Есть одноуровневый каталог (разделы сайта) на страницах которого представлен обычный список продукции (используется определенный компонент). Но в каждом разделе перед списком нужно выводить описание.
Идея в том что описание размещать в соответствующих дочерних разделах и выводить его перед списком продукции.
Может есть другие способы, но пока другого решения не вижу.
|
|
|
11.05.2008, 21:46
|
|
DiGGy
DiGGy
Зарегистрирован: 2005-04-04
Сообщений: 1546
|
Вот вам один из вариантов решения:
Код:
/*****************************************************************
* Получение 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;
}
На входе подаете ИД корневого раздела, а на выходе получаете строку со списком ИД вложенных подразделов. Далее в системных настройках компонента (шаблона) корректируете sql запрос добавляя в условие where условие "Subdivision_ID in (".SubdivisionChildsGet(ИД текущего раздела).")"
Temet nosce...
|
|
|
12.05.2008, 09:10
|
|
Гость
Гость
|
Как вариант
Цитата:
".(!$totRows?"
<ul>
".@listQuery("
SELECT Catalogue_ID, Subdivision_ID, Subdivision_Name, Hidden_URL, Catalogue_ID, ExternalURL
FROM Subdivision
WHERE Checked = '1'
AND Parent_Sub_ID = '$sub'
ORDER BY `Priority` ASC
","
".($admin_mode?"
<li><a href='/netcat/?catalogue=$data[Catalogue_ID]&sub=$data[Subdivision_ID]'>$data[Subdivision_Name]</a></li>
":"
<li><a href='$data[Hidden_URL]'>$data[Subdivision_Name]</a></li>
")."
")."
</ul>
":NULL)."
|
|
|
12.05.2008, 10:24
|
|
DiGGy
DiGGy
Зарегистрирован: 2005-04-04
Сообщений: 1546
|
Гость писал(а):Как вариант....
Ваш вариант - это частный случай для 2х уровневых разделов. Если у разделов более 2х уровней, то в корневом разделе вы не увидите содержание 3-го и более разделов.
Temet nosce...
|
|
|
06.06.2013, 21:42
|
|
Гость
Гость
|
Цитата:Вот вам один из вариантов решения:
Код:
/*****************************************************************
* Получение 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;
}
На входе подаете ИД корневого раздела, а на выходе получаете строку со списком ИД вложенных подразделов. Далее в системных настройках компонента (шаблона) корректируете sql запрос добавляя в условие where условие "Subdivision_ID in (".SubdivisionChildsGet(ИД текущего раздела).")"
я вставил этот код в "Системные настройки:" компонента. видимо нужно еще что-то прописать чтобы увидеть результат. Заранее благодарю за ответ.
|
|
|
07.06.2013, 21:06
|
|
Руслан Густокашин
Студия Вэлпис
Зарегистрирован: 2012-02-06
Сообщений: 962
|
Еще один вариант отображения вложенных объектов я приводил в соседнем топике:
вывод объектов из дочерних подразделов
Но я так понял, что вам нужно немного другое - выводить для раздела какое-то описание, у каждого раздела - свое.
Так не проще ли в визуальных настройках компонента ввести какое-то текстовое поле, куда вы будете вбивать текст в админке? Либо создать дополнительное поле в системной таблице "Разделы" и также заполнять его нужным текстом.
|