Настройте поле даты в форме узла - PullRequest
1 голос
/ 16 сентября 2011

У меня очень простой вопрос для всех вас, экспертов Drupal:

Предположим, у меня есть модуль, который является узлом. Мне не нравится поле даты по умолчанию, поэтому я хочу разделить дату и время на 2 разных поля. Как мне это сделать?

и мне нужно заботиться о том, как данные сохраняются или извлекаются после внесения изменений в форму узла?

1 Ответ

0 голосов
/ 21 сентября 2011

Вы можете сделать это, создав собственный шаблон. Если вы знаете что-то о том, как работают шаблоны в Drupal, вы можете заменить шаблоны по умолчанию на пользовательские. Это только вопрос поиска правильного шаблона для переопределения. Если вы не уверены, какой шаблон нужно переопределить, я предлагаю вам использовать этот удобный модуль, который также даст подсказки о возможных кандидатах в шаблон: Разработчик темы (убедитесь, что вы отключили его после того, как закончите потому что он вводит маркеры и может сломать ваш стиль).

Допустим, ваш тип контента называется article, и вы хотите изменить способ отображения поля даты в узле.

  • перейти в папку с темой (обычно /sites/all/themes)
  • клонируйте файл node.tpl.php (не добавляйте напрямую ваши изменения, потому что это повлияет на все ваши узлы)
  • назовите новый файл node-article.tpl.php
  • отформатируйте новое поле по своему усмотрению

Другой подход заключается в переопределении функции темы, отвечающей за визуализацию этого поля даты (опять же, с помощью разработчика тем вы можете узнать, какая функция темы отображает это поле). Предполагая, что функция темы имеет имя, подобное theme_date($date), вы можете переопределить функцию в файле template.php (обычно в /sites/all/themes/your_theme_name. Вы всегда можете выбрать theme_date($date), если не уверены, какое имя использовать.

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

...