Правильно обрезать форму ноды в пользовательском профиле
Прислано: orangeudav
вт, 24/11/2009 - 15:21
Добрый день. Вопрос наверняка старый, как говно мамонта, но хочу решить его ручками.
Использую CCK+Content Profile. Делаю дополнительный страницы в профиле пользователя. Я считаю что пользователю совершенно не нужно показывать пункты Revision information, Authoring information и Publishing options ни на одной странице внутри его профиля. Как их убрать?
0) CSS хаки не предлагать, это грязный способ.
1) Можно перехватывать _form_alter и делать
<?php
unset($form['revision_information']);
unset($form['options']);
unset($form['author']);
?>но тогда форма не проходит валидацию.
2) Далее появилась мысль запомнить где-нибудь куски $form['revision_information'], $form['options'] и $form['author'] и подставлять их в момент обработки ответа от формы, но была отброшена как бредовая.
3) Другой вариант - обработчик самостоятельно придумывает отброшенные куски формы. Там-то и придумывать не надо, только дату таймстэмпа и пользователя от которого пришла форма. API говорит нам что должна вызываться функция моймодуль_validate в которой и можно корежить форму, но у меня она ни разу не вызвалась хоть сто раз ноды пересохрани.
Какие еще хуки можно повесить чтобы перехватить пришедшую форму?
Я вообще в правильную сторону думаю?
- orangeudav's blog
- Для комментирования войдите или зарегистрируйтесь
сделайте полям $form['author'] и им подобным '#type' = 'value' в hook_form_alter
- Для комментирования войдите или зарегистрируйтесь
Спасибо) ... порой очень не хватает таких четких ответов на ламерские вопросы, приходиться перекапывать тонны документации и тратить уйму времени, чтобы найти ответ на такой вопрос.
- Для комментирования войдите или зарегистрируйтесь
Вы можете в любую форму добавить свою функцию валидации и сабмита.
- Для комментирования войдите или зарегистрируйтесь
99.99999% что эти поля на вашем сайте не будут никогда видны рядовому пользователю
- Для комментирования войдите или зарегистрируйтесь
Это настраивается разрешениями и по умолчанию отключены.
- Для комментирования войдите или зарегистрируйтесь




Комментарии