drupal w CCK - как переименовать кнопки отправки узла

Я создал собственный тип узла для регистрации событий. Я использовал темы (template.php для всех настраиваемых tpl.php для формы), чтобы настроить внешний вид формы.

Используя рабочий процесс и действия / триггеры, люди могут зарегистрироваться для участия в моем мероприятии, а менеджер событий получит уведомление по электронной почте и сможет войти в систему и увидеть, кто зарегистрировался. Аккуратный!

Все это прекрасно работает, но я не могу найти способ переименовать кнопки узла / добавления drupal по умолчанию - «сохранить» и «предварительный просмотр», чтобы сказать «отправить регистрацию» и «предварительную регистрацию». Просто мелочь, но очень важная для пользовательского опыта.

Кто-нибудь может мне с этим помочь?


person Community    schedule 21.09.2009    source источник


Ответы (2)


Кроме того, вы можете обойтись без написания модуля и просто добавить функцию настраиваемой темы, как подробно описано в это руководство.

В основном вы:

  1. Найдите идентификатор формы
  2. Создайте функцию темы mytheme _form_id, которая изменяет форму, возвращает drupal_render ($ form) (немного отличается от hook_form_alter)
  3. Найдите правильный элемент формы. Я просто dpm ($ form) и ищу результат. Я думаю, что в вашем случае это должно быть в массиве кнопок, но не верьте мне на слово.
  4. Измените элемент.
  5. Реализуйте в файле template.php хук mytheme _theme, который регистрирует вышеупомянутую функцию.
person Eli Krupitsky    schedule 21.09.2009
comment
Хотя это выполнимо, этот тип изменений, вероятно, должен оставаться неизменным для разных тем. Разница в технической сложности между его изменением в теме и изменением в небольшом модуле незначительна. - person Grayside; 21.09.2009
comment
Цитата из вопроса: я использовал темы (template.php для всех настраиваемых tpl.php для формы), чтобы настроить внешний вид формы. То есть - он уже сильно настроен. Итак, во всяком случае, верно обратное: лучше поместить все это в тему, чем распространять это отдельное изменение на модуль. - person Eli Krupitsky; 21.09.2009
comment
То есть это изменение является неотъемлемой частью темы и, следовательно, должно оставаться в рамках темы. Дело не в сложности (создание hook_theme () немного сложнее). По сути, это по той причине, о которой вы упомянули: если тема меняется, такие вещи (метки пользовательских кнопок) также должны измениться. - person Eli Krupitsky; 21.09.2009
comment
спасибо, Эли. Я думаю, это отвечает всем требованиям. Мне просто нужно найти правильный элемент $ form. - person ; 23.09.2009
comment
Для записи элементом формы является $ form ['buttons'] ['submit'] ['# value'] Еще раз спасибо - person ; 23.09.2009

Вероятно, вы захотите использовать hook_form_alter (), чтобы изменить форму и имена кнопки отправки.

К сожалению, для этого вам нужно создать модуль, потому что hook_form_alter () не вызывается в файлах темы.

person mishac    schedule 21.09.2009