Hi,
I'm fairly new to Drupal. I've downloaded and installed Drupal 5.1, and we've got it working with multiple sites and modules very quickly. A lot of things *just*work*, which is great.
One aspect I've found quite confusing is the principles behind templating (I can manage the PHP nitty-gritty reasonably well). There seems to be a number of different ways of doing templates - PHPTemplate, XTemplate, a .theme file - which I appreciate may be for historical reasons. I've also seen conflicting advice on the Drupal site for how to override default templates and functions.
Our Drupal themes would end up quite large owing to specific client requirements, so I really want to start as I mean to go on! So what's the best practice for templating?
A few examples of stuff I want to do might help illustrate the problems I've been having:
1. If I wanted to hook into the code that creates e.g. $sidebar_left, how would I do that? It seems to be created by theme('blocks' , 'left') in the phptemplate engine. Should I just discard $sidebar_left, or is there some hierarchy of function names that theme() calls? Can I put any such functions into some file in my theme directory and they'll always get recognized?
Should I call such functions e.g. theme_block_left, or phptemplate_block_left, or THEMENAME_block_left ? Or should I instead use .tpl.php files exclusively e.g. block-left.tpl.php?
2. For different node types, I just can't seem to get the system described at http://drupal.org/node/104316 working properly. It works fine for the node-content sub-templates e.g. node-video.tpl.php will get called over node.tpl.php, but e.g. page-video-edit.tpl.php just doesn't get called.
Is there something I'm missing? Would this hack here http://drupal.org/node/117491 be worth looking into?
3. A bit of a random one, but say I wanted to change the content of an admin page. We'd be using Drupal for very heterogeneous sites (so e.g. events nodes, news nodes, courses, content, press releases etc. etc.) so the "Create content" page would start to look very cluttered. Any way of overriding that at the theme level? Also, we could have many user roles, so we would want to change the look of the permissions pages too.
Many thanks in advance,
J-P