Magento – Adding CMS Pages To The Main Navigation
Magento is NOT WordPress
So recently I have had to dive into learning how to theme Magento. Which is good, because I have always wanted to learn, and while I tried in the past, I just never had the time. You know how it is. Work is providing this opportunity, and I want to share something of my findings with you. One thing in particular, because it is such a pain in the ass. First though, let me start by saying that Magento is NOT WordPress. Obviously, right? I thought though, that some things would be similar. One issue was adding a CMS Page to the Main Navigation. One would think that this would be easy enough to do, but it is not. It is actually extremely frustrating if you have no idea how to do it. For all that Magento is, what it is not is an easy to use content management system. It is a store, which sounds stupid because everyone knows that, but while it does that well, it does some things poorly. If you have had trouble, like me, and searched for the answer, you came across some pages that didn’t explain how to do what you are asking, or gave links to extensions to Magento to do it for you. Here is the quickest way possible to add a cms page to the main navigation.
There has to be an easier way, right?
Sadly, there is not. What I am about to go through is exactly how Magento tells you to do it. IF by any chance, ANYONE…and I do mean anyone has a better method, please for the love of everything that is good, comment on this post explaining how. We would all greatly appreciate and benifit from your knowledge. I am not going to include images, because it is mostly obvious on what to click. If you have questions though, please let me know.
First, I will assume that you have a few CMS Pages created, like About Us, Contact Us, or something like that. Remember we are talking about an info page, not a catagory or product. Follow the below steps exactly. I am using Magento version 22.214.171.124 in case anyone is wondering.
In the Admin Panel:
- Click on CMS>Pages in the main menu. In the table below you will see a column called URL Key. Find the page you want in the main nav, and write down that key.
- Click on Catalog>Manage Categories
- Click on the Root folder in the left sidebar, and then click the Add Subcategory button
- In the panel that shows up on the write, fill in the Name (which will be the name of the link displayed)
- Scroll down, and make sure that Is Active, and Include in Navigation Menu are set to Yes
- For URL Key, if you wrote Customer Serivce in the above Name input, then write: customer-service
- Click the Save Category button
- Click on Catalog>URL Rewrite Management in the main menu at the top
- In the Request Path box, type first word of the category you just created (such as: customer, or about), and click the Search button
- The page you are looking for will then populate the table…write down the path in the Target Path column for that page (example: catalog/category/view/id/40)
- Click on that row
- On the Redirect dropdown, change it to Permanent (301)
- Click the Save button
- Click the Add URL Rerwite button on the top right
- Click the Create URL Rewrite drop down and choose Custom
- In the ID Path text field, type the URL key you wrote in step 6
- In the Request Path input, type in path you wrote in step 10
- In the Target Path input, type in the key you wrote from step 1
- Redirect dropdown should be set to Permanent (301)
- Click the Save button
If you then refresh your store page, you should now see your page in the main navigation.
Magento, are you serious?
If you got through half of that without saying “What the F*#@?” Then you are of a different mind than me. I am used to WordPress’ easy to use navigation system. THIS is by far the most ridiculous thing I’ve ever seen in adding a page to a CMS navigation. I find it hard to believe, and I am not the only one after reading some comments on other pages. How can such a powerful piece of software suck so greatly at such a simple thing? Why is there not an easier method? Simply checking “Add to Navigation” should suffice. I am not a programmer, or a Magento pro, but come one, don’t make this more complicated than it has to be. Why are there so many steps? I was extremely frustrated in trying to figure this simple thing out, and the one place I found that wrote the directions out was written very poorly, to the point where I was unsure what exactly it was telling me to do.
I will be very happy if this post helps just one person from going through the anger and swearing that I went through.