Mark R. Evans
mevans at ecsnet.com
Fri Nov 2 21:55:11 EDT 2007
I have walked through the code that handles COM_siteHeader() and
COM_siteFooter() and now understand why you always have the right blocks
Basically, the way Geeklog is currently designed, you really can't have
right_blocks generated in the header and also maintain the ability to
turn off the right blocks dynamically. Here's why:
1. In Geeklog you call COM_siteHeader() to create the header HTML and
the left blocks HTML, the first parameter you pass is either 'menu' to
show the left blocks, 'none' to show no blocks, or a custom array of
values. Problem is, there is no option to pass whether the right blocks
should or should not display.
2. You call COM_siteFooter() to create the right blocks and the site
footer. The first parameter is either true or false, true shows the
right blocks, false does not.
So, if $_CONF['right_blocks_in_footer'] is set to 0, the right blocks
are built in COM_siteHeader(), but there is nothing to clue
COM_siteHeader() in that you don't want the right blocks to display, so
they are always displayed (actually not always, if you pass 'none',
neither the left or right blocks display).
The obvious solution would be to pass the right blocks desired parameter
to COM_siteHeader(). This would require all the COM_siteHeader() calls
in the current Geeklog code be updated, so there are a lot of code
changes needed. It would also break all plugins too as they are coded
using the current method.
Unless I'm missing something obvious, $_CONF['right_blocks_in_footer'] =
0 also means that right blocks will always display. The problem above
is true as well if you enable $_CONF['left_blocks_in_footer'] == 1. The
COM_siteFooter() code has no idea how to check to see if you want the
left blocks to actually display, so they are always built and displayed.
The upside to all this is that you can now have a CSS only theme where
you build the HTML in the content, left blocks, right blocks order which
solves issues with screen readers, text browsers and many mobile
devices. Since you are always going to get all three columns, it
removes the issue of dynamic columns. Personally, I much prefer the
ability to have 1, 2 or 3 columns depending on the need, so I think the
single table to control layout provides much more flexibility than
trying to go CSS only.
> Mark et all,
> Here is a link to the latest nouveau theme archive to play with on
> your installs:
> Inside you will find a file named "nouveau to do list.txt". These are
> my general notes on stuff still left to do, in addition to Mark's
> debugging efforts mentioned below.
> Mark R. Evans wrote:
>> Can you send me the latest nouveau code and I'll debug why the
>> are always being filled by Geeklog.
> geeklog-devel mailing list
> geeklog-devel at lists.geeklog.net
More information about the geeklog-devel