This extension lets you associate your cms pages to categories so they will appear in the top navigation and rss feed. You can also sort them in the backend and display the cms pages for a category in grid/list view. You can also add links in the top nav that redirect to outside pages like facebook and twitter, or internal ones like contacts or account pages.
- You can display cms pages in the top navigation
- Your cms pages will appear in your rss feed with the products
- You can sort and display your cms pages in grid/list view like you do your products
- You can add links to the top nav for outside urls (facebook, twitter), or internal ones (contacts, account etc.) that you can't easily control the identifier of
- Fixed top nav max level depth :p
- Breadcrumbs will be fixed to display correctly for nested pages
- Will use images and create short descriptions of your pages for grid/list view
- Clean code, hopefully up to zend standards
The installation process will create a directory where you can store images for your pages if you choose to. The path wil be media/cmsredirect/thumbs make sure it is chmodded 755. Installation will also create 2 static blocks for you. One is the cms redirect, the other is cms list. Your db table for cms page sort order will be modified slightly to allow for a larger number of possible sort orders (255 might not be enough) and a field will be added for the redirect url. Installation should be clean and trouble free :)
You want your cms page to be in the top nav? Create a category for it, let's call the category 'info' and give it an url-identifier of 'info'. Make it under the default category. Under display settings, choose static block only and for cms block choose cms list. Now create a page with the exact same identifier as the url-identifier, 'info'. Your category will appear in the top nav and when someone clicks the link they will be redirected invisibly to your page.
Nesting pages is easy too. Under your category 'info', you create a page called more info with the url-identifier 'more-info'. You set the display settings for static block only, cms redirect. Now you create your page with the url identifier 'info/more-info'. Your page is now nested. The breadcrumbs will be fixed to display correctly :) Nest all you like, as long as the cms page identifier corresponds with the category url-identifiers
Cms page list view
You can also set your category to display the block cms list. When a category set to cms list is viewed it will show all the cms pages and child cms pages with that url-identifier. A short description of your cms page is automatically created and displayed when in list view. Your page will also have an image, either the category thumb, the category image, an image you upload into the media/cmsredirect/thumbs folder or the Magento product placeholder image in that order. If you set the category to display products and the cms list block, it will display both products and pages one first, then the other.You can adjust the sort order in the cms page edit.
Your cms pages will be inserted into the rss feed along with your products. The image and description will be generated as described above
Redirect to other links
If you want your page to redirect to another link such as facebook, twitter, or an internal link such as /contacts/, create your category and page as described above and in the cms page edit add a redirect url. Now your link will appear in the top navigation, but when it is clicked it will redirect to your link instead of the cms page. So if you have a category called 'contact-us' as a child of category 'help', you would create a cms page with url identifier help/contact-us and then if you enter a redirect link of '/contacts' for that page, your link will appear in the navigation, but when a user clicks the link they will be taken to your magento contacts page. Even though the page redirects, you can add an image and description to the page and it will appear in the rss feed and in your cms page lists.
Breadcrumbs are fixed to accommodate the nesting. If your cms page identifier is help/about-us/services/car-wash-services the script will grab the title of each of those cms pages or categories to form the breadcrumbs Home / Help / About Us / Services / Car Wash Services instead of Home / Car Wash Services which is what Magento would create for you otherwise. The title used will be whatever you had set for that category or cms page. The setting of the breadcrumbs is accomplished with a slightly modified version of breadcrumbs.phtml, so if you are using a custom theme you can just copy the first 2 lines from my breadcrumbs.phtml file and paste them into the top of your custom template and the crumbs will work.
I remember setting the max level depth for the top nav and it never working, so while overriding the Navigation.php file to set the cms pages as 'active' I fixed that (if it still wasn't working?). The level depth is configured in admin.
The top nav will show the cms pages as active and all parent categories/pages as active as if they were categories/products.
You can download this extension from Magento Connect
or you can download it from our site here Download Extension
the only real reason to go through the checkout process is if you want it installed or want to receive emails about future updates