Sinfo分类聚合 信息聚合插件ecms7.5

关于这个插件功能作者介绍

(1)Sinfo拥有系统默认信息的全部功能和特性;

(2)可以将信息推送到Sinfo下,使Sinfo具备聚合功能;

(3)将信息推送到Sinfo的方法有两种:a、新增/修改信息时时推送,与推送到tag一样 b、在列表页批量推送,与推送到专题一样;

(4)Sinfo自身拥有两种模式:列表式与封面式,列表式采用列表模板,封面式采用内容页模板;

(5)不管是封面模板还是列表模板,都可以调用信息的各种字段内容;

(6)Sinfo下可以新增子类,子类可以生成静态或者仅动态,子类可以理解成专题的“子专题”,或者小说的“分卷”;

(7)Sinfo可以按照子信息的不同系统模型来生成页面,静态或者动态,称之为“子模型列表”;

(8)普通信息在单个sinfo的情况下,可以设置生成页面到Sinfo目录;

特点解说:

绑定分类后 可按模型管理子信息列表 并可模板调用某分类信息的模型选项信息
可配置全局一些基础功能【模型绑定默认入库栏目 sinfo数量控制 生成 投稿控制 模板类别 显示排序数量控制 模型单独模板配置 子类伪静态等】
可设置分类信息的子分类
依然保留原内容系统的能力 各种推送依然通用

Sinfo调用

支持索引灵动标签sql调用

取当前分类信息10

[e:indexloop={"select * from {$dbtbpre}dptag_sinfo where ztid='$navinfor[id]' limit 10",0,11,'',''}]
<a href="<?=$bqsr['titleurl']?>" target="_blank"><!--?=$bqr['title']?--></a>
[/e:indexloop]

以模型方式调出分类信息99

<!--?
$lmsql=$empire--->query("select distinct mid from {$dbtbpre}dptag_sinfo where ztid='$navinfor[id]'");
while($lmr=$empire-&gt;fetch($lmsql)){
$lmurl=DPsinfo_LmUrl($navinfor,$lmr[mid]);
?&gt;
<h3><a href="<?=$lmurl?>" target="_blank"><!--?=$emod_r[$lmr[mid]][qmname]?--></a></h3>
[e:indexloop={"select * from {$dbtbpre}dptag_sinfo where ztid='$navinfor[id]' and mid='$lmr[mid]' limit 99",0,11,'',''}]
<a href="<?=$bqsr['titleurl']?>" target="_blank"><!--?=$bqr['title']?--></a>
[/e:indexloop]
<!--?
}
?-->

以子分类调出分类信息99

<!--?
$zlsql=$empire--->query("select * from {$dbtbpre}dptag_sinfo_c where ztid='$navinfor[id]' order by myorder");
while($zlr=$empire-&gt;fetch($zlsql)){
$zlurl=DPsinfo_ZlUrl($navinfor,$zlr[cid],$zlr,1);
?&gt;
<h3><a href="<?=$zlurl?>" target="_blank"><!--?=$zlr[cname]?--></a></h3>
[e:indexloop={"select * from {$dbtbpre}dptag_sinfo where ztid='$navinfor[id]' and cid='$zlr[cid]' limit 99",0,11,'',''}]
<a href="<?=$bqsr['titleurl']?>" target="_blank"><!--?=$bqr['title']?--></a>
[/e:indexloop]
<!--?
}
?-->

信息页,根据Sinfo调用相关信息

代码一:多个sinfo分开调用其子信息
<!--?php
$ctsql=$empire--->query("select * from {$dbtbpre}dptag_sinfo where classid='$navinfor[classid]' and id='$navinfor[id]' limit 99");
while($ctr=$empire-&gt;fetch($ctsql)){
?&gt;
[e:indexloop={"select * from {$dbtbpre}dptag_sinfo where ztid='$ctr[ztid]' limit 10",0,11,'',''}]
<a href="<?=$bqsr['titleurl']?>" target="_blank"><!--?=$bqr['title']?--></a>
[/e:indexloop]
<!--?
}
?-->
代码二:多个子sinfo,混合调用其子信息
[e:indexloop={"select * from {$dbtbpre}dptag_sinfo where ztid in (select ztid from {$dbtbpre}dptag_sinfo where classid='$navinfor[classid]' and id='$navinfor[id]') limit 10",0,11,'',''}]
<a href="<?=$bqsr['titleurl']?>" target="_blank"><!--?=$bqr['title']?--></a>
[/e:indexloop]
Sinfo子信息数量
$thisztid=Sinfo的id;
$sznum=$empire-&gt;gettotal("select count(*) as total from {$dbtbpre}dptag_sinfo where ztid='$thisztid'");

不同页面,$thisztid值是不同的,根据具体情况来写。

在数据表字段/模型新增sinfo字段的标准配置

字段名/标识:sinfo
主表、类型:VARCHAR 长度:255 、单行文本框
后台增加/修改 处理函数:DPsinfo_SinfoFun
前台增加/修改 处理函数:qDPsinfo_SinfoFun

输入表单替换html代码:

<input name="sinfo" type="text" id="sinfo" value="<?=$ecmsfirstpost==1?ehtmlspecialchars(stripSlashes($_GET[sinfo])):ehtmlspecialchars(stripSlashes($r[sinfo]))?>" size="50">
<input type="button" name="Submit" value="选择" onclick="window.open('sinfo/changsinfo.php?form=add&amp;field=sinfo<?=$ecms_hashur['ehref']?>','','width=780,height=600,scrollbars=yes');">
<input name="oldsinfo" type="hidden" id="oldsinfo" value="<?=$ecmsfirstpost==1?" ":ehtmlspecialchars(stripslashes($r[sinfo]))?="">"&gt;
<!--?
$ztid=(int)$_GET['ztid'];
?-->
<input name="sinfoid" type="hidden" id="sinfoid" value="<?=$ztid?>">
<!--?
require_once("../sinfo/config.php");
if($ecmsfirstpost==1&&$dp_sinfo['dd'][$modid]==1){
    $zloption='';

    $zlsql=$empire--->query("select * from {$dbtbpre}dptag_sinfo_c where ztid='$ztid' order by myorder,cid");
while($zlr=$empire-&gt;fetch($zlsql)){
$zloption.='
<option value="'.$zlr['cname'].'">'.$zlr['cname'].'</option>';
}
?&gt;
所属子类:<input type="text" name="myzl" size="12">
<!--?if($zloption){?--><select name="myzl0" onchange="document.add.myzl.value=this.value"><!--?=$zloption?-->
</select><!--?}?-->
<!--?}?-->

投稿表单替换html代码:

<input name="sinfo" type="text" id="sinfo" value="<?=$ecmsfirstpost==1?ehtmlspecialchars(stripSlashes($_GET[sinfo])):ehtmlspecialchars(stripSlashes($r[sinfo]))?>" size="60">
<input type="button" name="Submit" value="选择" onclick="window.open('../sinfo/qchangsinfo.php?form=add&amp;field=sinfo&amp;mid=<?=$mid?>','','width=780,height=600,scrollbars=yes');">
<input name="oldsinfo" type="hidden" id="oldsinfo" value="<?=$ecmsfirstpost==1?" ":ehtmlspecialchars(stripslashes($r[sinfo]))?="">"&gt;

修改对应的系统模型 :
勾选录入项、可增加、可修改、列表模板、内容模板。勾选自动生成表单模板
信息列表名称框内填写sinfo并保存

主要函数使用语法

1、调取信息所属Sinfo的函数:user_ReturnSinfo

语法:

user_ReturnSinfo($id,$classid,$limit=10,$exp="| ",$where='',$where2='')
说明:

$id:当前信息ID
$classid:当前信息CLASSID
$limit:需要调用的数量,0为不限制,默认10
$exp:调用出来的Sinfo信息间隔字符,|前的部分<a href="链接" *="">Sinfo</a>|后的部分
$where:对dptag_sinfo表执行的mysql附加条件
$where2:对sinfo数据表执行的mysql附加条件
范例1:在信息页调用当前信息的Sinfo,仅限模型id为9的信息

<!--?=user_ReturnSinfo($navinfor['id'],$navinfor['classid'],0,"

                <li-->|

","mid=9")?&gt;
范例2:在列表页调用当前信息的Sinfo

$sinfostr=user_ReturnSinfo($r['id'],$r['classid'],5,"| ");
$listtemp='其它代码'.$sinfostr.'其它代码';

2、调用Sinfo所属信息的函数:user_ReturnSinfoss

语法:

user_ReturnSinfoss($id,$limit=10,$exp="| ",$where='',$where2='')
说明:

$id:当前Sinfo信息ID
$limit:需要调用的数量,0为不限制,默认10
$exp:调用出来的Sinfo信息间隔字符,|前的部分<a href="链接" *="">Sinfo</a>|后的部分
$where:对dptag_sinfo表执行的mysql附加条件
$where2:对子信息所在数据表执行的mysql附加条件
范例:

<!--?=user_ReturnSinfoss($navinfor['id'],10,"

                <li-->|

",'')?&gt;

3、获取子列表链接的函数:DPsinfo_LmUrl

语法:

DPsinfo_LmUrl($r,$lmmid)
说明:

$r:当前Sinfo信息的字段内容数组,必须包含字段id,classid,newspath,filename,groupid,titleurl
$lmmid:指定模型id
范例:在Sinfo当前页面,调用模型id为1的子列表链接

<!--?=DPsinfo_LmUrl($navinfor,1)?-->

4、获取子类链接的函数:DPsinfo_ZlUrl

语法:

DPsinfo_ZlUrl($r,$zlid,$z='',$nodo=0)
说明:

$r:当前Sinfo信息的字段内容数组,必须包含字段id,classid,newspath,filename,groupid,titleurl
$zlid:子类id
$z:子类数组
$nodo:如果子类数组有输入,则此项填1,否则填0
范例:在Sinfo当前页面,调用子类id为1的子类链接

<!--?=DPsinfo_ZlUrl($r,1)?-->

为sinfo数据表中新增其他字段方法

插件中为sinfo模型增加字段
控制单独每个sinfo的属性。以下是新增字段说明。可以仅选择新增其中某个字段。如

字段名:sinfo_md

字段标识:页面模式
字段类型:TINYINT
存放表:副表
输入表单显示元素:单选框
初始值:
0==默认:default
1==列表式
2==封面式
其它各项默认。友情提醒:初始值的文本框中,不要留空行。

在系统模型中,将sinfo_md字段设置为:录入项、可增加、可修改

字段名:sinfo_listtempid

字段标识:列表模板
字段类型:SMALLINT
存放表:副表
输入表单替换html代码:
<!--?php
//系统模型
$m_sql=$empire--->query("select mid,mname,usemod from {$dbtbpre}enewsmod order by myorder,mid");
while($m_r=$empire-&gt;fetch($m_sql))
{
//列表模板
$listtemp_options.="
<option value="0" style="background:#99C4E3">".$m_r[mname]."</option>";
$lt_sql=$empire-&gt;query("select tempid,tempname from ".GetTemptb("enewslisttemp")." where modid='$m_r[mid]'");
while($lt_r=$empire-&gt;fetch($lt_sql))
{
//静态
if($lt_r[tempid]==$r[sinfo_listtempid])
{$lt_d=" selected";}
else
{$lt_d="";}
$listtemp_options.="
<option value=".$lt_r[tempid].$lt_d."> |-".$lt_r[tempname]."</option>";
}

}
?&gt;
<select name="sinfo_listtempid" id="sinfo_listtempid">
<option value="0">采用默认值</option><!--?=$listtemp_options?-->
</select>
其它各项默认。注意:此项设置仅在列表模式时生效。友情提醒:本字段在新增时无法设置“输入表单替换html代码”,需要再修改一次。

在系统模型中,将sinfo_listtempid字段设置为:录入项、可增加、可修改

字段名:sinfo_order

字段标识:列表排序
字段类型:VARCHAR
存放表:副表
其它各项默认。注意:此项设置仅在列表模式时生效。

在系统模型中,将sinfo_order字段设置为:录入项、可增加、可修改

字段名:sinfo_maxnum

字段标识:最大信息数
字段类型:INT
存放表:副表
其它各项默认。注意:此项设置仅在列表模式时生效。

字段名:sinfo_pagenum

字段标识:每页显示信息数
字段类型:INT
存放表:副表
其它各项默认。注意:此项设置仅在列表模式时生效。
系统模型设置

在系统模型中,将以上字段设置为:录入项、可增加、可修改

插件源码获取方法

此源码为个人所有 好友请联系我获取139或毛子盘的地址

非凡网 博客

我只是帮你筛选价值。

你也许喜欢

发表评论