Как правильно убрать "Гость" из поля формы комментариев?

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

Аватар пользователя TomskDiver TomskDiver 12 августа 2010 в 11:41

Подскажите как правильно убрать слово "Гость" из поля формы комментариев? Т.е. оно по умолчанию для анонимов должно быть пустым. Включен режим что анонимы могут писать комментарии и что они должны оставлять свои контактные данные. При отображении формы для анонима в поле "Ваше имя" пишется слово Гость. Нужен вариант без правки ядра. Пробовал в template.php написать:

<?php
function tema_comment_form($form) {
if (
variable_get('comment_anonymous_'$node->typeCOMMENT_ANONYMOUS_MAYNOT_CONTACT) == COMMENT_ANONYMOUS_MUST_CONTACT) {
    
$form['name']['#default_value'] = '';
return 
drupal_render($form);
}
?>

Но не срабатывает.

Комментарии

Аватар пользователя TomskDiver TomskDiver 12 августа 2010 в 12:25

Извиняюсь, я в Drupal совсем новичок. Т.е. я должен править файл /modules/comment/comment.module? Это ведь неправильно? Или я должен писать отдельный модуль для замены пяти букв где буду использовать function comment_form_alter(&$form, $form_state, $form_id)?
Сейчас у меня в теме в template php есть вот что:

<?php
function tema_theme(&$existing$type$theme$path) {
return array(
'comment_form' => array(
                
'arguments' => array('form' => NULL),
            ),
);
};

function 

tema_comment_form($form) {
    unset(
$form['homepage']);
    
$form['comment_filter']['comment']['#cols'] = 30;
    return 
drupal_render($form);
};
?>

Если сюда никак не прикрутить то что нужно, то не могли бы вы поподробней описать что мне нужно сделать.

Аватар пользователя Виктор Степаньков ака RxB Виктор Степаньк... 12 августа 2010 в 12:27

"TomskDiver" wrote:
Извиняюсь, я в Drupal совсем новичок. Т.е. я должен править файл /modules/comment/comment.module? Это ведь неправильно?

И где я написал что надо править?
идём в документацию, там находим hook_form_alter(), читаем, юзаем, радуемся. Новичкам тоже можно читать документацию, там фейс-контроля нет

Аватар пользователя Dark_kz Dark_kz 18 декабря 2010 в 14:09

2RxB
form_alter() используется в модулях, а решение требовалось через темизацию
tema_comment_form() совсем не бредово, нужно просто изменять значение не #default_value, а самого #value

$form['name']['#value'] = "";