Подскажите, как организовать разделы на сайте?

Аватар пользователя PopoFF PopoFF 16 февраля 2008 в 1:07

1. Не могу понять, как вывводить матриалы опредленного типа, которые как бы не привязаны к таксономии? Например, новости. У меня нет разделов новостей. Есть сплошной поток новостей, у которых есть теги (понятно, что это словарь с терминами). Если бы было конечное количество терминов, то можно было просто term/1+2+3 и т.д. но у меня то термины постоянно расширяются. Как решить задачку? Пробывал писать название типа материала, аналогично, как сделано для блогов - результат - страница не найдена.

2. Есть категория "Участники", в ней есть подкатегория "Продавцы", "Поставщики", "Потребители". К каждой подкатегории предъявляются свои требования и права доступа. Получается, что нужно создавать три типа материала, соответсвующих конкретной подкатегории. Как выводить всех "Участников"? Если сделать словарь Участники и термины "Продавцы", "Поставщики", "Потребители" и привязать словарь к трем типам материалов, то возможна ситуация, когда человек будет создавать один тип материала, а указывать другой термин. Как избавиться от путаницы?

Я так понимаю, что оба вопроса будут схожи в решении. Но не понимаю, как правильно организовать решение. Буду признателен за помощь.

Комментарии

Аватар пользователя Natalie Natalie 16 февраля 2008 в 1:14

Чтобы вывести все ноды определенного типа нужно либо писать сниппет (на этом сайте было несколько, поройтесь в темах), либо пользоваться views или еще каким-нибудь модулем. Еще вариант - создать какую-то категорию, к которой были бы привязаны все новости, тогда они будут выводиться при переходе на эту категорию (даже есть вроде какой-то модуль, который делает категорию обязательной).

Аватар пользователя PopoFF PopoFF 16 февраля 2008 в 1:22

Спасибо. Т.е. стандартного решения для вывода всех записей определнного типа ноды нет? И правильное решение - это завсти под каждую подкатегорию свой тип материалов, а представление реализовавать самостоятельно, опираясь на тип ноды?

Аватар пользователя Natalie Natalie 16 февраля 2008 в 1:30

Стандартного - нет (кроме блогов). И видимо, не будет до семерки, куда обещают добавить views.
Решение зависит от конкретной задачи - сколько вам нужно категорий, какие типы нод, права к ним и т.д.

Аватар пользователя PopoFF PopoFF 16 февраля 2008 в 1:34

Категорий будет не более 10ка, пока 5. Права доступа к типам нод различается. И работа с типами нод предстоит различная. Еще раз спасибо за информацию. Будем пробывать писать сниппеты или как их там правильно.

Аватар пользователя PopoFF PopoFF 16 февраля 2008 в 2:34

Получилось вот так:
<?php
$content_type = 'saler';
$result = pager_query(db_rewrite_sql("SELECT n.nid, n.title FROM {node} n WHERE n.type = '$content_type' AND n.status = 1 ORDER BY n.title ASC"));
$output .= "

    ";
    while ($cnode = db_fetch_object($result)) {
    $output .= "
  • ".l($anode->title, "node/$cnode->nid")."
  • ";
    }
    $output .= "

";
print $output;
?>