每个 Drupal 网站建设人员到了某个时期,都会有误将线上站点当做本地站点进行修改的经历。尤其是在浏览器中打开了几十个页面时,很容易忘记究竟哪个是哪个。

  Environment Indicator 模块为会在网站上显示一个带文本的色块,通过这个色块指示器和其上的文字使用我们可以很容易的对不同的环境进行区分(如本地、测试还是正式环境)。使用者可根据模块所提供的配置项,自行设置指示器的颜色、位置及其中的文本

  文本将向你介绍两种创建指示器的方法:一种是通过 Environment Indicator 模块提供的管理界面,另一种是使用 settings.php 配置文件 。

准备工作

  在开始使用前,需要先下载并启用 Environment Indicator 及 CTools 模块,如果会使用 Drush,可以很方便地通过以下两条命令完成下载及启用的工作

$ drush dl environment_indicator ctools 
$ drush en environment_indicator

使用管理后台创建环境指示器

首先我们来看如何通过管理界面进行指示器的创建,这也是最简单的方法。

1、打开 Enviroment Indicator 配置页面并点击添加(如果不添加,也可以修改默认提供的指示器)

2、填写指示器的名称。在本例中,我们输入 Local 表示本地环境。如果要为测试环境创建指示器,则可以命名为 “development”。
在主机(hostname)字段,填写这个环境对应的主机名。在这个例子中,输入 d7.localhost。如果你正在对线上某个站点进行设置,其主机名可能是 dev.example.com

3、使用调色盘设置指示器的颜色,以及设置指示器上显示的文本

4、再往下,设置权重。当在主机名设置使用正则表达式时,这个权重值将用来决定顺序

5、最后,通过修改“位置”选项来确定指示器的显示位置。不过请注意,如果当前网站使用了 Toolbar 模块或 Admin Menu 模块时,指示器的效果会显示在工具栏上,此处的位置选项则不会有效果。

当完成以上所有设置后,点击“保存”即可。

对于默认安装的 Drupal网站,头部工具栏将会被用作环境指示器。

此时,看看网站的Favicon图标,会发现它被加上了一个小小的L。

使用代码创建指示器

创建指示器的另一种办法,便是通过 settings.php中的代码来进行。因为每个Drupal环境都会有settings.php文件,所以我更倾向使用这种方法。

打开settings.php文件,并通过以下代码对指示器的名称及颜色进行设置。

$conf['environment_indicator_overwritten_name'] = 'Local'; 
$conf['environment_indicator_overwritten_color'] = '#42b96a';

Configure Environment Indicator 7.x-2.x 文档中包含了可在 settings.php 文档中使用的变量列表。

小结

  如果需要同时在多个环境中进行作业,Environment Indicator 将会非常实用。尽管这个模块无法阻止你将正式网站当做测试网站进行修改,但因为指示器的作用,起码能够更好的对所在的网站进行识别。

FAQ

Q:已经修改了指示器的颜色设置,为何指示器没变化?

有时因为缓存的原因颜色设置并不会马上生效,清空缓存后再试试。

Q:我希望非管理用户也可以看到这个指示器应该怎么做?

进入权限管理页面,为匿名用户分配”see environment indicator”权限后,匿名用户即可看到指示器了。

原文标题:使用 Environment Indicator 模块区分不同的 Drupal 环境

原文地址:http://drupalct.org/drupal-site-building/using-environment-indicator-module.html

使用 Environment Indicator 模块区分不同的 Drupal 环境的更多相关文章

  1. 在package.json里面的script设置环境变量,区分开发及生产环境。注意mac与windows的设置方式不一样

    在package.json里面的script设置环境变量,区分开发及生产环境. 注意mac与windows的设置方式不一样. "scripts": { "publish- ...

  2. 微信小程序开发——前端如何区分小程序运行环境

    前言: 之前用vue做h5项目,对于接口请求,都是根据前端访问域名来判断运行环境,然后自动适配对应的服务器地址的.这样的好处就是在开发.测试及发布上线全程都不需要手动去改接口请求地址,只要提前配置好就 ...

  3. JPush Android 推送如何区分开发、生产环境

    我们 Android 开发者在使用极光推送时可能会发现,在通过官方控制台进行推送时.只有 iOS 区分了开发和生产环境,而 Android 则没有.但实际开发中又确实经常需要针对开发和生产环境分别来推 ...

  4. maven(多个模块)项目 部署 开发环境 问题处理历程【异常Name jdbc is not bound in this Context 异常java.lang.NoSuchMethodE】

    maven(多个模块)项目 部署 开发环境 问题处理历程[异常Name jdbc is not bound in this Context 异常java.lang.NoSuchMethodE] 201 ...

  5. 用boost模块加速你的drupal站

    boost模块可以对 html, xml, ajax, css,  javascript进行缓存,极大提升游客访问的速度,几乎可以和静态页面媲美.下载boost http://drupal.org/p ...

  6. 7.安装pycharm----导入Nmap模块----netcat反向shell----metasploitable靶机环境

    安装pycharm www.jetbrains.com/pycharm/ tar -zxvf p补全 ls cd p补全 ls cd bin ls ./pycharm.sh 新建项目 pythonRo ...

  7. Python 模块chardet安装过程(windows环境)

    最近需要一个txt文件的批量转码功能,在网上找到一段批量处理java源文件的py程序如下: #-*- coding: utf-8 -*- import codecs import os import ...

  8. vue-cli3区分开发和生产环境

    vue-cli3出来很久了,之前一直使用vue-cli2的配置,并且区分了生产和开发环境,自己的理解,环境分两大类,开发环境 和生产环境,最近升级到了vue-cli4当然改动并不大. 升级的主要原因嘛 ...

  9. Drupal常用的模块

    CCK (Content Construction Kit ) : 添加字段模块 Views:生成列表 Tinymce:(Wysiwyg Editor) 常用的编辑器之一 Ajax Form Buil ...

随机推荐

  1. (转)用JQuery实现Fix表头表格

    本文转载自:http://www.cnblogs.com/evlon/archive/2009/06/12/1502239.html 我的技术要点: 1.用两个表,其中一个是表头,另一个是表格做表体 ...

  2. (转)C# wnform 请求http ( get , post 两种方式 )

    本文转载自:http://www.cnblogs.com/hailexuexi/archive/2011/03/04/1970926.html 1.Get请求 string strURL = &quo ...

  3. 【转】JVM 分代GC策略分析

    我们以Sun HotSpot VM来进行分析,首先应该知道,如果我们没有指定任何GC策略的时候,JVM默认使用的GC策略.Java虚拟机是按照分代的方式来回收垃圾空间,我们应该知道,垃圾回收主要是针对 ...

  4. iframe获取父、子窗口的方法

    jquery.js调用iframe父窗口与子窗口元素的方法 1. jquery在iframe子页面获取父页面元素代码如下: $("#objid",parent.document) ...

  5. Android中使用am命令实现在命令行启动程序详解

    在Android中,除了从界面上启动程序之外,还可以从命令行启动程序,使用的是命令行工具am. 复制代码代码如下: usage: am [subcommand] [options] start an ...

  6. C语言每日一题之No.4

    这几天老大也没安排我什么项目,于是想正好趁着空补C.当然,是利用晚上加班时间,白天正常上班时间还是学习公司的平台. 今儿个突然弱弱的感觉到在公司补C是件很低级的事情,哪怕是在加班时间都会被喷,因为大家 ...

  7. .NET常用方法——邮件发送

    邮件发送类文件,可直接使用: 调用方法(实例化.静态调用): 实例化: string exception = ""; SendEmail.SendEmail SE = new Se ...

  8. [tty与uart]UART中的硬件流控RTS与CTS

    转自:http://blog.csdn.net/zeroboundary/article/details/8966586 在RS232中本来CTS 与RTS 有明确的意义,但自从贺氏(HAYES ) ...

  9. activiti自定义流程之Spring整合activiti-modeler5.16实例(二):创建流程模型

    注:(1)环境搭建:activiti自定义流程之Spring整合activiti-modeler5.16实例(一):环境搭建 1.maven导包,这里就没有什么多的好说了,直接代码: <depe ...

  10. C/C++代码静态分析插件 SourceInsight_Scan

    sourceinsight-scan 是一款集成在 SourceInsight 中的c/c++代码静态分析插件,集成了cppcheck,coverity,pclint等业界优秀的静态分析工具的优点. ...