Click here to Skip to main content
15,890,741 members
Please Sign up or sign in to vote.
0.00/5 (No votes)
See more:
Hi,

I have a need for a content management system that doesn't seem to fit the usual article-oriented CMS design.

As I understand, most of these systems provide an easy way to create "articles" (i.e. the direct content viewed by users) and store them in a database for user-friendly retrieval and organization.

However, the information I want to present doesn't fit this template. I have a database of companies in MySql, described by different attributes like what car parts each company manufacturers.

The need for the CMS would be to organize different lists of companies by page. Say, I have Page A, on which I'd like to list companies that match attributes XYZ. It would be convenient to store all companies in one database and call them with PHP rather than creating flat HTML for each list. (many of the companies would be on more than one page). Ideally, I could create a bunch of custom pages, each with a custom PHP snippet to retrieve the right content.

However, Joomla doesn't allow PHP code within their articles, and I'm guessing a lot of other systems don't either because of security.

Is there a solid system out there that fits what I'm trying to do? I'd rather not rely on a non-core extension that might end development in a year or two.

Thank you.
Posted

I do not know of such a thing and given that one of the basic tenets of a CMS is flexible to do many different things I imagine it's unlikely you'll find something that exactly meets your need since it's quite specific.

However, what I think you're talking about is adding a custom extension / module to a CMS (such as Joomla). The extension would be the bit that does exactly what you want.
The page structure and design (theme) are provided by the CMS, the theme continues into your detailed bit but you (the extension) provide the structure and the define where the data pulled from the database goes.

You suggest you can write PHP and there are plenty of guides on how to write CMS extensions available, Joomla has some[^] in its documentation wiki I think.

If you do 'roll your own' then (a) you can can custom design it to de exactly what you want including allowing users to see their own view of your companies / parts and (b) next time you need to do something new, you'll have a ready made answer, do it myself :-)

Mike
 
Share this answer
 
You have already probably come up with something, but for anybody else who comes across this, I recommend Umbraco to do out of the box presentation (other than just "articles").

See my article for how to get started: Umbrazure: Limitless Websites with Umbraco on Azure.

Umbraco allows you to store data how you want (in a content tree), fetch data how you want (either fetch Umbraco content data with the API, or use whatever database access technique you want to access data in a database).

If you want users to type in data through the CMS, but have it be stored in your own database, that can be done too. Just create what is called an "Umbraco data type" (not the same as a programming language data type). It's basically a user control that plugs into the CMS GUI.

You can even use URL rewriting so that you only have to create a single page that responds to different URL's and generates content for each of them differently. I show how to do that in the above article (using language/region).

It's built on ASP.NET, so you can use Web Forms or MVC to make your pages. Umbraco does not limit how you access data or present it, so the sky's the limit.

By the way, the above article shows how to do something fairly advanced, but you can setup Umbraco in a much simpler way if you aren't interested in Azure or other cloud technologies.
 
Share this answer
 

This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)



CodeProject, 20 Bay Street, 11th Floor Toronto, Ontario, Canada M5J 2N8 +1 (416) 849-8900