[geeklog-devel] Suggested changes to block code

Heather Engineering info at heatherengineering.com
Tue Jul 10 04:32:17 EDT 2007


Blaine,

No problem! Thanks very much.

Euan.


On 2007/07/09, at 22:05, Blaine Lang wrote:

> 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
>>
>>
> _______________________________________________
> 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