每个 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. Oracle数据库和MySQL数据库的不同之处

    1.体积不同. Oracle它体积比较庞大,一般是用来开发大型应用(例如分布式)的.而MySQL的体积相对来说比较小,较之Oracle更容易安装.维护以及管理,操作也简单,最重要的是它是三个中唯一一个 ...

  2. xss攻击和sq注入

    xss攻击跟SQL注入的原理还是挺简单的,都是利用web是使用字符串进行操作的原理,通过伪造分隔符或者结束符号,来让网页或者服务端来运行输入的代码 一般防御的方法就是在对一些分隔符进行转义,djang ...

  3. 解决 SQLite数据库 no current row

    场景: SQLite数据库,在查询数据时,提示 标题错误异常.查看堆栈,是在SQLiteDataReader.CheckValidRow 时报错. 数据查询是通过 adapter.Fill(dt) 进 ...

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

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

  5. [platform]linux platform device/driver(一)--Driver是如何找到对应的device

    1.platform device是怎么"自动"关联到platform driver上的? 转向linux driver有些时间了,前段时间碰到个问题,在Linux kernel ...

  6. 黄聪:wordpress/wp-admin目录文件

    wp-admin/admin.php:管理文件的核心文件.用来连接数据库,整合动态菜单数据,显示非核心控制页面等. wp-admin/admin-db.php wp-admin/admin-foote ...

  7. hadoop mapred-queue-acls 配置(转)

    hadoop作业提交时可以指定相应的队列,例如:-Dmapred.job.queue.name=queue2通过对mapred-queue-acls.xml和mapred-site.xml配置可以对不 ...

  8. 获取OpenCV中RotatedRect的绝对角度

    opencv中RotatedRect的angle这个成员变量总是诡异的不同寻常(http://stackoverflow.com/questions/15956124/minarearect-angl ...

  9. Linux Tcpdump 使用举例 ---持续更新

    举例: 保存到文件tcpdump -w xxx.cap(默认抓取eth0的包) 抓eth1的包 tcpdump -i eth1 -w /tmp/xxx.cap 抓到完成的数据包(默认只抓前68字节) ...

  10. [物理学与PDEs]书中出现的符号及其意义汇总

    1. 标量 $\ve_0$: $=8.85419\times 10^{-2}C^2/(N\cdot m^2)$ 真空中的介电常数 $\ve$: 介电常数 $\ve_r$: $=1+\chi_e$ 相对 ...