Is good knowledge of PHP needed to make an installable template for CMS like WordPress, Joomla, Drupal?
Or is good knowledge of XHTML and CSS enough?
Is good knowledge of PHP needed to make an installable template for CMS like WordPress, Joomla, Drupal?
Or is good knowledge of XHTML and CSS enough?
You must be logged in to post a comment.
From my experience – I have a lot with WordPress, and some with Joomla – I would recommend at least some PHP knowledge and understanding of the underlying code base. For visual styling, HTML/CSS knowledge is enough as long as you work “around” the PHP, but you will be extremely limited when asked to change fundamental characteristics of the template, or implement new functions.
It depends on what you want to offer really. If you are content with offering stylistic customizations only, you may be fine with HTML, CSS and a bit of PHP. The basic PHP functions used in the templates are easy to understand.
But functional customizations, like implementing custom behaviour for certain posts, tags, categories, comments etc., require good knowledge in PHP. If you want to increase your market value, getting into the WordPress Codex and either Joomla or Drupal is certainly a good idea.
On a side note, I personally have come to dislike WordPress and its API due to lots of bloat and low code quality. I looked for a more minimalistic blogging platform recently (SO question here). The answer I accepted, Habari, is a marvellously flexible and, even though it has some rough edges here and there and the leading “0” in the version number sometimes shows, elegant platform. It takes some understanding of PHP 5 to get into its templating capabilities, but once you get your head around it, it is unbeatably flexible. It may not be for you, as I know you are targeting popular platforms to get work (which is perfectly fine.) but to have mentioned it.
If you are only looking to “re-do” an established, structured theme (as in, not modifying the structure of the theme, just the color scheme and images), then no. You do not need an intimate (or even intermediate) knowledge of php. You WILL, however, only need to know enough to follow the calls to different pages and determine which files are being called for what purpose.
Want to alter the structure? Looking to create your own template? Yes. You will require, at the very least, an intermediate grasp of php. You will also need to learn how WordPress structures its templates and how you will need to make your required alterations.
My best advice, since you’re asking this question in the first place – before starting work on the project, would be that if it’s a personal site, take the time to learn the basics of php before even attempting this. If you’ve taken on a client that expects this work from you, first, realize that you’ve gotten in over your head and out of your scope. Second, in order to keep the client happy, out-source this to another freelancer that knows what they’re doing with both PHP AND WordPress, Joomla, or (especially) Drupal.
I’m sure, after a year or so, that you’ve found your answer, but this was on the front page of a Google search I did. Hopefully new people coming across it can learn from all of us, almost two years later.
I’ve been doing websites for about 7 years. (Rather, I started learning website technologies 7 years ago.) I just started WordPress modding/theming a few weeks ago.
The simple answer is no, PHP isn’t strictly required, but:
The default WordPress theme (called “Kubrick”) includes quite a bit of PHP and will be confusing if you do not know what it is talking about.
Any WordPress template is actually a combination of CSS and multiple PHP files. It is important to understand the flow of the actual WordPress CMS.
About learning PHP:
I learned HTML/CSS by starting with a graphical tool at then-called freewebs.com, now webs.com. First I googled the <a> tag and eventually did the same for others. At least familiarize yourself with the basics of PHP syntax and logic control flow. The WordPress APIs are named and documented in such a way that you should be able to keep up with the default theme. Once you’ve practiced a bit, you can try learning a few more methods every day or at your own pace, until you know the language.
About learning WordPress:
If you’re rolling your own WordPress theme, I’ve done a post on my blog with a few tips for getting started. (I’d love feedback.) Feel free to check it out, but bear in mind that I don’t claim to be an expert – I’m just sharing my experiences.
Also, Google is your friend, but be warned that many of the WordPress Theming tutorials are either confusing, incomplete (such as mine), or somewhat dated.
On a final note:
Honestly, I don’t yet know about Joomla or Drupal. (I should really learn them.) I would guess that each CMS is different (Hence the qualities and deficiencies that make each one invariably unique.)
Good luck and have fun!
No or you must have that knowledge to customize or create templates for the mentioned things.
You got to go through each of these frameworks and learn how to customize their templates because each of them has different way to customize template. You should learn this for each of them.
Well, I suppose you don’t really need to know PHP to create a new theme/template : you’ll need to know HTML and CSS pretty well, of course — but for simple templates, there should be no need for PHP.
From what I’ve heard, there even exist some software to generate themes, whithout having to write HTML/CSS yourself — maybe the result will be a bit “basic”, but it could be OK for many small websites with no specific need.
After that, knowing PHP might/will allow you to enhance your template : it’ll allow you to put some additionnal conditions in place, to do some work on the data to present it differently, …
In the end, I would say it all depends on your needs… But knowing at least a bit of PHP will definitly not hurt 😉
For instance, it will at least allow you to understand how some things have been done in themes you download — and it’ll make easier for you to adapt them to your needs.
(Note : I don’t know about wordpress nor Joomla, but have worked with Drupal for quite some time)
You definitely need atleast a basic knowledge of PHP to theme Drupal. Infact, I would say you need to be reasonable with php to theme Drupal successfully, although there are some modules such as the skinr module which aim to make it a point and click affair.