Необычная структура

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

Аватар пользователя Dec0der Dec0der 21 сентября 2007 в 22:50

На сайте есть категории, их заполнение происходит по средствам блоговых записей. Т.е. для категорий определён тип материала - блоговые записи.
Т.о. образом получается, что каждый пользователь имеет свой блог в который ппишет записи, эти же записи принадлежат к конкретной категории (при записи можно определять, в какую категорию добавить). Ну это всё понятно.
При входе в конкретную категорию хотелось бы, что бы была кнопка добавить именно в эту категорию. А так получается, при создании материала нужно заново отмечать категорию.
Вот например как на форуме, когда добовляешь материал, там уже выделена категория.
Как это сделать (что бы категория выбиралась по-умолчанию)?

Комментарии

Аватар пользователя edhel edhel 22 сентября 2007 в 9:06

1) Для просмотра категорий сделать своё view, в настройках view добавить кнопочку/ссылочку с адресом node/add/blog/TID.

2) Написать модулек с хуком _form_alter, который выбирает в форме нужную категорию, если arg(3) число.

В forum-е это сделано так:

<?php
function forum_prepare(&$node) {
if (!$node->nid) {
// new topic
$node->taxonomy[arg(3)]->vid = _forum_get_vid();
$node->taxonomy[arg(3)]->tid = arg(3);
}
}
?>

Аватар пользователя Dec0der Dec0der 23 сентября 2007 в 2:11

да уж...
тоже самое с модулем ed-classified
Ну почему бы сразу не сделать для таких модулей, что бы была кнопка добавить и что бы категория сама выбиралась... Sad
Как в форуме.

Честно говоря, я не понял как модуль создать... Куда его потом приплести... Может эту запись добавить в модуль таксономии???

Аватар пользователя edhel edhel 23 сентября 2007 в 6:23

Честно говоря, я не понял как модуль создать... Куда его потом приплести... Может эту запись добавить в модуль таксономии???

Если даже я скажу куда файлы пихать, то это Вам не поможет. Еще же и текст модуля надо написать, а Вам до этого похоже еще далеко. См. drupal.org/handbooks, api.drupal.org

Ядро менять не надо, когда есть способ сделать это в отдельном модуле.