我正在开发一个相当基本的菜单系统,所有类别都保存在一个表中,子类别标记在字段'issubcategoryof'中。在输出级别,具有子类别的类别没有“链接”字段的值(单击类别名称会触发子类别的视图),但所有子类别都具有链接值(当然,没有子类别的类别)有一个链接值)。为避免疑义,子类别仅为1级(因此类别为>子类别)。
查询和输出的工作原理是它正确地显示了类别和子类别名称,但是由于某种原因,“链接”值未被传递给子类别。我的意思是#link#
旁边#subcatheader#
在输出时是空的,但应该有一个值。
这是我目前的查询和输出;
<cfquery name="getnav">
SELECT p.navID AS PrimaryID, p.catheader, p.navsort, p.link, c.navID AS SubCategoryID, c.subcatheader, c.link
FROM sitenav p
LEFT JOIN sitenav c ON p.navID = c.IsSubcatOf
WHERE p.isSubcatOf = 0
ORDER BY p.navsort ASC
</cfquery>
<cfoutput query="getnav" group="catheader">
<div class="sidebar-menu">
<cfif link NEQ ''>
<a href="#link#">#catheader#</a>
<cfelse>
#catheader#
</cfif>
<div class="expand"></div>
</div>
<cfif link EQ ''>
<div class="sub-menu">
<ul>
<cfoutput>
<li><a href="#link#">#subcatheader#</a></li>
</cfoutput>
</ul>
</div>
</cfif>
</cfoutput>
我一直盯着这一段时间,似乎我错过了一些非常明显的东西,但现在却暗示着我!任何指针都欢迎!
答案 0 :(得分:6)
我会在评论中这样做,但我没有足够的代表。点。无论如何,你有两个“链接”字段,分别用于p和c。也许你需要给他们不同的名字?