Есть таксономия, она позволяет присваивать ей два типа материала А и B.
Задача в том, чтобы показывать только один тип материала и переключаться между ними, оставаясь в той же категории таксономии, либо если в категории не найдено материала другого типа перейти в родительскую и так далее.
Какие посоветуете варианты решения и как это делается в Друпале?
В данный момент я "слазил" в модуль taxonomy и добавил в sql запросе, выбирающеи ноды, чтото типа type = $_SESSION['node_type'], и создал две страници, которые эту сесию меняют. Но это варварское решение меня не совсем устраивает, ибо я думаю есть в друпале какое-то более правильнок решение:) Прошу совета у знающих людей.
+ ещё к этому: в меню должны прятаться пункты (каждый пункт меню, указывает на словарь таксономии), в которых как-бы нет материала ("как-бы нет" - это значит, что там есть материал А, но мы хотим отображать только материал B), поэтому спрятать (показать) пункт меню при удалении (добавлении) материала не вариант решения. Ибо прятать или показывать надо решать во время отображения и вставить зависимость от сессии $_SESSION['node_type'] (в моём решении), но бля, опять же, по варварски проверять каждый пункт меню, т.е. брать линк на таксономию и смотреть есть ли там материал данного типа и если есть показать.
Такие вот текущие вопросы м моём постижении Друпала.
Спасибо, знающим людям за советы, буду ждать.
Комментарии
Добавляете новый формат ввода PHP
Вставляете код
<?php
$result = pager_query(db_rewrite_sql('SELECT n.nid, n.title, n.created FROM {node} n WHERE n.type = "story" AND n.status = 1 ORDER BY n.sticky DESC, n.created DESC'), 30);
$output .= "<table border=\"0\" cellpadding=\"3\">";
while ($node = db_fetch_object($result)) {
$date_create=date("d.m.Y", $node->created);
$output .= "<tr valign=\"top\"><td>".$date_create."</td><td><a href=\"".$node->nid."\">".$node->title."</a></td></tr>";
}
$output .="</table>";
$output .= theme('pager', NULL, $listlength);
return $output;
?>
Получаете все ноды определенного типа... С листингом по страницам
Ну запрос этот я же говорю изменил, но в таком случае, что делать с меню?