新云CMS4.0SP2软件信息页面添加热门软件

在新云CMS4.0SP2中,若想在软件信息页面添加最新/热门/推荐软件,我们可以在信息页面模板中添加类似的标签:

{$xml:softlist file="image.xslt" channelid="2" type="2" maxnum="15" eachline="5" image="1" width="135" height="100"}

存在问题:在这个标签中我们指定了频道ID(channelid),如果站点中有多个下载频道,那就得为各个频道新建并修改自己的信息页面模板(默认都使用系统模板),这样就不方便了。

我们希望能不指定channelid,程序在解析标签时自行加上当前频道ID,修改的标签如下:

{$xml:softlist file="image.xslt" type="2" maxnum="15" eachline="5" image="1" width="135" height="100"}

测试发现,该标签是显示所有下载频道的热门软件,而不是我们想像的显示当前频道热门软件,只能修改程序了,打开inc/template.inc,在881行(LoadSoftList函数中)找到如下代码:

If channid>0 Then
    strQuery="And A.ChannelID="&channid&" "&strQuery
End If

修改为(红色新增):

If channid>0 Then
    strQuery="And A.ChannelID="&channid&" "&strQuery
Else
    strQuery="And A.ChannelID="&NewAsp.ChannelID&" "&strQuery

End If

保存后刷新下看,可以了

补充说明

深入了解了下新云的模板解析机制,利用标签解析的先后顺序,想到另一种方法,不需要修改程序就能实现需求了,改后的标签如下:

{$xml:softlist file="image.xslt" channelid="{$channelid}" type="2" maxnum="15" eachline="5" image="1" width="135" height="100"}



上一篇: Unix 发展史
下一篇: 电脑硬件配置
文章来自: 本站原创
引用通告: 查看所有引用 | 我要引用此文章
Tags:
最新日志:
评论: 0 | 引用: 0 | 查看次数: 4291
发表评论
登录后再发表评论!