Tooltipp Marke Eigenbau

Forum_Lexicon_Desc

Tooltipp Marke Eigenbau

Beitragvon padcx » 14. Jul 2006 03:05

Hallo zusammen,

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. ;)

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. :roll:
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! :D :D :D
padcx
 
Beiträge: 3
Registriert: 12. Jul 2006 10:36

Beitragvon Ergonomic » 26. Aug 2006 21:01

Ich weiß du machst keinen support. Aber eventuell machst du ja ne Ausnahme. Oder ein anderer kann mir helfen.

Also hab das so gemacht wie obern Beschrieben.

In der lexikon.php geht auch alles.

Nur wenn ich jetzt einen Beitrag schrewibe und es kommt ein Wort aus dem lexikon drin vor wird dieses nicht mehr erkannt und die erklärung bzw der tooltipp funktioniert auch nicht.

Bitte helft mir. Meine User wolle das unbedingt.

Es geht um folgendes Forum. www.reptiliencommunity.de

Danke schonmal im vorraus.

Gruss Ergonomic
Ergonomic
User
 
Beiträge: 40
Registriert: 22. Aug 2006 17:44
Wohnort: Münster

Beitragvon AmigaLink » 10. Jan 2007 10:30

Gleich mal vorweg:
Voraussetzung für diese Tooltipps ist der Lexicon v2 (logisch) mit dem Cache Crosslinks und dem Quicklinks to Lexicon addon! Wer den CH MOD einsetzt kann diese Änderung nicht machen, weil durch die Änderung an der Funktion cache_generic() der Cache des CH beeinträchtigt oder sogar zerstört wird!
(Trifft bei dir nicht zu, Ergonomic.)

@ Ergonomic
Hat bei dir der Quicklinks zu Lexicon ordnungsgemäß funktioniert?
Die deutsche Sprache ist Freeware, du kannst sie benutzen, ohne dafür zu bezahlen. Sie ist aber nicht Open Source, also darfst du sie nicht verändern, wie es dir gerade passt.
Benutzeravatar
AmigaLink
Administrator
 
Beiträge: 3987
Registriert: 11. Aug 2004 01:06
Wohnort: NRW

Beitragvon Ergonomic » 12. Jan 2007 04:52

at bei dir der Quicklinks zu Lexicon ordnungsgemäß funktioniert?


Das Versteh ich jetzt nicht. Eventuell noch zu früh.

Was meinst du damit?

Gruss Ergonomic
Ergonomic
User
 
Beiträge: 40
Registriert: 22. Aug 2006 17:44
Wohnort: Münster

Beitragvon AmigaLink » 12. Jan 2007 10:12

In deinem Lexikon muss das "Cache Crosslinks" und das "Quicklinks to Lexicon" add-on installiert sein, bevor du die hier genannte Änderung für die Tooltips vornehmen kannst!
Wenn diese add-ons nicht installiert sind, oder nicht Ordnungsgemäß Funktionieren, können die Tooltips ebenfalls nicht Funktionieren!
Die deutsche Sprache ist Freeware, du kannst sie benutzen, ohne dafür zu bezahlen. Sie ist aber nicht Open Source, also darfst du sie nicht verändern, wie es dir gerade passt.
Benutzeravatar
AmigaLink
Administrator
 
Beiträge: 3987
Registriert: 11. Aug 2004 01:06
Wohnort: NRW

Beitragvon Ergonomic » 12. Jan 2007 22:17

Also eingebaut habe ich diese.
Funktionieren tun sie auch.
Also sollte das gehen.
Werde morgen nochmal alles einbauen wie beschrieben und dann melde ich mich nochmal bei dir.

Gruss Ergonomic

Zugefügt nach 1 Tag(en) 8 Stunde(n) 34 Minute(n):

Hallo Amiga Link

Ich habe jetzt alle Änderungen vorgenommen. Habe dem Kompletten Einbau mit den SddOns vür das Lexicon gemacht. Als letztes halt die aus dem 1. Beitrag.

Leider funktioniert das nicht. Wenn ich mit dem Pfeil auf einen markierten namen klicke erscheint darunter nur der hinweis das das wort im Lexicon beschrieben ist.

Gruss Ergonomic
Ergonomic
User
 
Beiträge: 40
Registriert: 22. Aug 2006 17:44
Wohnort: Münster

Beitragvon AmigaLink » 14. Jan 2007 11:19

Lösch mal die includes/def_lexicon.php bzw. lad die Originale (aus meinem MOD-Paket) hoch.
Die deutsche Sprache ist Freeware, du kannst sie benutzen, ohne dafür zu bezahlen. Sie ist aber nicht Open Source, also darfst du sie nicht verändern, wie es dir gerade passt.
Benutzeravatar
AmigaLink
Administrator
 
Beiträge: 3987
Registriert: 11. Aug 2004 01:06
Wohnort: NRW

Beitragvon Ergonomic » 14. Jan 2007 14:43

Hallo Amiga Link

Wenn ich das mache Zeigt er mir die Viewtopic nicht mehr an.
Habe die includes function wieder auf die Version vor dem einbau des im 1. Beitrag geschribenen gamecht. Dann geht es wieder.

Gruss Sven
Ergonomic
User
 
Beiträge: 40
Registriert: 22. Aug 2006 17:44
Wohnort: Münster

Beitragvon AmigaLink » 14. Jan 2007 20:31

Entschuldige, da hab ich mich wohl nicht klar genug ausgedrückt. :roll:
Die def_lexicon.php darf niemals gelöscht werden! Wenn du den Cache löschen möchtest (und das musst du wenn du die Tooltip Änderung eingebaut hast), dann musst du die Original def_lexicon.php (die dem 'Quicklinks to Lexicon addon' beiliegt) im auf deinen Server laden und damit die bestehende Überschreiben.
Die deutsche Sprache ist Freeware, du kannst sie benutzen, ohne dafür zu bezahlen. Sie ist aber nicht Open Source, also darfst du sie nicht verändern, wie es dir gerade passt.
Benutzeravatar
AmigaLink
Administrator
 
Beiträge: 3987
Registriert: 11. Aug 2004 01:06
Wohnort: NRW

Beitragvon Ergonomic » 14. Jan 2007 22:48

Ok dann werde ich den Einbau morgen nochmals wiederholen.

Gruss Ergonomic
Ergonomic
User
 
Beiträge: 40
Registriert: 22. Aug 2006 17:44
Wohnort: Münster

Nächste

Zurück zu Lexicon v2



Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 0 Gäste

cron