How do I migrate a PHP based website to Joomla?
Question by mtanti
I have a PHP based website, with database connections, form processing, etc, that I need to use a CMS on. I’m trying to use Joomla but after using it for 2 days and reading tutorials on it I’m getting the impression that it’s designed to handle static content and that all form processing is to be handled by 3rd party extensions.
Am I getting the wrong impression? Is there a standard way to import a PHP website into a Joomla CMS?
Answer by Bobby Jack
I inherited a Joomla 1.5 site a few months ago, so I was in a similar situation to you – where to begin, with lots of questions about Joomla, its ethos, etc. What I’ve learnt in the meantime is:
- Joomla is very heavily dependent on 3rd-party extensions. Some of these are good, some not so good – evaluation and caution is advised.
- Joomla encourages the use of extensions, even for relatively static content. Whether these are full blown ‘components’, or ‘modules’, depends on quite how powerful/flexible they need to be.
- The MVC architecture that underlies everything has its positives and negatives. On the plus side, if everything is done consistently, there is a good separation of concerns and – in particular – the template system offers good configurability. On the downside, very simple components/modules have an awful lot of complexity – e.g. just in terms of number of files.
- Joomla is open-source … sort of. If your familar with the open-source community, you might be a bit disappointed with Joomla, especially when it comes to 3rd-party extensions. Many of them do not embrace the open source ethos, and try to sell code and/or support so, to reiterate, choose your extensions carefully.
- Writing your own extension is fairly simple, especially if you’re familiar with PHP. Although the documentation isn’t great, there are some gems – in particular, take a look at:
- When it comes to forms, I’m still undecided. The site I’ve inherited uses a third-party extension to manage them (mod_breezingforms), but it has its issues. If you have the luxury of trying out several alternatives, take it.
- Run your development site in debug mode. Take a look at database queries. In my own experience, Joomla is very, very demanding on the database. For example, I have some pages that make hundreds of calls to the database with every request. Watch out for this.
- At some point, you’ll see
itemid
in the URL and wonder what on earth it is. It refers to a menu item. Menus in Joomla are a bit more general than you might think – they don’t necessarily represent a ‘menu’ and they’re quite important. For example, the built-in way to include content on a series of pages is for them to belong to the same menu item, so you might need to create ‘fake’ menus to house content.
Answer by Starx
This question is very broad to answer. There are few step-by-step tutorial available on the internet for this.
If you follow this head start. You are sure to know a lot of joomla along way and convert your website to the joomla.