Главная » Drupal » Статьи Drupal » Drupal 7 — модули-примеры. Замена «Сохранить» на «Отправить» в форме комментирования.
Распечатать статью

Drupal 7 — модули-примеры. Замена «Сохранить» на «Отправить» в форме комментирования.

Для тех кому надо «чтобы просто работало» к статье прилагаю рабочую версию мини-модуля (см. во вложении). Для всех остальных, — читаем описание ниже.

Итак, в Drupal 7 по умолчанию кнопка отправки сообщения в форме комментирования выдаёт нам надпись «Сохранить», что согласитесь немного не соответсвует более традиционной «Отправить». Казалось бы нет проблем, — стоит только в админ-панель зайти по пути «Главная » Администрирование » Конфигурация » Локализация » Перевод интерфейса» и заменить «некорректную» строчку. Но этот текст же используется и в других куда более важных формах: сохранения параметров системы, например.

Как всегда решить задачку нам помогут несколько строчек кода. В данном случае реализуем хук hook_form_FORM_ID_alter():

function наименование_form_comment_form_alter(&$form, &$form_state, $form_id) {
  $form['actions']['submit']['#value'] = t('Отправить сообщение');
}

Где «наименование», — имя вашего модуля или темы. К примеру, чтобы использовать вышеприведённое в стандартной теме Bartik (Drupal 7) впишите в файл «template.php»:

function bartik_form_comment_form_alter(&$form, &$form_state, $form_id) {
  $form['actions']['submit']['#value'] = t('Отправить сообщение');
}

Но всё же лучше реализовать это в виде модуля, так как наверняка дизайн вашего сайта может изменяться, — не будете же вы постоянно «копипастить» эти три строчки кода из шаблона в шаблон.

Потому напишем код наипростейшего модуля, назовём его просто «save to send».

  • Создаём папку «save_to_send» в «sites/all/modules».
  • В ней создаём файл «save_to_send.info» с информацией о нашем «расширении»:
name = save to send
description = Замена кнопки 'Сохранить' на 'Отправить' в форме комментирования..
core = 7.x
  • Там же создаём ещё один файл «save_to_send.module»:
<?php
function save_to_send_form_comment_form_alter(&$form, &$form_state, $form_id) {
  $form['actions']['submit']['#value'] = t('Отправить сообщение');
}
  • Активируем наш модуль в админ-панели и радуемся результату.

Источник:  sooource.net

Вы можете оставить комментарий, или обратную ссылку на Ваш сайт.

Оставить комментарий

Похожие статьи