- Accessing Oracle from PHP
- CSS tricks explained
- Conditional fields
- Drupal tips
- Installing Drupal
- Autologout when closing browser
- Block visibility depending on node type
- Editor instead of a text box
- Event calendar
- Hosting provider requirements
- Increasing upload and memory limit
- Meta tags
- Modifying the maintenance page
- Other fields besides title and body
- Second level primary links block
- Signup form using CCK
- Sticky table header
- Theme issues
- Upload progress
- Useful modules
- Video uploads
- HTML / XML code
- PNG hack for IE5/6
Panels is an alternative way to theme your site. In combination with Panels Everywhere you can completely replace Drupal's regions and blocks system.
Download and install:
Enable all Views and Panels modules, and for Chaos tools enable all modules except the bulk export and the example modules (unless you need them).
Under the "Structure" menu you will find "Panels". Unlike the other items under "Stucture" this is just a collection of links to manage Panels (e.g. a dashboard). If you click on "Panels" you will see under section "Manage pages" what (theme) templates you can override.
Here is how this works. For example. Normally if you want to customize the node page of a particular node type, you would create a node-xxx.tpl.php file in your theme directory. Now with Panels, you would enable the node template, and create a variant with selection rule "Node type is xxx". Then, you can choose an existing layout or graphically create one. You can add content for each region and drag them around. If you save this, then you have basically created a template graphically.
You can also create pages this way, like a landing page, and use it as the front page.
At this point Drupal still has its own regions and blocks and in-core themes. There is a module called "Panels Everywhere" that creates a "Default site template". This is basically the main wrapper. If you would enable this then you have complete control. The default regions/blocks (primary links, breadcrumbs, footer) are not included by default by using this module. In fact, nothing is included by default, so if you forget to include "Page content" you will end up with a blank site. Unfortunately for me this module breaks some things, like "Calendar tooltips", and there are a few layout issues caused by the fact the same CSS class names are being used for the main panel and the inner panels. Fortunately I managed to get these issues solved easily without using "Panels Everywhere". See below.
Now create a blank theme using the following as .info file:
name = Blank description = A blank theme core = 7.x stylesheets[all] = blank.css
Then create the CSS file. IMHO I find this approach easier then using for example the Zen-theme.
In order to disable the default regions, create a file called page.tpl.php with the following content:
<?php print render($page['content']); ?>