static_rocket_468x60.jpg

3 способа убрать поле сайт из формы комментариев Drupal

Drupal comment

В очередной раз убеждаюсь что нужно создать систему которая поможет держать дела в порядке и помнить что собирался сделать. Тему для этой статьи я вспомнил благодаря комментарию к статье о комментариях. Написать про это собирался ещё пол года назад. Вопрос был в том как убрать из формы отдельные поля. Через админку мы можем отключить сразу два поля - мыло и домашняя страница. Что делать если e-mail комментатора вам нужен чтобы подписать его на новые комменты а вот поле сайт ну совершенно ни к чему. Выход один лезть в код и помнить

dont hack drupal code

Самый простой вариант спрятать. В этом случае поле сайт будет как мёд у Винни Пуха - оно вроде есть но его вроде нет. Те кто знаком с вёрсткой уже догадались что я говорю про старый добрый display:none. Добавляем в файл стилей строку #comment-form .form-item-homepage { display: none; } И больше никогда не видим поле сайт в форме комментариев.

Прежде чем воспользоваться следующим способом посмотрите ещё раз на картинку выше. Если ничего не дрогнуло то смело берём чего нибудь потяжелее и идём рихтовать Drupal. Нам нужен файл comment.module в котором закомментируем или удалим(всё зависит от вашей кровожадности) кусок кода $form['author']['homepage'] = array( '#type' => 'textfield', '#title' => t('Homepage'), '#default_value' => $comment->homepage, '#maxlength' => 255, '#size' => 30, '#access' => $is_admin || (!$user->uid && $anonymous_contact != COMMENT_ANONYMOUS_MAYNOT_CONTACT), ); Проблема этого метода в том что после каждого обновления ядра Drupal нужно заново править файл модуля.

В заключении ещё один способ. Самый правильный. Отдельная благодарность за него IT Мореплавотелю Demontager.

В файле темы находим файл template.php и добавляем код 

 function THEMENAME_form_comment_form_alter(&$form, &$form_state) { $form['author']['homepage']['#access'] = FALSE; }

THEMENAME - замените на название темы.

оценить статью: 
Средняя: 5 (8 оценок)

Комментарии

7
Аватар пользователя Надежда Давыдова

Надежда Давыдова чт, 10/23/2014 - 23:21

А есть ли способ не убирать поле сайт (чтобы знать, на какой сайт придти с ответным визитом), но чтобы он не публиковался на блоге?

Аватар пользователя Oleg

Oleg чт, 10/23/2014 - 23:30

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

Аватар пользователя Надежда Давыдова

Надежда Давыдова пт, 10/24/2014 - 08:49

О, мне тоже очень интересно. Думаю, по аналогии тогда можно будет сделать подобное и на моем Вордпрессе. Все думаю, как снизить заспамленность. Не могу разобраться, как оформить у себя ссылки через тег span.

Аватар пользователя Oleg

Oleg пт, 10/24/2014 - 23:11

А вот по аналогии скорее всего не получиться всё таки разные движки.

Милости просим на Drupal:) У нас есть всё что нужно мятущейся душе, жаждущей постоянного апгрейда.

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

Теперь я точно знаю ответ на вопрос почему Drupal - Потому что не знаю во что захочю превратить свой сайт завтра.

Аватар пользователя Надежда Давыдова

Надежда Давыдова пт, 10/24/2014 - 23:56

Я вот сегодня тоже ковыряю свой сайт. Не сам движок правда, а тему. Возможно, я создам еще и сайт на Drupal, кто знает. Есть желание работать, но пока времени хватает на один только сайт. Спасибо за приглашение :)

Аватар пользователя Oleg

Oleg сб, 10/25/2014 - 00:00

Надеюс бэкап сделан

Аватар пользователя Надежда Давыдова

Надежда Давыдова сб, 10/25/2014 - 00:04

Предварительно сохраняю файл на комп и перезаливаю его если что. А вообще бекап давно не делала, каюсь. У меня хостер хороший, сам каждый день бекапы сохраняет. Так что если что и откат можно сделать.

Добавить комментарий