[geeklog-devel] Suggested changes to block code

Heather Engineering info at heatherengineering.com
Mon Jul 9 08:37:02 EDT 2007


Blaine,

That sounds fine to me. I already have custom blocks defined in  
functions.php, so having a {bid} set would be useful.

As a general point, which has come up before, I'm generally in favour  
of more reusable basic templates and having classes/ids set on  
everything. Oh, sorry, that was a little off topic.

Cheers,

Euan (who may or may not look like Oliver - I've never seen him).





On 2007/07/06, at 12:37, Blaine Lang wrote:

> Oliver,
>
> With respect to the ID for ajax usage or any DOM udpates via JS,  
> what if we just set a template var called {bid} and you could then  
> combine {bid} and a custom block template defined in the  themes  
> functions.php if you wanted to have a div id with a name like  
> 'myblock{bid}' or we could just add a default id to the block- 
> header.thtml files using {bid}.
>
> That would then not require much of any changes and no changes to  
> the function definitions.
>
> Blaine
>
> Heather Engineering wrote:
>> Messing with AJAX-style coding, you soon realise you need ids on  
>> everything.
>> I've added the following to the block handling code: any interest  
>> in adding it to the next release?
>> There is no issue with backwards compatibility.
>>
>> *************************************************************
>>
>> function COM_formatBlock : add $A['id'] to two COM_startBlock  
>> calls (the function is called with an array $A, so no need to  
>> change the function declaration).
>>
>>             $blkheader = COM_startBlock( $A['title'], $A['help'],
>>                     COM_getBlockTemplate( $A['name'], 'header' ),  
>> $A['id']);
>>
>>
>>         $retval .= COM_startBlock( $A['title'], $A['help'],
>>                        COM_getBlockTemplate( $A['name'],  
>> 'header' ), $A['id'])
>>
>> *************************************************************
>>
>> function COM_startBlock :
>>     add new $id='' to declaration
>>     add $block->set_var( 'id', $id );
>>
>> I also added hack to check if the caller is passing a link to add  
>> a help file reference, or if they are passing a complete image tag  
>> already wrapped in a link (this is a similar hack to the one  
>> already in COM_formatBlock to check whether to add <br > tags to  
>> block content). An alternative might be to allow the caller to  
>> pass  a new image link as well, so that you aren't stuck with the  
>> help icon.
>>
>>
>> function COM_startBlock( $title='', $helpfile='',  
>> $template='blockheader.thtml', $id='' )
>> {
>>     global $_CONF, $LANG01, $_IMAGE_TYPE;
>>
>>     $block = new Template( $_CONF['path_layout'] );
>>     $block->set_file( 'block', $template );
>>
>>     $block->set_var( 'site_url', $_CONF['site_url'] );
>>     $block->set_var( 'layout_url', $_CONF['layout_url'] );
>>     if ($title==' ') {
>>         $block->set_var( 'block_title', '');
>>     } else {
>>         $block->set_var( 'block_title', stripslashes( $title ));
>>     }
>>
>> // added
>>     $block->set_var( 'id', $id );
>> // end add
>>
>>     if( !empty( $helpfile ))
>>     {
>>
>> // altered
>>         if( substr( $helpfile, 0, 1 ) == '<' )
>>         {
>>             $help = $helpfile;
>>         }
>>         else
>>         {
>>             $helpimg = $_CONF['layout_url'] . '/images/ 
>> button_help.' . $_IMAGE_TYPE;
>>             if( !stristr( $helpfile, 'http://' ))
>>             {
>>                 $help = '<a class="blocktitle" href="' . $_CONF 
>> ['site_url'] . '/help/' . $helpfile
>>                     . '" target="_blank"><img src="' . $helpimg
>>                     . '" border="0" alt="?"></a>';
>>             }
>>             else
>>             {
>>                 $help = '<a class="blocktitle" href="' . $helpfile
>>                     . '" target="_blank"><img src="' . $helpimg
>>                     . '" border="0" alt="?"></a>';
>>             }
>> // end alteration
>>
>>         }
>>
>>         $block->set_var( 'block_help', $help );
>>     }
>>
>>     $block->parse( 'startHTML', 'block' );
>>
>>     return $block->finish( $block->get_var( 'startHTML' ));
>> }
>>
>> *************************************************************
>>
>>
>> Cheers,
>> Euan.
>>
>> _______________________________________________
>> geeklog-devel mailing list
>> geeklog-devel at lists.geeklog.net
>> http://eight.pairlist.net/mailman/listinfo/geeklog-devel
>>
>>
> _______________________________________________
> geeklog-devel mailing list
> geeklog-devel at lists.geeklog.net
> http://eight.pairlist.net/mailman/listinfo/geeklog-devel




More information about the geeklog-devel mailing list