在我们使用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. 【转】MATLAB在一幅图上添加多个纵坐标轴

    来源:http://wenku.baidu.com/link?url=m_eEkzbjnT9ccgAnlPVDqHCVyrZOD2EplXxxIiQc69DI0lHAWzwpZXfdDy_7DPbwI ...

  2. Factorial Trailing Zeroes

    Given an integer n, return the number of trailing zeroes in n!. Note: Your solution should be in log ...

  3. DataGridView控件

    DataGridView控件 DataGridView是用于Windows Froms 2.0的新网格控件.它可以取代先前版本中DataGrid控件,它易于使用并高度可定制,支持很多我们的用户需要的特 ...

  4. 简单的C语言小学四则运算设计

    题目:设计一个简单的四则运算编辑器 思路:我使用的是C语言编程,看到题目首先要随机出3个随机数,其中两个为100以内的随机数(a,b),一个为0~3的随机数(k). k值的变化使得+ - * /的变化 ...

  5. 【Permutations】cpp

    题目: Given a collection of numbers, return all possible permutations. For example,[1,2,3] have the fo ...

  6. 我是如何基于angular+requirejs+node做SPA项目架构的

    本文章已经录制视频,地址是:http://v.youku.com/v_show/id_XODI3MjYyODI0.html 前端这两年技术飞速发展,各种优秀框架层出不穷.本文不是讨论各框架的比较,也不 ...

  7. 【工具】openwrt安装记录

    步骤: 1  从以太网引导启动.由于我们实验室在服务器上放了一个openwrt镜像,安装时先从以太网启动,将服务器上的镜像载入到RAM中启动系统. 2  用SCP将在PC上编译好的openwrt-XX ...

  8. mp3 切割

    开源的东东很不错,摘了一段好文: 常在听mp3或其他格式音乐的朋友,有时会有特别喜欢的片段,例如副歌的部份会想拿来做手机的铃声.这时候就需要一些处理音效的软体,例如之前提过的 Audacity.其实还 ...

  9. bzoj 2327 构图暴力判断+独立集个数

    首先我们可以处理出10^6以内的所有的勾股数,如果我们有2*i-1和2*j互质, 那么A=(2*i-1)*(2*i-1)+(2*i-1)*(2*j),B=2*j*j+(2*i-1)*(2*j)为互质 ...

  10. 【BZOJ】【4003】【JLOI2015】城池攻占

    可并堆 QAQ改了一下午……最终弃疗求助zyf……居然被秒了QAQ真是弱到不行(zyf太神了Orz) 还是先考虑部分分的做法: 1.$n,m\leq 3000$:可以暴力模拟每个骑士的攻打过程,也可以 ...