стопка вопросов от создания статьи до таксономии

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

Аватар пользователя ShadOR ShadOR 22 июня 2009 в 16:55

У меня стопка вопросов. Помогите, пожалуйста - новичок. Пробовал искать ответы на свои вопросы в поиске по форуму, но нашел не все и не все понял. Вопросы которые остались:

1) Я создал три типа материалов, с использованием CCK. И три словаря таксономии, в каждом по одному термину, название которого совпадает с одним из типов материалов и привязка данного словаря делается к соответствующему типу. Это делается с целью, что бы после создания материала при его просмотре было видно к какому типу он относится (то есть внизу слово-ссылка при нажатии по которой открывается страница со всеми материалами данного типа). Такие вопросы:
а) Как задать значение по умолчанию? (пусть термин в словаре всего один, но хочется, что бы сразу и был выбран именно он, а не "ничего не выбрано")
б) Как вообще скрыть поле таксономии при создании материала? То есть, что бы при создании статьи ей автоматически присваивался термин словаря и это не было заметно для заполняющего. Читал на форуме советы применять NAT, но я с ним банально не разобрался.

2) Нужно было в двух из типов сделать привязку по географии. Это было сделано благодаря материалам данной темы: http://drupal.ru/node/23269. Но неприятно то, что оно при создании материала выводится в поле, над которым стоит заголовок: "Словари". Замечено, к типам материалов, к которым привязано только 1 словарь таксономии - такого поля нету, к которым 2 и больше - есть.
Хотелось бы поменять его на "географию". Как такое сделать?

3) Есть несколько созданных групп пользователей. Сделано ограничение, что бы каждая группа могла создавать только некоторые типы материалов, абсолютно не имея доступа к другим. Все страницы типа: ?q=node/add/... , то есть страницы создания материалов выведены в корень того меню, что у сайта слева по умолчанию. То есть каждый вид пользователей видит у меня только те страницы создания материалов, которые у него разрешены правами. Но стоит такая задача. Допустим, есть тип "Анкета" и тип "Материал". Необходимо:
а) Каждый пользователь должен создать 1 и притом - только 1 "Анкету". Только после этого он может создавать "материалы" - уже в неограниченном количестве. Анкету можно править, нельзя удалять вообще.
б) Порядок расположения пунктов меню меняется в зависимости от группы пользователя.
в) В идеале - пункт "Создать Материал" вообще должен отсутствовать в меню до создания "Анкеты".

4) Должна быть связь между:
"анкетами"-пользователями, которая заполняется автоматически и видна только администратору при просмотре "анкеты" (при открытие анкеты показывается логин пользователя, которому она принадлежит).
"материалами"-"анкетами", которая заполняется автоматически, но видна всем.
Принцип работы аналогичен тому, что дает: Node Referrers и Node reference. Но я не разобрался, как их скрыть при заполнении материалов пользователем и как сделать, что бы они автоматически подхватывали значения.

Буду очень благодарен за помощь. Заранее спасибо!

Комментарии

Аватар пользователя ShadOR ShadOR 23 июня 2009 в 15:17

Искал уже не только на этом сайте, но и в гугле. Может я не особо умею искать - но не нахожу нужной информации. Подскажите хоть что-нибудь.

Аватар пользователя ShadOR ShadOR 24 июня 2009 в 15:54

Покопался. Как я понял, на первый вопрос может в ответе помочь хук form_alter. При том он может задать и значение по умолчанию и делать скрытым. Вот только я не очень разобрался как работает данный хук... Да и хуки вообще.

Также решил вопрос с тем как сделать автовыставление значения для User reference, просто в его ПХП дефаултных значениях вставил:

global $user;
return array(0 => array('uid' => $user->uid));

Теперь бы еще придумать как скрыть это поле с глаз долой. А так же как сделать, что бы его впоследствии нельзя было поменять...

Аватар пользователя ShadOR ShadOR 25 июня 2009 в 14:22

Решил пункт 3.а и 3.б благодаря прекрасной теме: [РЕШЕНО] Разные формы регистрации. Просто анкеты перенес в профиль. Таким образом решился вопрос, что ее можно создавать только 1. Нормально настроил разные анкеты для разных групп пользователей и отпал вопрос с разным порядком пунктов меню для разных пользователей.

И все-таки никто терь не подскажет 3.в? Как сделать, что бы при создании материала - где-нить в анкете показывал список всех публикаций автора, а в публикации автор?..
Пока все еще пытаюсь сделать это на Node reference, но особо не выходит что бы оно автоматически все указывало...