nach etlichen Stunden habe ich die Struktur soweit verstanden, dass ich die Tooltipps aktivieren konnte (mit Erklärung des entsprechenden Begriffs).
Bevor ich diese Lösung hier aber poste: Ich gebe KEINEN SUPPORT - NO SUPPORT!!! Bei mir funktionierte es und mit ein bisschen Geschick bei Euch auch.
Zur Info: Ich habe beide Hacks zum Lexikon installiert, sprich ich habe das gecachte Crosslink-Lexikon.
![Zwinkern ;)](./images/smilies/icon_wink.gif)
Fangen wir an und ignorieren die auftretenen SQL-Macken (zieht diese Veränderung also bestenfalls bei forumgähnender Leere durch :p )!
---------------------------------------------------------------------------------------
PS: Es hapert noch etwas bei gegenseitigen Verweisung, aber das Problem ist hier bekannt.
---------------------------------------------------------------------------------------
Die Datei includes/cache_tpls/def_lexicon_def.tpl habe ich ein bissle angepasst, damit die richtige Cache-Version erstellt wird.
- Code: Alles auswählen
// define the arrays for word replacements
<!-- BEGIN cache_row -->
$crosslink_word[] = '#\b('.{cache_row.ID}.')\s#';
$crosslink_url[] = '<acronym title="' . {cache_row.EXPLN} . '">' . {cache_row.ID} . '</acronym> ';
$crosslink_word[] = '#\s('.{cache_row.ID}.')\b#';
$crosslink_url[] = ' <acronym title="' . {cache_row.EXPLN} . '">' . {cache_row.ID} . '</acronym>';
<!-- END cache_row -->
Anscchließend habe ich den Definitionsvariabelstring um die Variable "explanation" erweitert - zu finden in der Datei includes/function.php.
- Code: Alles auswählen
cache_generic('def_lexicon_def', 'def_lexicon', LEXICON_ENTRY_TABLE, 'keyword', 'explanation');
Anschließend habe ich in derselben Datei die function cache_generic etwas modifiziert, da es an mehreren Stellen war, bitte tragt sie von Hand ein, damit Euer Script sauber bleibt! - Änderungen in Zeilen 7, 34 und 49
PS: Nicht mehr ganz sicher bin ich mir über Zeile 25/26, wo eine Wildcardsuche ("*") über die Datenbank abgeschickt wird.
![Mit den Augen rollen :roll:](./images/smilies/icon_rolleyes.gif)
- Code: Alles auswählen
// cache_generic() : generic cache process
/***************************************************************************
*
* This code ist from the Categories hierarchy MOD 2.x and/or Cache MOD from Ptirhiik (http://rpgnet.clanmckeen.com)
*
***************************************************************************/
function cache_generic($cache_tpl, $cache_file, $table, $key_field, $key_explain, $sql_where='')
{
global $phpbb_root_path, $phpEx, $db, $userdata;
// template
$template = new Template($phpbb_root_path);
$template->set_filenames(array(
'cache' => 'includes/cache_tpls/' . $cache_tpl . '.tpl')
);
$time = time();
$template->assign_vars(array(
'TIME' => date('Y-m-d H:i:s', $time) . ' (GMT)',
'DAY' => mktime(0, 0, 0, date('m', $time), date('d', $time), date('Y', $time) ),
'USERNAME' => $userdata['username'],
)
);
$sql = "SELECT * FROM $table $sql_where";
if( !$result = $db->sql_query($sql) )
{
message_die(GENERAL_ERROR, 'Could not read ' . $table . ' table', '', __LINE__, __FILE__, $sql);
}
while ( $row = $db->sql_fetchrow($result) )
{
$id = $row[$key_field];
$expln = $row[$key_explain];
$cells = array();
@reset($row);
while ( list($key, $value) = @each($row) )
{
$nkey = intval($key);
if ( $key != "$nkey" )
{
$cells[] = sprintf( "'%s' => '%s'", str_replace("'", "\'", $key), str_replace("'", "\'", $value));
}
}
$s_cells = empty($cells) ? '' : implode(', ', $cells);
$template->assign_block_vars('cache_row', array(
'ID' => sprintf("'%s'", str_replace("'", "\'", $id)),
'EXPLN' => sprintf("'%s'", str_replace("'", "\'", $expln)),
'CELLS' => $s_cells,
)
);
}
// transfert to a var
$template->assign_var_from_handle('cache', 'cache');
$res = "<?php\n" . $template->_tpldata['.'][0]['cache'] . "\n?>";
// output to file
$cache_path = 'includes/';
$handle = @fopen($phpbb_root_path . $cache_path . $cache_file . '.' . $phpEx, 'w');
@flock($fp, LOCK_EX);
@fwrite($handle, $res);
@flock($fp, LOCK_UN);
@fclose($handle);
@umask(0000);
@chmod($phpbb_root_path . $cache_path . $cache_file . '.' . $phpEx, 0666);
}
Wer sich jetzt noch etwas mit der individuellen CSS-Datei beschäftigen möchte, kann sie noch etwas erweitern. Hier ein Beispiel, um das Fragezeichen hinzubekommen:
- Code: Alles auswählen
/* Anzeige des Tooltipps */
acronym {
cursor: help;
}
---------------------------------------------------------------------------------------
Es ist vollbracht!
![Sehr glücklich :D](./images/smilies/icon_biggrin.gif)
![Sehr glücklich :D](./images/smilies/icon_biggrin.gif)
![Sehr glücklich :D](./images/smilies/icon_biggrin.gif)