[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