每个 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. thinkphp中redirect重定向后隐藏index.php

    首先,.htaccess文件要配置好隐藏index.php.系统默认生成的就行. 然后,也是最关键的一部,要在Application/Home/Conf里的config.php文件中增加如下配置: & ...

  2. Redis介绍及实践分享

    1.Redis是什么 1)Redis是REmote DIctionary Server的缩写,是一个key-value存储系统 2)Redis提供了一些丰富的数据结构,包括Strings,Lists, ...

  3. golang的连接池例子

    github.com/jolestar/go-commons-pool 测试代码 package main import ( "github.com/jolestar/go-commons- ...

  4. 【freemaker】之Unknown built-in variable: now

    Caused by: freemarker.core.ParseException: Unknown built-in variable: now 意思是没有内置变量,看了一下源码2.3.15版本fr ...

  5. C基础--函数指针的使用

    之前在看代码的时候,看了函数指针的使用,大体分为如下几类: 做一个function list,通过指针索引调用,使得处理功能类似的函数看起来更加清晰: 函数指针作为另一个函数的参数,用作回调: lin ...

  6. override 修饰符

    override(C# 参考) 要扩展或修改继承的方法.属性.索引器或事件的抽象实现或虚实现,必须使用 override 修饰符. C# abstract class ShapesClass { ab ...

  7. 黄聪:get_posts 函数 | wordpress

    get_posts 函数,简单的来讲是 get_post 的复数新形势,但因为是文章多篇提取,所以使用方法上却略有不同,支持众多参数选择需要提取的文章,在 CMS 主题中经常被用到,当然如果你对 Wo ...

  8. (WPF, MVVM) Textbox Binding

    参考:http://msdn.microsoft.com/en-us/library/system.windows.data.updatesourcetrigger(v=vs.110).aspx Te ...

  9. 如何获取客户端IP、操作系统、浏览器

    request.getRemoteAddr();//获取IP request.getHeader("User-Agent");//获取操作系统信息.浏览器信息. protected ...

  10. [JS]Javascript的this用法

    转自:阮一峰 this是Javascript语言的一个关键字. 它代表函数运行时,自动生成的一个内部对象,只能在函数内部使用.比如, function test(){ this.x = 1; } 随着 ...