|
官方原来曾经发布过方法,方法见http://bbs.kesion.com/forumthread-40670-3.html,但是只能读取指定的某二级栏目下面的最新文章列表。小改了一下,直接读取后台一级栏目下所有新闻,权作通用不规则新闻列表标签吧。 说明:不规则新闻不等于一行两列列表,后者改下CSS即可轻易实现。科讯的SQL标签可以对每个标题字数进行限制,既然是不规则,那么每一行可以是一个长标题,也可以是字数短一些的标题,只要利于排版就行,所以我参考了官方原来的做法。最先我设计了一个标签,在前台模板页面写上N个类似{SQL_不规则新闻(20105455255392,30)}这样的标签(N个是针对当前栏目下所有的二级栏目而言),后台循环体用一句代码 <li>[loop=1]<a href="{$Field(id,GetInfoUrl,1,1)}">{$Field(Title,Text,32,,0,)}</a>[/loop] [loop=1]<a href="{$Field(id,GetInfoUrl,1,1)}">{$Field(title,Text,17,,0,)}</a>[/loop]</li> 即可显示,但是这样的效果感觉不是很理想。 仁者见仁,智者见智,下面的方法仅是一种思路,欢迎大家提供更好的解决办法。 修改方法如下: 后台新建一个自定义SQL函数标签 1、标签名称:不规则新闻 2、查询语句: - select top {$Param(1)} ID,Tid,Title from KS_Article where Tid in(select id from ks_class where ts like '%{$Param(0)}%') And Verific=1 and strip=0 and istop=0 order by id desc
3、Ajax调用: 否
4、循环体代码 - <li>[loop=1]<a href="{$Field(id,GetInfoUrl,1,1)}">{$Field(Title,Text,25,,0,)}</a>[/loop] [loop=1]<a href="{$Field(id,GetInfoUrl,1,1)}">{$Field(title,Text,24,,0,)}</a>[/loop]</li>
- <li>[loop=1]<a href="{$Field(id,GetInfoUrl,1,1)}">{$Field(Title,Text,32,,0,)}</a>[/loop] [loop=1]<a href="{$Field(id,GetInfoUrl,1,1)}">{$Field(title,Text,16,,0,)}</a>[/loop]</li>
- <li>[loop=1]<a href="{$Field(id,GetInfoUrl,1,1)}">{$Field(Title,Text,32,,0,)}</a>[/loop] [loop=1]<a href="{$Field(id,GetInfoUrl,1,1)}">{$Field(title,Text,17,,0,)}</a>[/loop]</li>
- <li>[loop=1]<a href="{$Field(id,GetInfoUrl,1,1)}">{$Field(Title,Text,32,,0,)}</a>[/loop] [loop=1]<a href="{$Field(id,GetInfoUrl,1,1)}">{$Field(title,Text,22,,0,)}</a>[/loop]</li>
- <li>[loop=1]<a href="{$Field(id,GetInfoUrl,1,1)}">{$Field(Title,Text,32,,0,)}</a>[/loop] [loop=1]<a href="{$Field(id,GetInfoUrl,1,1)}">{$Field(title,Text,18,,0,)}</a>[/loop]</li>
- <li>[loop=1]<a href="{$Field(id,GetInfoUrl,1,1)}">{$Field(Title,Text,30,,0,)}</a>[/loop] [loop=1]<a href="{$Field(id,GetInfoUrl,1,1)}">{$Field(title,Text,25,,0,)}</a>[/loop]</li>
- <li>[loop=1]<a href="{$Field(id,GetInfoUrl,1,1)}">{$Field(Title,Text,32,,0,)}</a>[/loop] [loop=1]<a href="{$Field(id,GetInfoUrl,1,1)}">{$Field(title,Text,26,,0,)}</a>[/loop]</li>
- <li>[loop=1]<a href="{$Field(id,GetInfoUrl,1,1)}">{$Field(Title,Text,32,,0,)}</a>[/loop] [loop=1]<a href="{$Field(id,GetInfoUrl,1,1)}">{$Field(title,Text,20,,0,)}</a>[/loop]</li>
- <li>[loop=1]<a href="{$Field(id,GetInfoUrl,1,1)}">{$Field(Title,Text,32,,0,)}</a>[/loop] [loop=1]<a href="{$Field(id,GetInfoUrl,1,1)}">{$Field(title,Text,18,,0,)}</a>[/loop]</li>
- <li>[loop=1]<a href="{$Field(id,GetInfoUrl,1,1)}">{$Field(Title,Text,32,,0,)}</a>[/loop] [loop=1]<a href="{$Field(id,GetInfoUrl,1,1)}">{$Field(title,Text,18,,0,)}</a>[/loop]</li>
- <li>[loop=1]<a href="{$Field(id,GetInfoUrl,1,1)}">{$Field(Title,Text,32,,0,)}</a>[/loop] [loop=1]<a href="{$Field(id,GetInfoUrl,1,1)}">{$Field(title,Text,16,,0,)}</a>[/loop]</li>
- <li>[loop=1]<a href="{$Field(id,GetInfoUrl,1,1)}">{$Field(Title,Text,32,,0,)}</a>[/loop] [loop=1]<a href="{$Field(id,GetInfoUrl,1,1)}">{$Field(title,Text,16,,0,)}</a>[/loop]</li>
- <li>[loop=1]<a href="{$Field(id,GetInfoUrl,1,1)}">{$Field(Title,Text,32,,0,)}</a>[/loop] [loop=1]<a href="{$Field(id,GetInfoUrl,1,1)}">{$Field(title,Text,18,,0,)}</a>[/loop]</li>
- <li>[loop=1]<a href="{$Field(id,GetInfoUrl,1,1)}">{$Field(Title,Text,32,,0,)}</a>[/loop] [loop=1]<a href="{$Field(id,GetInfoUrl,1,1)}">{$Field(title,Text,18,,0,)}</a>[/loop]</li>
说明:这里沿用7.0默认首页模板(14行新闻),你可以根据标题字数自行调整每行两个新闻的字数。
前台模板调用
- <div class="hotnews">
- <ul>{SQL_不规则新闻(20105455255392,30)}</ul>
- </div>
说明:第一个数字20105455255392指后台栏目管理中的新闻频道ID(父栏目ID),你也可以改为二级栏目ID。
第二个数字30是调用的新闻条数,14行28条新闻,起码得调用28条吧。
|