木子屋 Dnawo's BLOG

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

👤 dnawo 📅 2010-10-27 👁 5371 👍 0 💬 0 🔄 来源:本站原创
在新云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
[color=Red]Else
	strQuery="And A.ChannelID="&NewAsp.ChannelID&" "&strQuery[/color]
End If

保存后刷新下看,可以了🙂

补充说明

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

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

评论(0)

暂无评论。

验证码
评论需审核通过后显示
← 上一篇 Unix 发展史 下一篇 → 电脑硬件配置