Antwort
 
LinkBack Themen-Optionen Thema durchsuchen Thema bewerten Ansicht
  #1  
Alt 04.01.07, 10:13
Forum Zuschauer
 
Registriert seit: 08.12.06
Beiträge: 5
a21glossary und xajax

Hallo,

ich möchte erreichen, dass beim Überfahren eines Glossarbegriffs mit dem Mauszeiger in einem DIV-Container der Randspalte die zugehörige Erläuterung (description) erscheint.

Eine einfache Erweiterung der Glossary-Extension um das folgende Schnipsel führte zwar zu einem ersten Erfolg. Es konnten jedoch keine Links innerhalb des onmouseover-Attributs dargestellt werden, da der Browser mit den verschachtelten Anführungszeichen im HTML-Code nicht klar kommt.

PHP-Code:
$onMouseOverText $cObj->parseFunc($row['description'],$conf,$ref='< lib.parseFunc_RTE');
$onMouseOver ' onmouseover="document.getElementById(\'glossary\').innerHTML = \''.$onMouseOverText.'\';"';
// ...
$GLOBALS['TSFE']->register['onMouseOver'] = $onMouseOver;
$before '<'.$element.$lang.$title.$onMouseOver.'>';
$after '</'.$element.'>'
Den zweiten Versuch habe ich mit Ajax (xajax) gestartet, um die Erläuterung aus der a21glossary-Datenbank dynamisch nachzuladen. Die Funktion zum Abruf der DB-Inhalte läuft schon. Nun habe ich das Problem, dass die a21glossary-Extension erst angestoßen wird, nachdem die Seite erstellt wurde. Eintrag in ext_localconf.php:

PHP-Code:
$TYPO3_CONF_VARS['SC_OPTIONS']['tslib/class.tslib_fe.php']['contentPostProc-all']['tx_a21glossary'] = 'EXT:a21glossary/class.tx_a21glossary.php:&tx_a21glossary->convertGlossaryWords'
Dadurch bleibt (wahrscheinlich) die Instanzierung des xajax-Objekts innerhalb der Klasse class.tx_a21glossary.php und damit der Eintrag des Java-Scripts in den Header durch folgenden Code innerhalb der Funktion convertGlossaryWords wirkungslos:

PHP-Code:
  
// instantiate the xajax object and configure it
require (t3lib_extMgm::extPath('xajax') . 'class.tx_xajax.php');
$this->xajax t3lib_div::makeInstance('tx_xajax');
$this->xajax->decodeUTF8InputOn();
$this->xajax->setCharEncoding('utf-8');
$this->xajax->setWrapperPrefix($this->prefixId);
// Register the names of the PHP functions you want to be able to call through xajax
// $xajax->registerFunction(array('functionNameInJavascript',&$object,'methodName'));
$this->xajax->registerFunction(array('processGlossaryRequest', &$this'processGlossaryRequest'));
// If this is an xajax request call our registered function, send output and exit
$this->xajax->processRequests();
// Else create javacript and add it to the normal output
$GLOBALS['TSFE']->additionalHeaderData[$this->prefixId] = $this->xajax->getJavascript(t3lib_extMgm::siteRelPath('xajax')); 
Nun meine konkreten Fragen:
  1. Gibt es noch eine dritten Ansatz zur Lösung das grundlegende Problems?
  2. Wie kann ich das xajax-Objekt sauber instanzieren?

Vielen Dank im Voraus für die Hilfe
Jochen
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!Wong this Post!Spurl this Post!Reddit! Diesen Post bei linksilo.de bookmarken!
Mit Zitat antworten
Antwort


Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht Thema bewerten
Thema bewerten:

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge anzufügen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

vB Code ist An.
Smileys sind An.
[IMG] Code ist An.
HTML-Code ist Aus.
Trackbacks are An
Pingbacks are An
Refbacks are An


Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
FE Problem mit der Extension "a21glossary" mariostrife TYPO3 4.x Fragen und Probleme 0 07.03.07 13:32
a21glossary: Links werden nur teilweise gesetzt arittner Alle anderen Extensions 0 10.02.07 12:44
a21Glossary in DirectMail "Baum" ausschalten - wie? flamev Direct Mail 0 06.01.07 19:26


Alle Zeitangaben in WEZ +1. Es ist jetzt 23:47 Uhr.


Powered by vBulletin® Version 3.6.8 Patch Level 2 (Deutsch)
Copyright ©2000 - 2008, Jelsoft Enterprises Ltd.
Search Engine Friendly URLs by vBSEO 3.1.0
Template-Modifikationen durch TMS