admin 发表于 2014-8-17 16:25:27

帝国CMS无限联动插件

帝国CMS无限联动插件

本文关键字词:联动插件,无限联动插件,帝国联动插件,ECMS联动插件,帝国CMS插件,帝国CMS免费插件,帝国CMS联动插件

本插件适用于帝国CMS7.0正式版,压缩包提供“简体GBK、简体UTF”正式版本。同时也是给大家制作帝国CMS插件提供一种格式范例,期待大家制作更多的插件。

注释:其他版本请修改/e/extend/linkage/install/install.php中的ENGINE=MyISAM AUTO_INCREMENT=1 ;",$ecms_config['db']['dbchar']));为ENGINE=MyISAM AUTO_INCREMENT=1 ;",$phome_db_dbchar));

-----------------------------------------------------------------------------
插件名称:帝国CMS-无限联动插件 v1.01
插件介绍:帝国CMS系统的无限联动插件。
官方网站:http://www.phpin.net/thread-176-1-1.html
-----------------------------------------------------------------------------
想到即可做到 - 帝国CMS
欢迎测试使用并反馈问题。可以QQ联系作者反馈或者在帖子中留言,我们会随时关注并及时修改。
-----------------------------------------------------------------------------


********************   安装插件   ********************


1、下载插件,解压在根目录下,完整的路径为/e/extend/linkage/。

2、导入标签:登录后台→模版→标签→管理标签→导入标签→选择标签文件linkage.bq,马上导入。导入后生成的php文件代码复制粘贴在e/class/userfun.php中
linkage.bq标签导入文件在对应编码的插件目录中,自行查找!


生成的代码如下:

//---------------------------无限联动插件自定义标签函数文件
function user_Linkage($mid,$f,$isadd,$isq,$value,$cs){
$value=(int)$_POST[$cs];
if (!$value){
printerror2("联动菜单不能为空",''); }
return $value; }
function user_Linkage_Echo($linkage_a,$linkage_b,$linkage_d=' > '){
global $empire,$navinfor,$public_r,$dbtbpre;
$linkage_id=(int)$linkage_a;
$linkage_b=(int)$linkage_b;
if(!$linkage_id){
echo "";
}else{
$name=$empire->fetch1("select linkage_id,linkage_name,linkage_type,linkage_path from {$dbtbpre}linkage where linkage_id='$linkage_id'");//输出名称
echo $linkage_b==1?$name:'';
if ($linkage_b!=1){
if ($name&&$linkage_b==0){
$query="select linkage_name from {$dbtbpre}linkage where linkage_id in ($name)";}
if ($name&&$linkage_b>1){
$query="select linkage_id,linkage_name from {$dbtbpre}linkage where linkage_id in ($name)";
$totalquery="select count(*) as total from {$dbtbpre}linkage where linkage_id in ($name)";
$num=$empire->gettotal($totalquery);//取得总条数
$start=$num-$linkage_b+1;
$query=$query." LIMIT $start , $num";}
$sql=$empire->query($query);
while($row=$empire->fetch($sql)){
echo $row.$linkage_d;}
echo $name;
}}}
3、安装插件数据库:登录系统后台后,在浏览器中执行 /e/extend/linkage/index.php 文件,依提示进行安装;


4、获取联动代码以及使用:登录后台→插件→无限联动→管理联动→生成联动菜单(内有详细的生成说明)→获取复制到的代码
复制代码到模型表单中(联动字段后面)。

小技巧:联动字段的input可以添加type="hidden"隐藏。

小技巧实例: <input type="hidden" name="liand" type="text" id="liand" value="<?=$ecmsfirstpost==1?"":htmlspecialchars(stripSlashes($r))?>" size="">

5、添加字段:登录后台→系统→管理数据表→管理字段→增加字段→
新建一个字段,字段类型int,单行文本框,字段处理函数:user_Linkage##后面加上select下拉菜单的name值,一般是最后一级。
比如生成的菜单最后一级代码为:
<select class="ld-select-11" name="ld113">
那么字段处理函数就是user_Linkage##ld113。
注意:select的class的值最好不要修改,如需修改的话下面js也要修改。

6、前台调用使用标签:

菜单ID,路径级别,'分隔符'

参数说明:
菜单ID:模型中联动菜单字段的名称,如内容页使用:$navinfor['字段名']
路径级别:几级菜单添几,0为输出全部路径,1为输出当前菜单名称
如:菜单叫“中国”的省、市、区三级联动,0 就 把“中国”也输出,3就只输出省、市、区。
分隔符:菜单名称之间的分割符号

7、插件安装完毕!

********************   卸载插件   ********************
1、在浏览器中执行 //e/extend/linkage/index.php 文件,依提示进行卸载;
2、提示卸载完成后,删除 /e/extend/linkage/ 目录;
3、修改相关字段和模型表单。
4、卸载完毕!

部分截图演示:









附件下载:
页: [1]
查看完整版本: 帝国CMS无限联动插件