帝国CMS二次开发根据Tags调用相关文章教程
2020-04-10 站长 站长日志
根据Tags调用相关文章教程方法
以下代码放到/e/class/userfun.php里!<?php
function
user_otherlink(
$limit
=5){
global
$dbtbpre
,
$empire
,
$navinfor
,
$class_r
;
if
(
$navinfor
[infotags]){
$classid
=(int)
$classid
;
$limit
=(int)
$limit
;
$tbname
=
$class_r
[
$navinfor
[classid]][tbname];
$tagarr
=
explode
(
","
,
$navinfor
[infotags]);
$arr
=
array
();
$num
=
ceil
(
$limit
/
count
(
$tagarr
));
foreach
(
$tagarr
as
$k
=>
$v
){
if
(
count
(
$tagarr
)==
$k
+1){
$num
=
$limit
-
count
(
$arr
);
}
else
{
if
(
$i
<
$num
){
$num
=
ceil
((
$limit
-
count
(
$arr
))/
count
(
$tagarr
));
}
}
$t
=
$empire
->fetch1(
"select tagid,num from {$dbtbpre}enewstags where tagname='$v'"
);
if
(
$t
[tagid]){
$sql
=
$empire
->query(
"select id from {$dbtbpre}enewstagsdata where tagid=$t[tagid]"
);
$i
=0;
while
(
$s
=
$empire
->fetch(
$sql
)){
if
(in_array(
$s
[id],
$arr
)||
$s
[id]==
$navinfor
[id]){
continue
;
}
else
{
$arr
[]=
$s
[id];
$i
++;
}
if
(
$i
==
$num
){
break
;
}
if
(
count
(
$arr
)==
$limit
){
break
2;
}
}
if
(
$t
[num]>
$num
){
$linshi
=
$t
[tagid];
}
}
}
if
(
count
(
$arr
)>0){
$inid
=implode(
","
,
$arr
);
if
(
count
(
$arr
)<
$limit
&&
$linshi
){
$sql
=
$empire
->query(
"select id from {$dbtbpre}enewstagsdata where tagid=$linshi and id not in($inid)"
);
while
(
$s
=
$empire
->fetch(
$sql
)){
$arr
[]=
$s
[id];
if
(
count
(
$arr
)==
$limit
){
break
;
}
}
}
$inid
=implode(
","
,
$arr
);
$str
=
""
;
$news
=
$empire
->query(
"select id,title,titleurl,titlepic from {$dbtbpre}ecms_{$tbname} where id in($inid)"
);
while
(
$n
=
$empire
->fetch(
$news
)){
$str
.=
'<li><a href="'
.
$n
[titleurl].
'">'
.
$n
[title].
'</a></li>'
;
}
}
return
$str
;
}
}
?>
内容页模板用以下代码调用:5为显示数量 自己改
<?=user_otherlink(5)?>