yangxin 发表于 2021-5-1 11:08:19

AspCms-调用指定数量的栏目解决办法

在使用aspcms时,有时我们想在首页列出某个分类下的指定数量的分类,后面的不再显示。
例如产品分类下面有5个子分类,而在首页只想显示3个。
如果使用{aspcms:navlist sort=**}{/aspcms:navlist}就会将所有的栏目都列出来。
本文提供解决思路,如果以下代码修改无效,还需自行修改。

打开AspCms_MainClass.asp文件。
找到445行左右的代码
linkArray=conn.Exec("select SortName,SortType,SortURL,sortID,(select count (*) from {PRefix}Sort as a where a.ParentID=b.sortID) as subcount,SortFolder,SortFileName,GroupID,Exclusive,indeximage from {prefix}Sort as bwhere LanguageID="&setting.languageID&" and SortStatus=1 and ParentID="&vtype&" order by SortOrder asc","arr")
将此段下面的代码
if not isarray(linkArray) thenvnum=-1else vnum=ubound(linkArray,2)
替换为
                      navnum=cint(parseArr(labelAttrLinklist)("navcount"))-1
if isnul(navnum) then navnum=ubound(linkArray,2)
if not isarray(linkArray) then
vnum=-1
elseif navnum > ubound(linkArray,2) then
vnum=ubound(linkArray,2)
else
vnum = navnum
end if
调用标签为:navcount=1
页: [1]
查看完整版本: AspCms-调用指定数量的栏目解决办法