Category Menu - Advanced Feature Suggestion
I've become quite fond of using the Category Menu with the Permalinks plugin. It helps in building out websites efficiently and SEO friendly.
It would be a great help to have an Advanced config feature added that allows us to lock down a set quantity of top level parent categories. We utilize horizontal navigation systems a lot and if our clients don't listen to instruction/notes about not adding any new top level category pages, they end up with a broken/goofy looking navigation bar. This way we can set the framework with the parent categories, and they can add as many child pages/sections as they want - to the depth level we specify.
A part 2 for this Advanced config feature could be the ability for the master admin (us) to also be able to lock in the Title field contents (link label) for top level category pages so our clients can't change them to longer or shorter word(s) for styling purposes.
I actually just finished a new category menu code generator so hopefully that will help you creating future category viewers. It will be in the next beta which we're hoping to have our shortly.
Everyone has different requirements for how they build sites and want things to work, and we want to avoid cluttering or confusing the interface with too many fields. So we always try and think of the simplest way we can to solve problems such as this. Sometimes by having a generic plugin.
What if we made a plugin called "Admin Record Lock" that worked like this:
- When a section had a checkbox field called 'adminRecordLock'...
- Only an admin user could check that field and save the record, non-admins would get an error if they tried to check it.
- Once checked, any non-admin users would get an error if they tried to save/update/erase the record, only admins could uncheck it.
That would let admin users lock specific record.
Would that work for what you need?
Cool, I'll be looking forward to checking that out. Totally understood about everyone having different requirements. That's one of the many reasons I love CMSB because it's not bloatware like all the open source CMS's. Speaking generally, there's a fine line between giving clients website controls they want/need so they don't ruin their sites. Some recent experiences even have us debating trimming back on some of the WYSIWYG editor features we've been allowing by default.
I can see an "Admin Record Lock" being useful in other situations, but it's probably too restrictive for what we were thinking on this.
The main item we were thinking is if there was a checkbox toggle in the Advanced Settings to lock the ability for a non-admin to create any top level Parent Categories. That way the client can only create Child Categories under the Parent Categories we've established as the top of the website navigation hierarchy. Currently there is a checkbox toggle for "Disable Add", we were thinking a "Disable Add Parent". I think other developers may find this feature useful that wish to lock in the main website hierarchy.
Referencing interactivetools.com top navigation as an example, if it was a client site where the horizontal navigation was driven entirely by the Category Menu - you wouldn't want them to have the ability to add any more Parent Categories than the current "CMS Builder, Showcase, Add Ons, Forum, Hire Us, About" because it wouldn't fit and would screw up the site appearance.
To accomplish this, we've basically just been filtering out records/sections having a parent number of 0 that wasn't set in an array we've specified. It's basically a safeguard for a horizontal navigation menu visual appearance. We always inform the clients about this, but if they forget and create a Parent and call us - we just remind them. We can continue to do it this way, the checkbox toggle in advanced settings was just something we thought may be useful.
That sounds pretty good, but with a slight alteration. The Editor (client) would still need the ability to at least edit the page text on Parent Categories - just not be able to create new Parent Categories.
The description of only admins being able to create root level categories sounds best. However, your reference of just having the plugin enabled/disabled would work, and would probably be easiest to code for experimenting purposes. Totally understood about experimenting with plugins versus adding into the program itself. Thank you for taking the time to discuss some possibilities with me.