Modular CMS design

Hi Experts,

Do any of you have any experience with developing modular CMS systems? By this I mean that many people have stuck a rich text editor into their site, defined the tables that hold there content and there away. Problem is different situations require the data to be stored in different structures. i.e. the data structure holding a sites news articles will be quite different from data for say pages listing various courses a company provides.

Now I would have no problem developing the little scripts to display content of both of these types and stick a simple admin side to it for users to ammend the data. However this is always by hard coding the site and its admin system.

What I am looking for is ideas about how I would even begin to go about making a CMS system modular so that I could just simply add a new means of displaying and administering data of a set structure without having to completely change the admin system to allow pages of this type to be added/edited/removed. And additionally so that I wouldnt have to hardcode the website to output these pages.


Sorry, I know this make little sense. Ok, lets say I have a site with the following sections:

- About Us: Section of standard content pages
- News: News section.
- Buyers Guide: List of reccomended companies sortable by what they sell.

Ok, and I have an admin system to allow for the addition of pages in each of the sections. Now lets say I wanted to add links directory section sortable by catagory. I would have to change the admin system to allow addition of new links and hardcode the section to display the links pages.

What I am after is a way of making the admin side and the site modular so that I can just pick and choose the modules that make up a site.

God I know that make no sense, but if you have a slight idea of what I am babbeling about please help me. I think I am basically looking for some sort of methodology about how to develop modular CMS systems.

Thanks Chris.
LVL 1
icb01co2Asked:
Who is Participating?

[Product update] Infrastructure Analysis Tool is now available with Business Accounts.Learn More

x
I wear a lot of hats...

"The solutions and answers provided on Experts Exchange have been extremely helpful to me over the last few years. I wear a lot of hats - Developer, Database Administrator, Help Desk, etc., so I know a lot of things but not a lot about one thing. Experts Exchange gives me answers from people who do know a lot about one thing, in a easy to use platform." -Todd S.

pritaeasSoftware EngineerCommented:
The way I've used something similar:

1. Create one index.php that can respond to index.php?module=XXX
2. For each module there is a different class for example that can handle it's own table, the view, and the edit part. Include that class and use it.
3. Use templates (smarty for example). Each module uses the same header and footer template, but the content is different for each module.

hth, pritaeas
0

Experts Exchange Solution brought to you by

Your issues matter to us.

Facing a tech roadblock? Get the help and guidance you need from experienced professionals who care. Ask your question anytime, anywhere, with no hassle.

Start your 7-day free trial
It's more than this solution.Get answers and train to solve all your tech problems - anytime, anywhere.Try it for free Edge Out The Competitionfor your dream job with proven skills and certifications.Get started today Stand Outas the employee with proven skills.Start learning today for free Move Your Career Forwardwith certification training in the latest technologies.Start your trial today
PHP

From novice to tech pro — start learning today.