Drupal. Как создать новое поле в разделе «Информация о сайте»?
Иногда очень удобно, иметь дополнительное поле, которое будет использоваться на всем сайте, вставляя лишь переменную в нужное место в шаблоне.
Основная информация о сайте хранится в админке по адресу /admin/config/system/site-information.
Если необходимо добавить, например, поле «Номер телефона» на этой странице, создадим свой микро-модуль. Для этого зайдем по FTP в директорию /sites/all/modules/ и создадим новую папку под названием siteinfo. В только что созданной папке создаем два файла: siteinfo.info и siteinfo.module.
Содержимое файла siteinfo.info:
1 2 3 |
name = Site Info description = Module for extra site info core = 7.x |
Содержимое файла siteinfo.module:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 |
<?php function siteinfo_form_alter(&$form, $form_state, $form_id) { if ($form_id == 'system_site_information_settings') { $form['siteinfo'] = array( '#type' => 'fieldset', '#title' => t('Extra site info'), '#weight' => 0, ); $form['siteinfo']['global_phone_number'] = array( '#title' => t('Phone Number'), '#type' => 'textfield', '#default_value' => variable_get('global_phone_number', ''), ); $form['#submit'][] = 'siteinfo_system_site_information_settings_submit'; } } function siteinfo_system_site_information_settings_submit($form, $form_state){ $values = array( 'global_phone_number' => $form_state['values']['global_phone_number'], ); foreach ($values as $key => $value) { variable_set($key, $value); } } |
Заходим в админке на страницу с модулями (/admin/modules) и включаем наш модуль Site Info. Теперь на странице (/admin/config/system/site-information), где хранится информация о сайте, добавится дополнительный филдсет и новое поле для хранения номера телефона. Чтобы использовать переменную в файлах шаблона, достаточно добавить следующий код:
1 |
<?php print variable_get('global_phone_number', '')?> |