在我们使用PHPCMS V9的制作网站模板的时候,使用全局模板变量能轻松调用,使用起来非常方便,而且可以统一修改,方便维护。

下面就来讲一下在PHPCMS V9中如何添加自定义全局变量。

修改网站system.php配置文件

文件路径:/caches/configs/system.php

在第30行左右,

'app_path' => 'http://127.0.0.1/weiyun_new/',//动态域名配置地址

在此行下添加配置,我这里是一个qq咨询的地址,结果如下:

'app_path' => 'http://127.0.0.1/weiyun_new/',//动态域名配置地址
'chat_path' => 'tencent://message/?uin=343326675&Site=宜宾微云网络&Menu=yes', //咨询地址

修改网站base.php配置文件

文件路径:/phpcms/base.php

在第51行左右,

define('APP_PATH',pc_base::load_config('system','app_path'));

在此行下添加配置如下:

//动态程序路径
define('APP_PATH',pc_base::load_config('system','app_path'));
//咨询路径
define('CHAT_PATH',pc_base::load_config('system','chat_path'));

到这一步之后,就已经可以在模板中调用了,调用方法{CHAT_PATH},模板自动解析。

为了方便以后修改修护,不用每次都去改代码,我们去修改一下后台模板来实现。

修改网站setting.tpl.php文件

文件路径:/phpcms/modules/admin/templates/setting.tpl.php

在第73行左右,

<tr>
<th width=""><?php echo L('setting_upload_url')?></th>
<td class="y-bg"><input type="text" class="input-text" name="setconfig[upload_url]" id="upload_url" size="" value="<?php echo $upload_url?>" /></td>
</tr>

在此行下添加配置如下:

<tr>
<th width=""><?php echo L('setting_upload_url')?></th>
<td class="y-bg"><input type="text" class="input-text" name="setconfig[upload_url]" id="upload_url" size="" value="<?php echo $upload_url?>" /></td>
</tr>
<tr>
<th width=""><?php echo L('setting_chat_path')?></th>
<td class="y-bg"><input type="text" class="input-text" name="setconfig[chat_path]" id="chat_path" size="" value="<?php echo $chat_path?>" /></td>
</tr>

修改网站admin.lang.php文件,添加语言包

文件路径:/phpcms/languages/zh-cn/admin.lang.php

在第170行左右,

$LANG['setting_upload_url'] = '附件URL访问路径';

在此行下添加配置如下:

$LANG['setting_upload_url'] = '附件URL访问路径';
$LANG['setting_chat_path'] = '咨询地址';

修改global.func.php文件set_config函数

文件路径:/phpcms/languages/zh-cn/admin.lang.php

在第42行左右,在’img_path’后面添加’chat_path’,这样才能保存设置

if(in_array($k,array('js_path','css_path','img_path','attachment_stat','admin_log','gzip','errorlog','phpsso','phpsso_appid','phpsso_api_url','phpsso_auth_key','phpsso_version','connect_enable', 'upload_url','sina_akey', 'sina_skey', 'snda_enable', 'snda_status', 'snda_akey', 'snda_skey', 'qq_akey', 'qq_skey','qq_appid','qq_appkey','qq_callback','admin_url'))) {

修改后结果如下:

if(in_array($k,array('js_path','css_path','img_path','chat_path','attachment_stat','admin_log','gzip','errorlog','phpsso','phpsso_appid','phpsso_api_url','phpsso_auth_key','phpsso_version','connect_enable', 'upload_url','sina_akey', 'sina_skey', 'snda_enable', 'snda_status', 'snda_akey', 'snda_skey', 'qq_akey', 'qq_skey','qq_appid','qq_appkey','qq_callback','admin_url'))) {

PHPCMS V9中添加自定义全局变量就是这么添加的,它的优点是方便维护,缺点是要修改几个文件,在更新PHPCMS V9时可能会被替换,如果被替换就需要重新来一遍。

原文链接: http://www.devdo.net/phpcmsv9-setting-variable.html

更多干货:http://www.devdo.net/

PHPCMS V9添加模板自定义全局变量的更多相关文章

  1. phpcms V9 添加模块

    为phpcms创建一个模块的开发流程 [1]创建模块目录 通过前面的学习,我们已经知道phpcms V9框架中的模块位于phcms/modules目录中,每一个目录称之为一个模块. 如果要创建一个模块 ...

  2. phpcms V9 添加模块(转)

    转自:http://www.cnblogs.com/Braveliu/p/5101345.html 为phpcms创建一个模块的开发流程 [1]创建模块目录 通过前面的学习,我们已经知道phpcms ...

  3. phpcms V9 首页模板文件解析

    在了解了<phpcms V9 URL访问解析>之后,我们已经知道首页最终执行的是content模块下index控制器的init方法. 下面, 我们逐步分析过程如下: 第一.首页默认执行的是 ...

  4. phpcms V9 首页模板文件解析(转)

    转自:http://www.cnblogs.com/Braveliu/p/5100018.html 转在了解了<phpcms V9 URL访问解析>之后,我们已经知道首页最终执行的是con ...

  5. phpcms v9中模板标签使用及联动菜单

    {template "content","header"} 调用根目录下phpcms\template\content\header文件 {charset} 字 ...

  6. phpcms V9 默认模板文件目录结构_PHPCms教程

    PHPCMSV9 默认模板目录结构 templates   框架系统模板目录            announce    公告                show.html       内容页  ...

  7. PHPCMS V9 添加二级导航

    今天看了看phpcms 写到二级导航时发现点问题,查询导航栏的信息时返回的$r[arrchildid]与自己想象的不符,文档上说是返回子栏目id但是却有些不同. 开始的思路: <ul class ...

  8. phpcms v9 添加内容出现500错误

    今天开发好一个网站,上传网站后,不知道安装的时候要求fsockopen()函数打开,我直接跳过安装完成的,所以搞得后面出错了,我一直以为这个问题,今天花了一天的时间找资料,测试,终于知道什么原因了,其 ...

  9. phpcms v9——工作需要【套模板】

    phpcms v9 模板标签说明整理 作者:匿名 来源:ChinaZ源码报导 浏览:44061次 2011-6-17 15:52:09 字号:大 中 小 [摘要]本文介绍phpcms v9中模板标签使 ...

随机推荐

  1. CAD字体显示错乱问题解决方案

    最近这两天一直在画竣工图,用CAD用得挺多的,所以老是发现一些问题.今天在打开别人发过来的图纸时,我看到竟然还有钢筋符号无法显示…… 像这种问题的解决,据我所知就两种方法: 一.替换使用的字体 首先选 ...

  2. [原创] JavaScript 图片放大镜插件 enlarge.js 以及移动版 enlarge.touch.js

    拖拖拉拉准本了一个月,终于把网站做好了.也终于可以分享这两个插件了.这两个插件,一个是 jQuery 版本,适合鼠标使用的,另一个是原生 JavaScript 制作,适合触摸屏使用(touch 事件) ...

  3. Careercup - Microsoft面试题 - 6543214668414976

    2014-05-11 02:56 题目链接 原题: Write a function called FooBar that takes input integer n and prints all t ...

  4. Android:apk文件结构

    Android apk文件,即Android application package文件. 每个要安装到Android平台的应用都要被编译打包为一个单独的文件,后缀名为.apk,其中包含了应用的二进制 ...

  5. The income statement

    The income statement measures performance over some period  of time,usually a quarter or a year.The ...

  6. MySQL基本概念

    MySQL 数据库 MySQL可分为三个层次:文件层次,服务层次,界面 常用的数据类型:int 整数float double decimal ——小数(要在十进位栏里设置小数点后最大显示位数)varc ...

  7. SPFA 原理剖析代码实现分析比较

    算法简介 SPFA(Shortest Path Faster Algorithm)是Bellman-Ford算法的一种队列实现,减少了不必要的冗余计算. 算法流程 算法大致流程是用一个队列来进行维护. ...

  8. 【BZOJ】【4034】【HAOI2015】T2

    树链剖分/dfs序 树上单点修改+子树修改+链查询 其实用dfs序做也可以…… 其实树链剖分就是一个特殊的dfs序嘛= =所以树链剖分也可以搞子树-(Orz ZYF) 至于为什么……你看在做剖分的时候 ...

  9. Eclipse新版 syso无法自动补全的解决方法

    症状: 以前输入Syso可以直接自动转化为System.out.println(""); 现如今居然还要让我手动选择一下才可以! 我仔细看了一下Eclipse的插件,发现是新版Ec ...

  10. CKEditor (Toolbar Definition)工具栏自定义配置

    JS是大小写敏感的, 在设置配置文件的时候需要注意 以CKEditor 4为基础我们可以通过两种方式配置CKEditor的工具栏,一种是是通过config.js配置文件设置, 另一种是IN-PAGE方 ...