phpcms怎么添加自定义变量

 我来答
可以叫我表哥
2014-12-09 · 知道合伙人数码行家
可以叫我表哥
知道合伙人数码行家
采纳数:25897 获赞数:1464972
2010年毕业于北京化工大学北方学院计算机科学与技术专业毕业,学士学位,工程电子技术行业4年从业经验。

向TA提问 私信TA
展开全部
第一步,添加自定义插件:
打开 \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 ?>
13 var t = <?php echo $t;?> + 1;
14 function var_add()
15 {
16 var 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;"><inputname="setting[var_name]['+t+']" type="text" size="26"></span><spanstyle="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);
18 t++;
19 return true;
20 }
21 function var_del(t)
22 {
23 $('#var'+t).remove();
24 return 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><spanstyle="width:158px"><strong>变量描述</strong></span><span style="width:158px"><strong>变量名</strong></span><span style="width:158px"><strong>变量值</strong></span></div>
36 <?php
37 foreach($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="<?phpecho $k?>" onDblClick="clipboardData.setData('text',this.name); alert(this.name +'已复制到剪贴板');"></span></span><span style="width:150px"><inputname="setting[var_description][<?php echo $k?>]" type="text" size="21" value="<?phpecho $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;"><inputname="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];?>
栾珈蓝荣04Z
2014-02-18
知道答主
回答量:8
采纳率:0%
帮助的人:3.5万
展开全部
可以在根目录下的phpcms/base.php中添加,添加后全站都能用。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式