[development] Making blocks from some setting in Drupal 7?

Mikkel Høgh mikkel at hoegh.org
Sat Feb 23 23:33:22 UTC 2008

Seeing that there are many different opinions about this, would it be 
possible to make this configurable? Make the function-based thing and 
then have a setting like "CREATE_MAGICAL_REGION_VARS", either in 
template.php, settings.php or even the database.
After all, if we have the functions already, creating the extra vars 
should be trivial.

Matthew Farina wrote:
> Putting function calls in the themes page.tpl.php file would be a step 
> backward for the theming system.
> For the page.tpl.php file the problem of only having the regions you 
> want in the theme is solved in D5 with hook_regions and in D6 with the 
> themes .info file.
> If we want to keep the separation of layers in drupals PAC 
> <http://www.dossier-andreas.net/software_architecture/pac.html> like 
> architecture and allow for any kind of plug-able presentation layer 
> function calls in the page.tpl.php file isn't a good idea.
> The way we use theme('links', $primary_links) in the page.tpl.php files 
> seems out of place. Shouldn't that be pushed to the preprocess function?
> Matt
> On Feb 23, 2008, at 3:17 PM, Larry Garfield wrote:
>> That's also the original logic behind the component module:
>> http://drupal.org/project/component
>> That said, -1 to putting function calls directly in the template. 
>>  They're not
>> portable to other template engines other than PHPTemplate.  That's also
>> putting too much logic into a template, where it belongs in a 
>> theme/template
>> (preprocess) function.  
>> On Saturday 23 February 2008, David Metzler wrote:
>>> Yep, I used something similar to this used to be possible in 4.7 and
>>> I used it to create a region and put it in into a panel using Panels
>>> so that I could still use block subscription and fole filtering logic
>>> etc within a panel.
>>> For some reason it quit working in 4.7 most likely because I was
>>> causing some system internal that shouldn't have been done.
>>> Love to see this supported.
>>> On Feb 22, 2008, at 5:20 AM, Gábor Hojtsy wrote:
>>>> On Thu, Feb 21, 2008 at 8:20 PM, Earl Miles <merlin at logrus.com> wrote:
>>>>> Gábor Hojtsy wrote:
>>>>>> What do you think?
>>>>> My one concern here is that because the block system is push, not
>>>>> pull,
>>>>> all blocks in all regions are always generated, regardless of
>>>>> whether
>>>>> the page needs them. That means we run the risk of degrading
>>>>> performance
>>>>> by generating a whole bunch of material that we have no intention of
>>>>> displaying, unless we have some way for the theme to signal which
>>>>> regions it wishes to generate on any given template. And that's a
>>>>> tough
>>>>> thing to do in the current system.
>>>>> This is one of the reasons I like the panels approach, but that's
>>>>> still
>>>>> pretty far from being able to fully emulate the block system.
>>>> Completely understood. I always disliked that PHPTemplate builds all
>>>> block regions regardless of needs. I used to use lots of conditionals
>>>> around block region bulilding in my pure PHP themes (before migrating
>>>> over to PHPTemplate not long ago, due to its other advantages). So
>>>> after all, a possible explosion of blocks / regions would require some
>>>> (more) benchmarking and thinking about block performance. (Given that
>>>> I am working primarily on better support for WYSIWYG right now, this
>>>> is not my top priority unfortunately).
>>>> Gabor
>> -- 
>> Larry Garfield AIM: LOLG42
>> larry at garfieldtech.com ICQ: 6817012
>> "If nature has made any one thing less susceptible than all others of
>> exclusive property, it is the action of the thinking power called an 
>> idea,
>> which an individual may exclusively possess as long as he keeps it to
>> himself; but the moment it is divulged, it forces itself into the 
>> possession
>> of every one, and the receiver cannot dispossess himself of it."  -- 
>> Thomas
>> Jefferson

More information about the development mailing list