帝国cms 调用某一栏目下所有图片的方法
用哪个标签实际上无所谓
[ecmsinfo]1,10,32,0,0,1,1[/ecmsinfo]
调用对象选栏目即可了,在标签模板里调用文章的缩略图,就是前面加small,点进去是他的简介,可以设置会员空间,也可以是php文件的调用会员信息。完全可以实现。
栏目名称标签 [!--classname--] :栏目名称(带链接) [!--thisclassname--] :栏目名称(不带链接) 看你的标签[ecmsinfo]0,10,28,1,4,2,0[/ecmsinfo]用的是标签模板里ID为2 的 《标题列表模板》点击标题列表模板后面的修改, 在“列表内容模板
本来不想回答
去年做过项目4表联合
拿去自己改吧
不会改就没办法
不解释
[e:loop={'select
from
(
(select id,classid,istop,title,titleurl,titlepic,newstime from phome_ecms_news where istop=1 order by newstime desc limit 13 )
Union All
(select id,classid,istop,title,titleurl,titlepic,newstime from phome_ecms_news1 where istop=1 order by newstime desc limit 13)
Union All
(select id,classid,istop,title,titleurl,titlepic,newstime from phome_ecms_news2 where istop=1 order by newstime desc limit 13)
Union All
(select id,classid,istop,title,titleurl,titlepic,newstime from phome_ecms_news3 where istop=1 order by newstime desc limit 13)
) as A order by newstime desc limit 20',0,24,0}]
<php
$fb=$empire->fetch1("select
from
(
(select id,classid,smalltext from phome_ecms_news_data_1 where id='$bqr[id]' and classid='$bqr[classid]')
Union All
(select id,classid,smalltext from phome_ecms_news1_data_1 where id='$bqr[id]' and classid='$bqr[classid]')
Union All
(select id,classid,smalltext from phome_ecms_news2_data_1 where id='$bqr[id]' and classid='$bqr[classid]')
Union All
(select id,classid,smalltext from phome_ecms_news3_data_1 where id='$bqr[id]' and classid='$bqr[classid]')
) as A");
>
<li class="clearfix">
<a target='_blank' href="<=$bqr[titleurl]>" title="<=$bqr[title]>" class="index-img"><img src="<=$bqr[titlepic]$bqr[titlepic]:'404jpg'>" alt="<=$bqr[title]>"></a>
<div class="index-text">
<h1><a target='_blank' href="<=$bqr[titleurl]>"><=$bqr[title]></a>
</h1>
<div class="index-con"></div>
<div class="index-intro"><a target="_blank" href="<=$bqr[titleurl]>from=index_new_intro"><=$fb[smalltext]></a></div>
<div class="index-like clearfix">
<span class="time">
<php
$fr=$empire->fetch1("select
from
(
(select id,classid,infotags from phome_ecms_news_data_1 where id='$bqr[id]' and classid='$bqr[classid]')
Union All
(select id,classid,infotags from phome_ecms_news1_data_1 where id='$bqr[id]' and classid='$bqr[classid]')
Union All
(select id,classid,infotags from phome_ecms_news2_data_1 where id='$bqr[id]' and classid='$bqr[classid]')
Union All
(select id,classid,infotags from phome_ecms_news3_data_1 where id='$bqr[id]' and classid='$bqr[classid]')
) as A");
$keyr=explode(',',$fr[infotags]);
for($i=0;$i<2;$i++)
{
echo'<span><a href="/liaotian/tags-'$keyr[$i]'-0html" target=_blank>'$keyr[$i]'</a></span> ';
}
>
</span>
<span class="time"><=format_datetime($bqr[newstime],"m-d")></span>
<div class="post-ope">
<a href="/e/public/digg/classid=<=$bqr[classid]>&id=<=$bqr[id]>&dotop=1&ajaxarea=diggnum<=$bqr[id]>" class="post-like-btn post-like" id="post-like-top-btn">
<script>
documentwrite('<script src="/e/public/ViewClick/classid=<=$bqr[classid]>&id=<=$bqr[id]>&down=5t='+Mathrandom()+'"><'+'/script>');
</script>
</a>
</div>
</div>
</div>
</li>
[/e:loop]
功能:联合取4表数据
关联取附表简介
并取标签
附加顶功能
动态浏览量等
[e:loop={'select from [!dbpre!]enewsclass as a right join [!dbpre!]ecms_news as b on aclassid=bclassid and abclassid='$topbclassid'',1,24,0}] []
[/e:loop] 首先,我也好久没有弄过帝国了,很多东西都忘了,凭仅有的记忆和网上搜索,在66版本里测试了一下,以上方法是有效的。关于[!--bclassid--]这个标签,记得外面的[!-- --]这个是输出的意思,相当于echo吧,所以放在标签里怎么都不对了,因为它并不需要在那里输出,其次在[!dbpre!]ecms_news数据表里的classid是本栏目id,比如你顶级栏目2下面有34,35,36,37,新闻表里只能查34,35,36,37栏目的新闻,所以你classid=[!--bclassid--]这样写就算[!--bclassid--]没有输出的问题也是不正确的所以我用了联合查询的mysql,同时查栏目表和新闻表,在栏目表查出哪个栏目的父栏目id是2,得出34,35,36,37,然后去新闻表查属于这4个栏目的新闻最上面取得当前栏目的顶级栏目ID是在网上搜的,测试过是对的,它应该比[!--bclassid--]好吧,记得[!--bclassid--]好像只是父栏目id,如果有3级栏目是不是就不能获取一级栏目了,我记不太清了,你可以自己测试一下2个变量的区别
<php
$fcr=explode('|',$class_r[$GLOBALS[navclassid]][featherclass]);
$topbclassid=$fcr[1]$fcr[1]:$GLOBALS[navclassid];//取得当前栏目的顶级栏目ID
//echo $topbclassid;
>
[e:loop={'select from [!dbpre!]enewsclass as a right join [!dbpre!]ecms_news as b on aclassid=bclassid and abclassid='$topbclassid'',1,24,0}]
[<=$bqno>]<a href="<=$bqsr[titleurl]>" target="_blank"><=$bqr[title]></a><br />
[/e:loop]
首先,我也好久没有弄过帝国了,很多东西都忘了,凭仅有的记忆和网上搜索,在66版本里测试了一下,以上方法是有效的。
关于[!--bclassid--]这个标签,记得外面的[!-- --]这个是输出的意思,相当于echo吧,所以放在标签里怎么都不对了,因为它并不需要在那里输出,
其次在[!dbpre!]ecms_news数据表里的classid是本栏目id,比如你顶级栏目2下面有34,35,36,37,新闻表里只能查34,35,36,37栏目的新闻,所以你classid=[!--bclassid--]这样写就算[!--bclassid--]没有输出的问题也是不正确的
所以我用了联合查询的mysql,同时查栏目表和新闻表,在栏目表查出哪个栏目的父栏目id是2,得出34,35,36,37,然后去新闻表查属于这4个栏目的新闻
最上面取得当前栏目的顶级栏目ID是在网上搜的,测试过是对的,它应该比[!--bclassid--]好吧,记得[!--bclassid--]好像只是父栏目id,如果有3级栏目是不是就不能获取一级栏目了,我记不太清了,你可以自己测试一下2个变量的区别
不需要使用灵动标签,万能标签就足够了。
帝国CMS自带的语法标签说明: e/admin/template/EnewsBqphp
格式:[ecmsinfo]栏目ID/专题ID,显示条数,标题截取数,是否显示栏目名,操作类型,模板ID,只显示有标题,附加SQL条件,显示排序[/ecmsinfo]
根据自己要的效果修改上述的参数
一 栏目调用只能通过栏目id来逐个调用
1 比如调用ID为1,2,3的三个栏目最新的信息(按栏目调用最新信息的操作类型为0)
[ecmsinfo]‘1,2,3’,显示条数,标题截取数,是否显示栏目名,0,模板ID,只显示有标题,附加SQL条件,显示排序[/ecmsinfo]
2 调用本栏目最新信息可用selfinfo,同样操作类型为0
[ecmsinfo]‘selfinfo’,显示条数,标题截取数,是否显示栏目名,0,模板ID,只显示有标题,附加SQL条件,显示排序[/ecmsinfo]
二 如果你想调用所有栏目的话,只要你的所有栏目都是相同模型就可以,比如所有栏目都是文章模型或者新闻模型,此时你可以通过调用数据表的方式
比如调用新闻表的所有最新信息,各表最新信息 (栏目ID='表名') 操作类型为18
[ecmsinfo]‘news’,显示条数,标题截取数,是否显示栏目名,18,模板ID,只显示有标题,附加SQL条件,显示排序[/ecmsinfo]
此外,还有许多调用方式,比如按专题,按标题分类,按默认表,按SQL调用,默认的万能标签就完全可以达到你想要的效果,完全不需要用到超级灵活的灵动标签,灵动标签更适合懂得php代码的定制
0条评论