[geeklog-devel] Suggested changes to block code

Blaine Lang devel at portalparts.com
Fri Jul 27 14:41:59 EDT 2007


Hi Euan,

All blocks have a name (as defined by the blockeditor) so the
{blockname} attribute would be set for all blocks.
I will proceed to make this change and let you know once it's implemented.

Blaine

Heather Engineering wrote:

> Blaine,

>

> Sorry for the delay in replying. Sounds OK to me - as long as it

> provides some way of setting an id, that would be great. However, I

> was imagining something that would be set to a null string in cases

> where there is no value available.

>

> Cheers,

>

> Euan.

>

>

> On 2007/07/23, at 8:17, Blaine Lang wrote:

>

>> Euan,

>>

>> Looking at the code today, I think it will be easiest to set a

>> {block_name} instead of {bid}. I need to extend the COM_startBlock

>> and many of the calls to that function may not have the block ID but

>> do have the block_name available which is not language specific

>> 'user_menu', 'admin_menu' but would not be unique if you had multiple

>> poll blocks which I think is about the only time you would have

>> multiple blocks of the same name.

>> I am thinking we extend COM_startBlock to include an 4th optional

>> parm and use that to set {block_name} in the block header template.

>> If you call it from your own code, that parm can be set to anything

>> but in the core GL code, it would be the name field in the block.

>>

>> I think that should still be unique to us in Javascript - only

>> exception being multiple polls on the same page.

>>

>> Regards,

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

>

> _______________________________________________

> 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