基本的に、各子メニューを親メニュー ID にのみ表示したいと考えています。しかし、これまでのところ、私がli
設定したすべての子が親メニューに接続しているだけです。
メニューが現在どのように表示されているかを説明する図を次に示します。
家
概要 > 求人とモバイル (求人のみを表示したい)
サービス > 雇用 & モバイル (モバイルのみ表示したい)
コンタクト
したがって、クエリはデータベースから次の変数を出力します
- pg_LinkName
- pg_MenuTitle
- pg_ParentMenu (親メニューの名前)、
- pg_MenuType (親/サブメニューかどうかのはい/いいえ)、
- pg_SubMenu (メニューが親メニューかどうかを指定する yes/no)
子を親に動的に接続する方法があるかどうか知りたいです。例えば。ページを親に添付することを選択した場合、ドロップダウンでその親にのみ表示されます。
ここに私の質問があります:
<cfquery name="qry_GetMenu" datasource="#request.dsn#">
SELECT *
FROM tbl_pages
WHERE pg_MenuType = TRUE AND pg_Display = TRUE AND pg_AutoMenu = TRUE AND pg_Horiz_VertMenu = TRUE
ORDER BY pg_sort
</cfquery>
<cfquery name="qry_GetSubMenus" datasource="#request.dsn#">
SELECT *
FROM tbl_pages
WHERE pg_MenuType = FALSE
ORDER BY pg_sort
</cfquery>
<cfquery name="qry_SubMenu" datasource="#request.dsn#">
SELECT *
FROM tbl_pages
WHERE pg_SubMenu = TRUE
ORDER BY pg_sort
</cfquery>
そして、これは私がメニューに持っているものです:
<ul class="menu">
<cfoutput query="qry_GetMenu">
<li <cfif cgi.path_info contains "#pg_LinkName#"> class="current-menu-parent"</cfif>>
<a href="#systemurl#/index.cfm/#pg_LinkName#/">#pg_MenuTitle#</a>
<cfif pg_SubMenu gt 0>
<ul class="sub-menu">
<cfloop query="qry_GetSubMenus">
<li><a href="#systemurl#/index.cfm/#pg_ParentMenu#/#pg_LinkName#/">#pg_MenuTitle#</a></li>
</cfloop>
</ul>
</cfif>
</li>
</cfoutput>
</ul>