• Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 473
  • Last Modified:

question: using CFIF to modify Parent navigation menu

Hi. I am trying to modify a navigation menu. This nav menu displays links to parent and children pages. I want to change the links of two of the parent pages: PageID=11 and PageID=12.

* I need the link to PageID=11 to point to http://www.buddhabyoga.com/blog/, not to http://www.buddhabyoga.com/index.cfm?PageID=11.

* And I need the link to PageID=12 to point to javascript:launchWS('http://clients.mindbodyonline.com/ws.asp?studioid=9717&stype=43');, not to http://www.buddhabyoga.com/index.cfm?PageID=12.

The current query and HTML, below, almost work. But right now, parent menu items Blog and Boutique appear twice. My client is a little impatient. =) How can I get rid of the extra parent navigation menu links?

Thanks for your advice as always. Eric B

Queries:

<cfparam name="url.PageID" default="1" />

<!--- this query will retrieve all records --->  
<cfquery datasource="#ds#" name="qry_GetPages">  
SELECT PageID, PageTitle, buddha_main, two_col_interior_left, two_col_interior_right, two_col_content_lower_page, right_col_menu_item, ParentID, SortOrder
FROM  tbl_buddhab_navigation  
</cfquery>  
  
<!--- this will retrieve just the parent records from the previous query --->  
<cfquery name="fetchTopNav" dbtype="query">  
SELECT *  
FROM qry_GetPages  
WHERE ParentID = <cfqueryparam cfsqltype="cf_sql_integer" value="0" maxlength="2">
ORDER BY SortOrder  
</cfquery> 


HTML:

<div class="menu">

<ul>  
<cfoutput query="fetchTopNav">  

	<li><a href="/index.cfm?PageID=#fetchTopNav.PageID#">#fetchTopNav.pageTitle#</a>

<cfif fetchTopNav.pageID IS 12>
	<li><a href="javascript:launchWS('http://clients.mindbodyonline.com/ws.asp?studioid=9717&stype=43');">#fetchTopNav.pageTitle#</a>
</cfif>

<cfif fetchTopNav.pageID IS 11>       
	<li><a href="/blog/">Blog</a>
</cfif>
         
  
  <cfquery name="fetchChildren" dbtype="query">  
    SELECT *   
    FROM qry_GetPages  
    WHERE parentID = <cfqueryparam value="#val(fetchTopNav.pageid)#" cfsqltype="cf_sql_integer">
    ORDER BY sortorder asc  
  </cfquery>  
  
  <cfif fetchChildren.recordCount gt 0>  


          <ul>  
        <cfloop query="fetchChildren">
        
     <!--- FETCH all children that are NOT PageID=19 --->
        
         <cfif fetchChildren.PageID IS 19>
         
 <li><a href="javascript:launchWS('http://clients.mindbodyonline.com/ws.asp?studioid=9717&stype=-7&sTG=22&sView=week');">#fetchChildren.pageTitle#</a></li>
 
 
 <cfelseif fetchChildren.PageID IS 29>
         <li><a href="javascript:launchWS('http://clients.mindbodyonline.com/ws.asp?studioid=9717&stype=-8&sTG=23&sVT=15&sView=week');">#fetchChildren.pageTitle#</a></li>


 
 <cfelse>
        <li><a href="/index.cfm?PageID=#fetchChildren.PageID#">#fetchChildren.pageTitle#</a></li>

    </cfif>
 
        </cfloop>  
        </ul>

        
       
                
  </cfif>  
  </li>  
</cfoutput>  
</ul> 
</div>

Open in new window

0
Eric Bourland
Asked:
Eric Bourland
  • 2
1 Solution
 
_agx_Commented:
Try making the conditions mutually exclusive


ie instead of:
   <li> ... default link....
   <cfif fetchTopNav.pageID IS 12> .... custom link </cfif>
   <cfif fetchTopNav.pageID IS 11> .... custom link </cfif>      

use
   <cfif fetchTopNav.pageID IS 12> 
           .... custom link
   <cfelseif fetchTopNav.pageID IS 11> 
           .... custom link 
   <cfelse>
         <li> ... default link....
   </cfif>      

Open in new window

0
 
Eric BourlandAuthor Commented:
This worked like a charm. =) And I see what I was missing. Thank you _agx_.

Sweet. Client is happy.

Eric B
0
 
Eric BourlandAuthor Commented:
I applied the same procedure to another web site to resolve a problem with navigation menu formatting. Thank you again. =) Hope your day is going well. EB
0
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

Join & Write a Comment

Featured Post

Free Tool: IP Lookup

Get more info about an IP address or domain name, such as organization, abuse contacts and geolocation.

One of a set of tools we are providing to everyone as a way of saying thank you for being a part of the community.

  • 2
Tackle projects and never again get stuck behind a technical roadblock.
Join Now