Zoals in de inleiding is geschreven kan de opmaak van links op een pagina worden aangepast aan de eigen wensen. Op deze pagina van de website (geschreven december 2007) staat onder de tekst het volgende: icoon1 | icoon2 | login om te reageren
of:
icoon1 | icoon2 | Nieuwe reactie toevoegen
waarbij icoon1 resp. icoon2 een icoontje is om een printvriendelijke versie van deze pagina te maken resp. een e-mail naar een vriend te zenden
Omdat de extra modules „forward” en „print” op deze site staan komt hier normaal gesproken een tekst te staan als: „E-mail deze pagina” resp. „Printvriendelijke versie”.
Wij hebben de volgende wensen voor het aanpassen van deze regel:
Dit kan door het zelf schrijven van de functie „theme_links()”. Hieronder staat ons resultaat. De functie bestaat uit drie delen:
Opmerking:
// wijzig de volgorde van de links en gebruik icoontje
function garland_links($links, $attributes = array('class' => 'links')) {
$output = '';
// definitie welke links vooraan moeten staan en in welke volgorde
static $vooraan;
if (!$vooraan) {
$vooraan = array(
'book_printer',
'print',
'forward_links',
);
}
// definitie van vervanging van tekst door iconen
$finds = array(
">printervriendelijke versie<" => "><img src=\"/files/printer.gif\" border=\"0\" /><",
">e-mail deze pagina<" => "><img src=\"/files/email.gif\" border=\"0\" /><",
);
$eerst = array();
$rest = array();
if (count($links) > 0) {
// bepaal welke van de links vooraan komen te staan
foreach($vooraan as $naam) {
if ($links[$naam]) {
$eerst[$naam] = $links[$naam];
}
}
// bepaal wat de overige links zijn
foreach ($links as $key => $link) {
$i = FALSE;
foreach($vooraan as $naam) {
if ($naam == $key) {
$i = TRUE;
}
}
if ($i == FALSE) {
$rest[$key] = $links[$key];
}
}
// zet alle links achter elkaar
foreach ($rest as $key => $link) {
$eerst[$key] = $links[$key];
}
// gebruik het Drupal thema voor de opmaak
$output = theme_links($eerst, $attributes);
// zoek en vervang de teksten door iconen
foreach($finds as $find => $icon) {
$i = 1;
while ($i) {
if (($i = stripos($output, $find)) > 0) {
$output = substr($output, 0, $i) . $icon .substr($output, $i + strlen($find));
}
}
}
}
return $output;
}


