Bright Rocket

Fly Smart!

A blog about design, business and life.

Using Pages and Low-Reorder for Flexible Navigation and Site Structure

Posted on March 04th 2012 to Design, ExpressionEngine

EE Insider strangely enough just asked the question I recently had to ask myself. Namely, how do EE developers manage navigation and site structure in EE? A quick search of Devot:ee reveals several solutions to this age (ok years) old problem. You could go with the powerful and well regarded Structure ($65), the fairly new on the scene Navee ($35), toss in some Crumbly ($45) action for bread crumbs. All these solutions are awesome in their own right and well worth the money, but I was looking for something simpler and in Structure's case, less complex to initially implement and learn.

My Requirements were as follows.

  • Must work with the existing Pages module in ExpressionEngine
  • Allows me to generate a dynamic menu based on channel pages for each main section of the site.
  • Allows me to order the pages in the menu via drag and drop
  • Must work well in an existin site's dropdown shown below (In this case, I am working with Suckerfish dropdowns done several years ago by the last dev)

Enter Low Reorder ($16), an addon that I think is probably not the first that come to your mind when you are thinking about navigation and site structure. I've used Low Reorder before on a project to simply move the order of entries around on a listings page and to control the order of people on a staff page before, but what I totally missed what it's integration with EE's native category abilities. Hidden away under each channel reorder settings is the option to "Show entries per single category", which is where all the magic happens.

Low Reorder Category Settings

Turn that on, and you'll now be able to choose a category before being shown the list of entries to order. This is when I had my "aha!" moment.

So with my new found knowledge in hand, I created a category group that corresponded to the main navigation sections that required "static" page items. Next I assigned each Page entry to a specific category.

Next I edited the static navigation to include a few things. Each navigation category such as "About" had two entry tag sets. The first pulls in only the first item, as defined by my custom Low Reorder field called "cf_page_order". In the next set of tags, I removed the limit, and replaced it with an offset of 1. The code should look something like below.

<li class="menuItem">
			{exp:channel:entries channel="chan_pages" disable="member_data|pagination|trackbacks" dynamic="no" orderby="cf_page_order" sort="asc" category="7" limit="1"}
			<a href="{page_url}" class="first dir" id="page-{entry_id}">{title}</a>
			{/exp:channel:entries}
	<ul>
			{exp:channel:entries channel="chan_pages" disable="member_data|pagination|trackbacks" dynamic="no" orderby="cf_page_order" sort="asc" category="7" offset="1"}
			<li><a href="{page_url}" class="last page" id="page-{entry_id}">{title}</a></li>
			{/exp:channel:entries}
		
	</ul>
</li>

I wanted to make the page creation and order intuative for my clients so I utilized Zoo Flexible Admin to flesh out a nice simply navigation where they could create, edit or order pages without having to hunt around.

While this solution isn't as flexible as some of the other solutions out there, it worked well for this project and I have a feeling I'll be using it again. I'd like to reduce the number of Entry tags used, and find a good solution for including static items in the navigation in the next version.

I'd love to hear any feedback or improvements you might have.

Using your method, when you view the pages in Publish > Edit do the pages still appear in alphabetical order?

Gravatar of Carl Evans Carl Evans wrote this on March 08th 2012

Sadly no, but they appear in the right order on the Low Reorder page.

Gravatar of James James wrote this on June 03rd 2012

Pretty great post. I just stumbled upon your blog and wanted debccacgdcbdeedd

Gravatar of Smithf14 Smithf14 wrote this on September 23rd 2014

<H1>ray ban clubmaster</H1>
<H1>gucci outlet</H1>
<H1>timberland boots for women</H1>
<H1>moncler jackets</H1>
<H1>red timberland boots</H1>
<H1>cheap rayban sunglasses </H1>
<H1>burberry handbags</H1>
<H1>michael kors handbags</H1>
<H1>christian louboutin outlet</H1>
<H1>cheap beats bydre</H1>
<H1>tory burch handbags</H1>
<H1>wholesale nfl jerseys</H1>
<H1>hollister</H1>
<H1>cheap uggs</H1>
<H1>guess outlet</H1>
<H1>michael kors outlet</H1>
<H1>canada goose sale</H1>
<H1>jordan 6s</H1>
<H1>christian louboutin</H1>
<H1>true religion outlet</H1>
<H1>true religion outlet</H1>
<H1>uggs outlet</H1>
<H1>ralph lauren</H1>
<H1>timberland boots</H1>
<H1>air jordan 4</H1>
<H1>coach outlet stores online</H1>
<H1>jordan shoes</H1>
<H1>abercrombie store new york</H1>
<H1>the north face</H1>
<H1>rolex watches outlet</H1>

Gravatar of chenmeinv chenmeinv wrote this on December 04th 2014

longchamp outlet, prada outlet, tory burch outlet, louis vuitton outlet, michael kors outlet, oakley sunglasses, michael kors outlet online, chanel handbags, michael kors outlet online, longchamp outlet, louis vuitton outlet, michael kors outlet store, burberry outlet, ray ban sunglasses, oakley sunglasses, tiffany and co, kate spade outlet, louis vuitton, christian louboutin shoes, cheap jordans, tiffany and co jewelry, burberry handbags, polo outlet, nike air max,air max,air max 2014,nike air max 2014,air max 90,airmax,air max 95,air max 2013,nike air max 90,nike air max 2013, gucci handbags, ray ban sunglasses, prada handbags, oakley sunglasses wholesale, christian louboutin uk, christian louboutin outlet, nike free, christian louboutin, longchamp outlet, nike outlet, kate spade, nike air max, polo ralph lauren outlet online, michael kors outlet, michael kors outlet online, louis vuitton outlet

Gravatar of ninest123 ninest123 wrote this on December 10th 2014

longchamp outlet, air max, burberry handbags, longchamp outlet, true religion outlet, coach outlet, nike air max,air max,air max 2014,nike air max 2014,air max 90,airmax,air max 95,air max 2013,nike air max 90,nike air max 2013, michael kors outlet, christian louboutin shoes, burberry outlet, michael kors outlet store, louis vuitton, polo ralph lauren outlet online, longchamp outlet, oakley sunglasses, chanel handbags, prada handbags, nike air max, louis vuitton outlet, louis vuitton outlet, coach purses, christian louboutin outlet, louis vuitton outlet, louis vuitton, gucci handbags, tiffany and co, oakley sunglasses wholesale, coach outlet store online, polo outlet, christian louboutin uk, coach outlet, prada outlet, tory burch outlet, nike free, nike outlet, michael kors outlet online, ray ban sunglasses, kate spade outlet, christian louboutin, nike air max, michael kors outlet online, true religion jeans, ray ban sunglasses, true religion outlet, michael kors outlet, oakley sunglasses, tiffany and co jewelry, michael kors outlet online, kate spade, true religion outlet, cheap jordans

Gravatar of ninest123 ninest123 wrote this on December 10th 2014

Tell someone why they are wrong