Вы здесь

Variable

Расширение API переменных.

Модуль Variable реализует реестр для мета-данных переменных и расширяет API переменных. Это сервисный API-модуль, который предназначен для разработчиков и его установка требуется только в том случае, если этого требует какой-либо другой модуль.

С помощью модуля Variable можно явно объявить о переменных своего модуля. Зачем?

  • Таким образом другие модули смогут узнать о переменных и они могут быть экспортированы, переведены и так далее
  • Вы получите возможность работы с формами, токенами, правами доступа и так далее

Как это сделать? Легко, воспользуйтесь хуком hook_variable_info()

/**
* Implements hook_variable_info().
*/
function mymodule_variable_info($options) {

  // This is the very minimum we need, some descriptive name.

  $variable['mymodule_variable'] = array(
    'title' => t('My variable'),
  );

  // But if you want to provide more information, we'll make good use of it.

  $variable['mymodule_number'] = array(
    'title' => t('Magic number', array(), $options),
    'description' => t('Magic number, array(), $options),
    'type' => 'number',
    'access' => 'administer menus',
    'token' => TRUE, // We'll produce tokens automatically for this one
  );

  $variable['mymodule_name'] = array(
    'title' => t('Name', array(), $options),
    'description' => t('Enter your name, please.', array(), $options),
    'type' => 'string',
    'default' => t('Drupal user', array(), $options),
  );

  $variable['mymodule_mail'] = array(
    'title' => t('Mail'),
    'type' => 'mail_text',
    // This type will spawn into two real variables: mymodule_mail_subject, mymodule_mail_body
    // Everything, included the form elements, will be handled automatically
  );

  return $variable;
}

Отметьте: переменные можно объявлять в отдельном файле (например, [проект].variable.inc), загрузка которого может осуществляться в нужных для этого случаях.

Проект включает дополнительные модули:

  • variable_admin
  • variable_example
  • variable_realm
  • variable_store
  • variable_views