Показ документов из нескольких подразделов в родительском разделе

Главные вкладки

Аватар пользователя Гость Гость (не проверено) 26 марта 2005 в 4:45

Здраствуйте, я писал раньше, но похоже, не прислалось сообщение.
Есть меню и соотв. таксономирические разделы:

Раздел
Подраздел1
Подраздел2

Можно ли сделать так, чтобы при заходе в "Раздел" Был вывод статей из Подраздел1+Подраздел2?

Пытался указать "связанность" для таксономии, но не помогло.

Лучший ответ

Аватар пользователя Nick Nick 27 марта 2005 в 13:11

Это ссылки на 1н и тот же топик, но на разные комментарии.
1я ссылка - это ссылка ответа на мой комментарий
2я ссылка - это ссылка ответа на топик.
тем не менее, это 1н и тот же топик. Видите же номер node один и тот же.

--
USU-Lug http://usu-lug.org.ru

Комментарии

Аватар пользователя Гость Гость (не проверено) 27 марта 2005 в 3:56

Вариант со сложением разделов в адресе я пробовал, он в хелпе описан.
Но как-то это показалось не "в традициях школы".
Но раз можно только так, оставлю как есть.
Или действительно напишу что-нить модульное, если не понравится.

Аватар пользователя edhel edhel 26 марта 2005 в 14:11

Для моего сайта не подошел никакой модуль для навигации по разделам, поэтому я писал собственный модуль, сделав hook_menu, который обрабатывает запросы вида drupal/rubric/, выводя на странице название раздела (фактически, термина таксономии), список подразделов и список nodes непосредственно из этого раздела. Тут мне понадобились функции: taxonomy_get_term, taxonomy_select_nodes, taxonomy_get_children, taxonomy_get_related, ну и theme.

В том же модуле забабашил блок (hook_block), который выводит список корневых рубрик в виде меню.

Можно даже посмотреть это здесь: http://region2.krasu.ru/, но сайт пока в стадии разработки и миграции контента со старой версии.

Аватар пользователя kiev1 kiev1 26 марта 2005 в 17:55

какой красивый сайт и грузится быстро, а можно ваши изыскания сюда запостить если не жалко, а еще - чем сделаны такие сслылки http://region2.krasu.ru/rubric/48 - мне тоже надо что-бы при входе в рубрику не вылазили все документы из подрубрик в куче а красиво писались только ссылки на подрубрики как у вас - подскажите пожалуйста.

Аватар пользователя edhel edhel 26 марта 2005 в 19:06

Мой модуль для сайта заточен под конкретный flexinode и таксономию - я там id-шники использую полей flexinode и разных таксономий. Если сильно захотеть, то можно его попробовать обобщить и на общий случай, но лениво %] Могу запостить примеры кода модуля region.module, с помощью которого, в частности, делаются сранички rubric/id:

перекрываем обработку URL вида /news и /rubric/id:


function region_menu($may_cache) { 
	$items = array();
	if ($may_cache) { 
		$items[] = array('path' => 'news', 'title' => t('новости'), 'callback' => '_region_news_page',
 'type' => MENU_CALLBACK, 'access' => user_access('access content'));
		$items[] = array('path' => 'rubric', 'title' => t('рубрика'), 
'callback' => '_region_rubric_page', 'type' => MENU_CALLBACK, 
'access' => user_access('access content'));
	}
	return $items;
}

Функция, которая генерирует страницы rubric/id:


function _region_rubric_page() {
	$tid = arg(1) + 0; // получаем id термина таксономии
	$rubric = taxonomy_get_term($tid); // берем из БД инфу о термине
                // берем список всех нодов текущего раздела, сортируем его и генерируем html
	$articles = theme_region_articles(_region_sort_articles(taxonomy_select_nodes(array($tid))),
 $intro_article); 
	// берем списки дочерних и связанных терминов, генерируем html
	$subrubrics = 
	theme_region_subrubrics(taxonomy_get_children($tid,2), taxonomy_get_related($tid));
	if (isset($intro_article)) // если имеется sticky-статья для раздела, то и ее в html...
		$article = theme('node',$intro_article);
	if (empty($intro_article) && empty($articles) && empty($subrubrics))
		$article = "Раздел пока пуст."; // если совсем пусто раздел, то...
	print theme('page', "$article\n$articles\n$subrubrics\n", $rubric->name); // рендерим страничку
}

Дальше сами как-нибудь %]

Нравится мне в Дрюпале, что модули легко писать. Вот ez publish изучал, дык даже страшно браться за написание модуля... хотя там очень много можно сделать и без модулей, только на шаблонах.

Аватар пользователя Гость Гость (не проверено) 26 марта 2005 в 19:11

Спасибо!
мне тоже в друпале нравится что просто - не то что в пн например, примерчиков таких побольше-бы и в фак

Аватар пользователя kiev1 kiev1 26 марта 2005 в 21:07

еще вопрос - я что-то не пойму в друпале - что значит "пееркрываем" - я так понял что можно написать функцию в своем модуле которая "перекроет" стандартеую - вот вопрос - по каким правилам она должна называтся?

да и вот еще что - раз вы flexinode используете - самый нужный модуль в друпал, то давайте его доделаем например его плагин картинок: его надо изменить так что-бы картинка имела подпись и автоматически ресайзилась, ну например до размера по ширине 180 (обычно ни больше ни меньше н надо) а при на ней нажатии выскакивало popup окошко в полный размер. Вот я сижу и думаю - ресайзить можно-ли при выводе и закеширкуется-ли он если кеш включить или лучше как обычно дубликаты на диске плодить?

Аватар пользователя edhel edhel 27 марта 2005 в 9:17

Правильно - нужно писать функцию с определенным именем и определенным набором параметров и она автоматически вызываться когда надо. Имена такого вида: НазваниеМодуля_Тип(параметры). Например, для создания блоков нужно в модуле написать функцию: function yourModuleName_block($op = 'list', $delta = 0) {...}

Читать здесь: http://drupaldocs.org/api/4.5/group/hooks.

Вместо картинок flexinode я вставляю картинки в текст нодов с помощью фильтра image_filter. Ну понятно и модуль image надо поставить. Если не нужно масштабирование, то закачиваю к ноде картинки модулем upload и напрямую пишу img src=files/mypic.gif.

Аватар пользователя edhel edhel 27 марта 2005 в 20:10

ничего особенно, просто вспомогательные функции... чтобы не было конфликта имен такие функции в дрюпале рекомендуется называть _НазваниеМодуля_НазваниеФункции

Аватар пользователя Гость Гость (не проверено) 27 марта 2005 в 4:10

Кстати, друпал суёт везде ссылку/картинку на xml подписку - Где это отключить?
я в настройках друпала лазил, в настройках тем, но отключалку не нашёл.

Аватар пользователя Nick Nick 27 марта 2005 в 13:11

Это ссылки на 1н и тот же топик, но на разные комментарии.
1я ссылка - это ссылка ответа на мой комментарий
2я ссылка - это ссылка ответа на топик.
тем не менее, это 1н и тот же топик. Видите же номер node один и тот же.

--
USU-Lug http://usu-lug.org.ru