phpcms定义和调用自定义变量的方法,phpcms自定义变量插件

phpcms定义和调用自定义变量的方法,phpcms自定义变量插件

作者:我爱模版网
类型:文章教程
点击次数:1989
发布时间:2014-02-12 11:04
分享到: 0
第一步,添加自定义插件:
打开 \phpcms\modules\admin\templates\site_edit.tpl.php 文件,找到最后一个 </fieldset> ,在他后面添加上下面的代码:

01<!--自定义变量设置开始  自定义变量插件-->
02<div class="bk10"></div>
03<fieldset>
04<legend>自定义变量</legend>
05<table width="100%" class="table_form" id="myVarForm">
06<script type="text/javascript">
07//var t = <?php echo count($setting['var_value'])?> + 1;
08//上面一行注释 添加下方代码 这样自定义变量就可以添加很多个!
09<?php
10$arr = array_keys($setting['var_value']);
11$t = max($arr);
12?>
13var t = <?php echo $t;?> + 1;
14function var_add()
15{
16var data = '<div id="var'+t+'"><span style="width:54px;float:left;">未定义</span><span style="width:170px"><input name="setting[var_description]['+t+']" type="text" size="26"></span><span style="width:175px;margin-left:6px;"><input name="setting[var_name]['+t+']" type="text" size="26"></span><span style="width:175px;margin-left:6px;"><input name="setting[var_value]['+t+']" type="text" size="26"></span> <span> <a href="###" onclick="var_del('+t+')">删除</a></span></div>';
17$('#var_define').append(data);
18t++;
19return true;
20}
21function var_del(t)
22{
23$('#var'+t).remove();
24return true;
25}
26</script>
27<tr>
28<th><strong>自定义变量</strong>(<a href="###" onClick="javascript:var_add();" style="color:red">+</a>)</th>
29<td>
30<style type="text/css">
31#var_define_head span{float:left;text-align:center;}
32#myVarForm input{width:110px;}
33</style>
34<div id="var_define">
35<div id="var_define_head"><span style="width:60px;">索引值</span><span style="width:158px"><strong>变量描述</strong></span><span style="width:158px"><strong>变量名</strong></span><span style="width:158px"><strong>变量值</strong></span></div>
36<?php
37foreach($setting['var_name'] as $k=>$v){ if($k!=0)
38{
39?>
40<div id="var<?php echo $k?>"><span style="width:60px;"><input type="text" size="4" title="点击复制到剪贴板" name="{$setting[var_value][<?php echo $k?>]}" value="<?php echo $k?>" onDblClick="clipboardData.setData('text',this.name); alert(this.name +'已复制到剪贴板');"></span></span><span style="width:150px"><input name="setting[var_description][<?php echo $k?>]" type="text" size="21" value="<?php echo $setting['var_description'][$k]?>"></span><span style="width:150px;margin-left:4px;"><input name="setting[var_name][<?php echo $k?>]" type="text" size="21" value="<?php echo $v?>"></span><span style="width:150px;margin-left:4px;"><input name="setting[var_value][<?php echo $k?>]" type="text" size="21" value="<?php echo $setting['var_value'][$k]?>"></span><span> <a href="###" onClick="var_del(<?php echo $k?>)">删除</a><span></div>
41 
42 
43<?php
44}
45}
46?>
47</div>
48</td>
49</tr>
50<tr><td>调用说明</td>
51<td>1、 首先加载站点缓存,方法如下: $siteinfo = getcache('sitelist', 'commons'); 然后可以使用var_dump()函数打印 $siteinfo 数组,可以很清楚的看到该数组的结构,如果懂得数组使用的可以很方便取到需要的值;
52<br>
53示例:<br>
54<div style="border:1px solid #D8D8D8;">
55<li>$siteinfo = getcache('sitelist', 'commons');//加载缓存文件</li>
56<li>$siteid = $siteid?$siteid:1;//设置站点</li>
57<li>$site_setting = string2array($siteinfo[$siteid]['setting']);//将字符串转换为数组,前三行代码在同一个文件里只需要写 一次就足够了,你需要用到的页面里可能已经做过这样的处理,就可以连上面三步都省略掉</li>
58<li>echo $site_setting['var_value'][0]; //将输出第一个自定义变量的变量值</li>
59</div>
60<br>2、此变量为**数组模式,原型请查阅 caches\caches_commons\caches_data\sitelist.cache.php 文件.
61<br>3、利用此插件,您可以自定义一些变量,在"任何地方"有条件的使用,作为一个"开关"或者您自己的用途.方便您在后台随时修改设置.
62</tr>
63</table>
64</fieldset>
65<style>
66#myVarForm input {
67    width: 110px;
68}
69</style>
70<!--自定义变量设置结束-->

第二步:前台调用自定义变量

1<!---自定义变量插件初始化--->
2<?php
3$siteinfo = getcache('sitelist', 'commons');//加载缓存文件
4$siteid = $siteid?$siteid:1;//设置站点
5$site_setting = string2array($siteinfo[$siteid]['setting']);//将字符串转换为数组
6?>
7<!---调用自定义变量  [0]代表自定义变量的索引值。--->
8<?php echo $site_setting['var_value'][0];?>
posted @ 2016-08-24 08:36  编程未来  阅读(209)  评论(0编辑  收藏  举报