首页 > 建站教程 > CMS教程 > phpcms >  phpcms定义和调用自定义变量的方法,phpcms自定义变量插件正文

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

第一步,添加自定义插件:
打开 \phpcms\modules\admin\templates\site_edit.tpl.php 文件,找到最后一个 </fieldset> ,在他后面添加上下面的代码:


<!--自定义变量设置开始  自定义变量插件-->
<div class="bk10"></div>
<fieldset>
<legend>自定义变量</legend>
<table width="100%" class="table_form" id="myVarForm">
<script type="text/javascript">
//var t = <?php echo count($setting['var_value'])?> + 1;
//上面一行注释 添加下方代码 这样自定义变量就可以添加很多个!
<?php
$arr = array_keys($setting['var_value']);
$t = max($arr);
?>
var t = <?php echo $t;?> + 1;
function var_add()
{
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;"><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>';
$('#var_define').append(data);
t++;
return true;
}
function var_del(t)
{
$('#var'+t).remove();
return true;
}
</script>
<tr>
<th><strong>自定义变量</strong>(<a href="###" onClick="javascript:var_add();" style="color:red">+</a>)</th>
<td>
<style type="text/css">
#var_define_head span{float:left;text-align:center;}
#myVarForm input{width:110px;}
</style>
<div id="var_define">
<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>
<?php
foreach($setting['var_name'] as $k=>$v){ if($k!=0)
{
?>
<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>


<?php
}
}
?>
</div>
</td>
</tr>
<tr><td>调用说明</td>
<td>1、首先加载站点缓存,方法如下: $siteinfo = getcache('sitelist', 'commons'); 然后可以使用var_dump()函数打印 $siteinfo 数组,可以很清楚的看到该数组的结构,如果懂得数组使用的可以很方便取到需要的值;
<br>
示例:<br>
<div style="border:1px solid #D8D8D8;">
<li>$siteinfo = getcache('sitelist', 'commons');//加载缓存文件</li>
<li>$siteid = $siteid?$siteid:1;//设置站点</li>
<li>$site_setting = string2array($siteinfo[$siteid]['setting']);//将字符串转换为数组,前三行代码在同一个文件里只需要写一次就足够了,你需要用到的页面里可能已经做过这样的处理,就可以连上面三步都省略掉</li>
<li>echo $site_setting['var_value'][0]; //将输出第一个自定义变量的变量值</li>
</div>
<br>2、此变量为**数组模式,原型请查阅 caches\caches_commons\caches_data\sitelist.cache.php 文件.
<br>3、利用此插件,您可以自定义一些变量,在"任何地方"有条件的使用,作为一个"开关"或者您自己的用途.方便您在后台随时修改设置.
</tr>
</table>
</fieldset>
<style>
#myVarForm input {
    width: 110px;
}
</style>
<!--自定义变量设置结束-->


第二步:后台添加自定义变量,具体在“设置”-->“站点管理”-->“修改” 如下图:

phpcms自定义变量
phpcms自定义变量

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

<!---自定义变量插件初始化--->
<?php
$siteinfo = getcache('sitelist', 'commons');//加载缓存文件
$siteid = $siteid?$siteid:1;//设置站点
$site_setting = string2array($siteinfo[$siteid]['setting']);//将字符串转换为数组
?>
<!---调用自定义变量  [0]代表自定义变量的索引值。--->
<?php echo $site_setting['var_value'][0];?>
关于dedecms自定义变量欢迎访问:http://www.5imoban.net/jiaocheng/cms/dedecms/2014/0212/183.html