每个 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. (转)用Eclipse进行C++开发时Bianry not found的问题解决

    本文转载自:http://blog.csdn.net/baimafujinji/article/details/49722399 由于Visual Studio体积过于庞大,很多人选择在Eclipse ...

  2. bzoj4642: 泡泡

    Description "OI真的像是一条奇趣横生的路啊,也许它是绕过了高考的大山,也许确实有通往大学的捷径.但我,真的,真的只在 乎那路上美丽的泡泡." --TB   TB喜欢所 ...

  3. sgu233 little kings

    题目大意: 有n*n的棋盘上放k个国王.国王可以攻击与它相邻的八个格子.现在要使国王不相互攻击,有多少种放置的方案数.一个格子不能放两个国王. n<=10,k<=n*n. 分析:简单的状态 ...

  4. W81安装记录

    安装Windows 8.1之前先断网!!! 在x86的WinPE环境中安装Windows 8.1 x64的方法: 1.格式化硬盘的第一主分区C盘,将x64的ISO解压到其他分区里: 2.复制ISO解压 ...

  5. /proc 文件系统

    linux提供了一种特殊的文件系统procfs,通常以/proc目录的形式呈现.该目录中包含了许多特殊文件用来对驱动程序和内核信息进行更高层的访问.只要应用程序有正确的访问全息,就可以通过读写这些文件 ...

  6. 黄聪:Wordpress、PHP使用POST数据过大导致MySQL server has gone away报错原因分析

    错误原因: 当POST的数据超过 max_allowed_packet 就会报 MySQL server has gone away 的错误. 1.查看当前Mysql的 max_allowed_pac ...

  7. UDP程序设计

        UDP是不可靠的连接,广泛应用于各种聊天工具     使用UDP发送的信息,对方不一定会接收到.所有的信息使用数据报的形式发送出去,这就要求客户端要始终等待服务器发送的信息才能进行接收.在Ja ...

  8. PLSQL_基础系列03_合并操作UNION / UNION ALL / MINUS / INTERSET(案例)

    2014-11-30 Created By BaoXinjian

  9. Java队列集合的性能测试

    同时开10个线程存入和取出100万的数据,结论如下: DoubleBufferedQueue < ConcurrentLinkedQueue < ArrayBlockingQueue &l ...

  10. LNMP安装了哪些软件?安装目录在哪?

    LNMP官网:http://lnmp.org/faq/lnmp-software-list.html LNMP一键安装包除去安装所必须的依赖包,还会默认安装以下软件: Nginx.MySQL/Mari ...