[geeklog-devel] Suggested changes to block code

Blaine Lang devel at portalparts.com
Mon Jul 9 09:05:55 EDT 2007


Hehe -- Sorry Euan as I believe I once before did the same.

I will proceed to make the change then to add this extra template 
variable in the block formatting code.

Blaine

Heather Engineering wrote:
> 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
>
> _______________________________________________
> 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