Почему в 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']);
}
$form['comment_filter']['comment']['#title'] = '';
$form['comment_filter']['comment']['#rows'] = '1';
unset($form['comment_filter']['format']);
}
Комментарии
$form['#id'] == 'comment_form' -- Мне кажется нету там такого ID. Что бы проверить пользуемся krumo($form); Если работает значит всё норм. Фнкция находится в модуле Devel
а как же это
http://api.drupal.ru/api/function/comment_form
так вот работает же
$form['comment_filter']['comment']['#title'] = '';
$form['submit']['#value'] = t('Submit');
unset($form['_author'], $form['preview']);
}
$form['#id'] еще не сформирован когда вызываются alter-хуки изменения формы.
и что тогда делать?
А не if ($form_id == 'comment-form')?
Нет
Тем не менее такая штука
...
switch ($fid) {
case 'comment-form':
$form['comment_body']['#access']=FALSE;
break;
}
замечательно сработала.
Я бы удивился если бы она не сработала, так как в #id пишется ID-формы для HTML, а в $form_id непосредственно первый параметр из drupal_get_form() ака название функции, которое априори с дефисом быть не может.
Тады ой. Но вообще-то ТС в самом начале написал if ($form['#id'] == 'comment_form' && $form['type']['#value'] == 'profile'), к чему я и прицепился.
ТС не стоит читать, он и не такое напишет
$form_id==comment_node_article(article тип материала)_form
Так что нужно подправить ребята что бы работать с элементами формы каждого типа материал в комментариях?
так что никто не может подсказать в чем косяк (варианты прозвучавшие тут пробовал - не решает задачу)