Biblio is a tremendous module, but the output is hardly themer-friendly. I'm a designer with little knowledge of PHP, and I've had to resort to hacking biblio_theme.inc and other files in the module. I wish there were a clear guide for making changes to the module outside oft he module folder.
Most of these hacks to the module could have been avoided entirely -- had there been a different, more themer-friendly approach to the output.
Here's an example:
for ($i = 65; $i <= 90; $i++) {
if ($i == ord($current)) {
$output .= '<b>[' . chr($i) . ']</b> ';
}
else{
$uri['query']['f'][$filter] = chr($i);
$output .= l(chr($i), $uri['path'], $uri) . ' ';
}
}
if ($current) {
if (empty($all_uri['query']['f'])) unset($all_uri['query']['f']);
$output .= ' ' . l(t('Show ALL'), $all_uri['path'], $all_uri);
}
$output .= '</div>';
return $output;
For the alphabetical navigation (biblio-alpha-line a), the buttons should not be spaced with non-breaking spaces ( ). Instead, they should be spaced apart with a margin-right in CSS.
Similarly, the active class has square brackets and deprecated <b...</b> tags. By placing the output inside an element like
Finally, any use of uppercase in the interface should not be placed in the t( ) functions. All caps should be placed inside of a element, so that the case can be toggled off or further emphasized with color, font-size, etc.
I'm happy to contribute styles to biblio.css in exchange for updating the module to make it more themer-friendly.
Comments
Comment #1
modulist commentedAlso, please, please don't put square brackets into the markup! This can be handled far, far better with
<div class="button">.Here's an example:
This could be:
with the following css attributes:
Comment #2
rjerome commentedDeal!
As you have probably already surmised, I'm not a "themer", although I've been getting into that side of things a bit more lately on some other projects.
Suggestions and contributions are welcomed.
Ron.