Schön das du wieder dabei bist.
Drei Schönheitsfehler hat das Lexikon 2 seit seiner Fertigstellung, welche ich selber nicht korrigiert bekomme.
Der erste betrifft dass unerlaubte Tag alt in den Links. Dieser Code:
- Code: Alles auswählen
alt="'.$lang['to_Lexicon'].'"
wird automatisch beim Eintragen eines neuen Stichwortes für alle Stichworte in die def_lexikon.php hinzugefügt, ist aber laut W3C nicht erlaubt. Nur ich finde nirgends die Stelle im Code wo ich das deaktivieren kann.
Der Zweite Schönheitsfehler betrifft Stichworte im Lexikon, welche aus mehreren Worten bestehen. Z.B. "die ist ein Suchwort".
- Code: Alles auswählen
<td class="row2"><a name="die ist ein Suchwort"></a><span class="cattitle"><b><a href="lexicon.php?letter=die%20ist%20ein%20Suchwort" class="crosslink" alt="" title="">die ist ein Suchwort</a> die ist ein Suchwort (<a href="lexicon.php?letter=ASCII" class="crosslink" title="">
Dieses Stichwort wird zwar korrekt als solches angezeigt, der entsprechende Wert für das Attribut name ist aber Fehlerhaft, denn Leerzeichen sind auch nicht erlaubt.
Zu guter Letzt noch ein Fehler im PHP Code. Der Wert $lang['to_Lexicon'] für das Tag tittle wird nicht ausgefüllt. Das müsste dieser Codebereich sein:
- Code: Alles auswählen
// init crosslinks
$crosslink_word = array();
$crosslink_url = array();
if ( defined('CACHE_LEXICON') )
{
$lang['to_Lexicon'] = '';
@include( $phpbb_root_path . './includes/def_lexicon.' . $phpEx );
if ( empty($crosslink_word) )
{
cache_lexicon();
include( $phpbb_root_path . './includes/def_lexicon.' . $phpEx );
}
}
if ( empty($crosslink_word) )
{
$sql = "SELECT keyword
FROM " . LEXICON_ENTRY_TABLE;
if( !($result = $db->sql_query($sql)) )
{
message_die(GENERAL_ERROR, 'Could not get lexicon entrys from database', '', __LINE__, __FILE__, $sql);
}
if ( $row = $db->sql_fetchrow($result) )
{
do
{
$crosslink_word[] = '#\b(' . $row['keyword'] . ')\s#';
$crosslink_url[] = '<a href="lexicon.'.$phpEx.'?letter=' . $row['keyword'] . '" class="crosslink">' . $row['keyword'] . '</a> ';
$crosslink_word[] = '#\s(' . $row['keyword'] . ')\b#';
$crosslink_url[] = ' <a href="lexicon.'.$phpEx.'?letter=' . $row['keyword'] . '" class="crosslink">' . $row['keyword'] . '</a>';
}
while ( $row = $db->sql_fetchrow($result) );
}
}
Bye