Почему в function mymodule_form_alter(&$form, $form_state, $form_id) не рабоатет ?

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

Аватар пользователя iNFerNo iNFerNo 7 марта 2012 в 13:53

Почему в function mymodule_form_alter(&$form, $form_state, $form_id) не рабоатет
следующий код

if ($form['#id'] == 'comment_form' && $form['type']['#value'] == 'profile'){
  $form['comment_filter']['comment']['#title'] = '';
  $form['comment_filter']['comment']['#rows'] = '1';
   unset($form['comment_filter']['format']);
}

Комментарии

Аватар пользователя Shok211 Shok211 7 марта 2012 в 14:05

$form['#id'] == 'comment_form' -- Мне кажется нету там такого ID. Что бы проверить пользуемся krumo($form); Если работает значит всё норм. Фнкция находится в модуле Devel

Аватар пользователя iNFerNo iNFerNo 7 марта 2012 в 16:15

так вот работает же

if ($form_id == 'comment_form') {
  $form['comment_filter']['comment']['#title'] = '';
  $form['submit']['#value'] = t('Submit');
  unset($form['_author'], $form['preview']);
}
Аватар пользователя yustos.com yustos.com 8 марта 2012 в 0:30

"RxB" wrote:
Нет

Тем не менее такая штука

    $fid = $form['#id'];
...
    switch ($fid) {
    case 'comment-form':
                $form['comment_body']['#access']=FALSE;
            break;
}

замечательно сработала.

Аватар пользователя Виктор Степаньков ака RxB Виктор Степаньк... 8 марта 2012 в 0:34

"yustos.com" wrote:

замечательно сработала.


Я бы удивился если бы она не сработала, так как в #id пишется ID-формы для HTML, а в $form_id непосредственно первый параметр из drupal_get_form() ака название функции, которое априори с дефисом быть не может.

Аватар пользователя yustos.com yustos.com 8 марта 2012 в 1:07

Тады ой. Но вообще-то ТС в самом начале написал if ($form['#id'] == 'comment_form' && $form['type']['#value'] == 'profile'), к чему я и прицепился.

Аватар пользователя iNFerNo iNFerNo 8 марта 2012 в 10:48

Так что нужно подправить ребята что бы работать с элементами формы каждого типа материал в комментариях?