Есть ли способ модуля, чтобы сказать, если вы вошли в Dev, Stage или Production

13

Наша модель развертывания имеет

  1. Dev
  2. стадия
  3. производство
  4. Отработка отказа (репликация MySQL и балансировщик нагрузки)

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

Есть ли способ отличить среду после входа пользователя? Есть ли модуль, которым цвет кодирует админ-бар в зависимости от имени хоста сервера?

стог
источник

Ответы:

14

Попробуйте индикатор среды , он делает именно то, что вы хотите.

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

Он также хорошо интегрируется с Admin Menu.

sanzante
источник
7

Как уже упоминалось в 1-м ответе, environment_indicator - это то, что вы ищете.

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

Следуйте приведенному ниже коду, его можно импортировать через модуль функций.

/**
 * Implements hook_default_environment_indicator_environment().
 */
function mymodule_default_environment_indicator_environment() {
  $export = array();

  $environment = new stdClass();
  $environment->disabled = FALSE; /* Edit this to true to make a default environment disabled initially */
  $environment->api_version = 1;
  $environment->machine = 'live';
  $environment->name = 'Live';
  $environment->regexurl = 'example.com';
  $environment->settings = array(
    'color' => '#bb0000',
    'text_color' => '#ffffff',
    'weight' => '',
    'position' => 'top',
    'fixed' => 0,
  );
  $export['live'] = $environment;

  $environment = new stdClass();
  $environment->disabled = FALSE; /* Edit this to true to make a default environment disabled initially */
  $environment->api_version = 1;
  $environment->machine = 'staging';
  $environment->name = 'Staging';
  $environment->regexurl = 'stage.example.com';
  $environment->settings = array(
    'color' => '#000099',
    'text_color' => '#ffffff',
    'weight' => '',
    'position' => 'top',
    'fixed' => 0,
  );
  $export['staging'] = $environment;

  $environment = new stdClass();
  $environment->disabled = FALSE; /* Edit this to true to make a default environment disabled initially */
  $environment->api_version = 1;
  $environment->machine = 'dev';
  $environment->name = 'Dev';
  $environment->regexurl = 'dev.example.com';
  $environment->settings = array(
    'color' => '#000066',
    'text_color' => '#ffffff',
    'weight' => '',
    'position' => 'top',
    'fixed' => 0,
  );
  $export['dev'] = $environment;

  return $export;
}
Анек Мухопадхяй
источник
Выбрал ответ модуля, но все еще за него проголосовали. Огромное спасибо.
Рик