[support] Templating in Drupal 5.1 - the cleanest way to do it?
Metzler, David
metzlerd at evergreen.edu
Wed Apr 11 16:33:18 UTC 2007
Remember also that you can control on what pages a block appears in the
block configuration. So then the empty block. When I wanted regions to
display on only specific pages, this is how a did it. If there are no
blocks in a region fooregion, then $fooregion will be empty.
I did a custom mod to my php template once that took advantage of this:
In page.tpl.php
<?php if ($fooregion){?>
<....The html content I want to appear when I want to display this
region ....>
<?php } else {?>
<.... The html content I wanted to appear when I didn't have any
region content to display...>
<?php } ?>
Then on the block configuration page for the new menu block, I added php
conditions to output this block only when on specific pages.
Does that make sense?
Dave
-----Original Message-----
From: support-bounces at drupal.org [mailto:support-bounces at drupal.org] On
Behalf Of Larry Garfield
Sent: Wednesday, April 11, 2007 9:19 AM
To: support at drupal.org
Subject: Re: [support] Templating in Drupal 5.1 - the cleanest way to do
it?
Yes. :-) The regions hook defines *block regions only*. $content is
not a block region, and neither are $primary_links nor $secondary_links
nor $help, etc. There's a lot in a page that is not block regions.
If you don't want one of those to show, just don't print them.
--Larry Garfield
On Wed, 11 Apr 2007 16:48:02 +0100, J-P Stacey <jp.stacey at torchbox.com>
wrote:
> Hi again,
>
> Sorry to respond to my own post: this function does seem to work in
> populate the dropdowns at /admin/build/block :
>
>> <?php
>> function garlandquux_regions() {
>> return array("fooregion" => t("foo region"); // edit: added
entry
>> }
>> ?>
>
> i.e. any elements returned from the function appear on the dropdown.
> And that seems to work in page.tpl.php, with
>
> <?php print $fooregion ?>
>
> printing all blocks assigned to that region.
>
> (I notice the HTML class of the fooregion containing div is
"block-region"
> -
> so is a region treated during templating as a special sort of block, a
> superblock?)
>
> I'm definitely getting there, but the behaviour still seems a bit odd:
> on the one hand there seems to be lots of variables e.g.
> $primary_links, $tabs, $title, $help etc. that are handed to
> page.tpl.php despite not being in the region list. On the other hand,
> $content always seems to appear on the page even if
> garlandquux_regions() returns an empty array. This seems a bit
> arbitrary - am I missing something?
>
> Cheers,
> J-P
> --
> [ Drupal support list | http://lists.drupal.org/ ]
--
[ Drupal support list | http://lists.drupal.org/ ]
More information about the support
mailing list