本插件适用于帝国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
插件作者:咏兰网络
联系 Q Q:5160387
插件介绍:帝国CMS系统的无限联动插件。
官方网站:http://www.ylsm.net/
----------------------------------------------------------------------------- 想到即可做到 - 帝国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[linkage_name]:''; if ($linkage_b!=1){ if ($name&&$linkage_b==0){ $query="select linkage_name from {$dbtbpre}linkage where linkage_id in ($name[linkage_path])";} if ($name&&$linkage_b>1){ $query="select linkage_id,linkage_name from {$dbtbpre}linkage where linkage_id in ($name[linkage_path])"; $totalquery="select count(*) as total from {$dbtbpre}linkage where linkage_id in ($name[linkage_path])"; $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_name].$linkage_d;} echo $name[linkage_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[liand]))?>" size="">
5、添加字段:登录后台→系统→管理数据表→管理字段→增加字段→ 新建一个字段,字段类型int,单行文本框,字段处理函数:user_Linkage##后面加上select下拉菜单的name值,一般是最后一级。比如生成的菜单最后一级代码为: <select class="ld-select-11" name="ld113"> 那么字段处理函数就是user_Linkage##ld113。
注意:select的class的值最好不要修改,如需修改的话下面js也要修改。
6、前台调用使用标签:
[linkage]菜单ID,路径级别,'分隔符'[/linkage]
参数说明: 菜单ID:模型中联动菜单字段的名称,如内容页使用:$navinfor['字段名'] 路径级别:几级菜单添几,0为输出全部路径,1为输出当前菜单名称 如:菜单叫“中国”的省、市、区三级联动,0 就 把“中国”也输出,3就只输出省、市、区。 分隔符:菜单名称之间的分割符号 7、插件安装完毕!
******************** 卸载插件 ******************** 1、在浏览器中执行 /e/extend/linkage/index.php 文件,依提示进行卸载;
2、提示卸载完成后,删除 /e/extend/linkage/ 目录;
3、修改相关字段和模型表单。
4、卸载完毕!
******************** 更新专区 ******************** 2013年01月11日 13:33 修正联动菜单为空时,前台无判断导致无法生成或者动态页面显示不全的问题。
2013年3月28日 修复一些小细节,做了部分优化(速度上)
发布正式版,本版本理论上支持6.0以上(6.0~6.6需要修改安装包文件编码读取函数,ECMS7.0修改了此处)
上午传的文件弄错了,GBK的也是UTF8的 重新传了一份,已经下载的请重新下载下
上传以下附件: [下载 *.rar](文件大小:720.23 KB,下载次数:1409)
|