Zum Inhalt springen

Accessibility Glossary (a21glossary )

Erstellt am 18. März 2007 · 10 Antworten · letzte Antwort am 28. Februar 2008

Tags: Frage

dfluess ·

Hallo,

kann mir jemand erklären, warum manche im Glossar eingetragenen Definitionen verlinkt werden und manche nicht?

Ich bin am verzweifeln dachte ich doch, endlich die passende Glossar-Extension gefunden zu haben.

Zwei Einträge, exakt gleich nur mit unterschiedlichem Inhalt. Der eine Begriff wird auf der Website verlinkt und der andere nicht, nur ein Fragezeichen bei Mouseover eingeblendet..

Auch funktioniert das ausschließen aus Überschriften und Menüs nicht. Ich habe im Forum keinen Beitrag gefunden der wirklich licht in das Phänomen bringt. Kann jemand helfen?

Oder gibt es eine alternative Extension, die automatisch Akronyme mit Tooltip und Definitionen mit der Erklärung verlinkt?

Danke für eine Hilfe…

claudia2 ·

Hallo Detlef 🙂

ich stand bis eben zumindest vor dem einen gleichen Problem, dass Begriffe in der Navigation als Glossareintrag gekennzeichnet werden...

Die Angabe excludeTags funzte bei mir natürlich auch nicht, also habe ich mir eben die setup.txt der Extension und die CSS Angaben noch einmal angeschaut. DEFAULT_CSS ausgeschaltet, die CSS Angaben der Extension in mein Stylesheet eingefügt, plus das hier um Links und Überschriften auszuschliessen:

/* tags die von der Auszeichnung ausgeschlossen werden sollen*/
a dfn, li.current dfn {border-bottom: 0px dotted black;font-style:normal;cursor:pointer;}
h1 dfn {border-bottom: 0px dotted black;cursor:default;}
dd.csc-textpic-caption dfn {border-bottom: 0px dotted black;font-style:normal;cursor:default;}

und das rettet mich vor dem Testen weiterer Glossar extensions *smile*
hoffe ich konnte dir damit auch helfen!

lg und einen schönen Tag wünsche ich dir 🙂
claudia

HerrJeh ·

hi,

auch muss wohl das feld "typ" im datensatz gesetzt sein. wenn da nix drinsteht, zeigt er auch nix an.

gruß,
andré

SRitter ·

Hallo,
ich habe a21glossary sowiet angepasst, dass du per TypoScript bestimmen kannst, dass nur Contentelemente (sprich mit <!-- CONTENT ELEMENT ...--> gewrappte) Elemente vom Glossar verarbeitet werden.
Stelle gerne das modifizierte t3x-File zur Verfügung.

dfluess ·

Dank Euch allen (besonders Dir Claudia ;-) Das mit CCS zu lösen, da hätte ich ja auch selbst drauf kommen können o.O

Ich bin aber inzwischen auf anderes umgestiegen, Denn zwei für mich noch wichtige Features werden von der a21glossary nicht unterstützt. Einerseits fehlt die alphabetische Übersicht und andererseits ist die Auszeichnung nicht über Custom-Tags möglich. Es soll je nicht JEDER Begriff und ÜBERALL mit einem Link versehen werden. Nutze jetzt die sg_glossary und den Akronym-Manager.

claudia2 ·

@SRitter: wär schön! brauche ich zwar jetzt nicht mehr unbedingt, aber vielleicht für ein anderes Projekt...

@detlev
na ja, warum kompliziert wenn es auch einfach geht 😉 ich muss mir halt manchmal (noch) anders behelfen als den klassischen weg zu gehen!

für die alphabetische Übersicht gibt es übrigens inzwischen sogar die datamints_glossaryindex, habe ich vorhin zufällig entdeckt.

allerdings hat mein Kunde angedroht, dass er vielleicht doch eine norwegische und eine englische Version der Website haben möchte... da muss ich dann wohl noch mal schauen, wie ich das löse. später...

lg claudia

ps

Hugisan ·

Hallo zusammen

Ich wollte mich erkundigen, wo ich das modifizierte t3x-File finden kann. Ich gehe davon aus, dass mit dieser Modifikation das includePagetypes nachher funktioniert.

Besten Dank

SRitter ·

Hallo Hugisan,
meine Umsetzung löst dieses Problem nicht, da ich nichts an den Regulären Ausdrücken, die diese Funktion darstellen verändert habe.

Die Extension liest Standardmäßig nur den Body des Quellcodes aus und verändert diesen:

			// process only the html body part
		$dividePos = strpos($content['pObj']->content,'<body');
		$head = substr($content['pObj']->content,0,$dividePos);
		$body = substr($content['pObj']->content,strpos($content['pObj']->content,'<body'))
		$body = $this->a21replace($searchArray,$replaceArray,$body);

Ich habe das ganze insoweit erweitert, dass für den Fall, dass in der Flexform ein Haken gesetzt ist, anhand der Kommentare ("<!-- CONTENT ELEMENT") nur der Quellcode vom ersten Content-Element bis zum letzten verarbeitet wird:

			// process only the html body part
		$dividePos = strpos($content['pObj']->content,'<body');
		$head = substr($content['pObj']->content,0,$dividePos);
		$body = substr($content['pObj']->content,strpos($content['pObj']->content,'<body'));
					
			// Process Only Content Elements (Steffen Ritter, 26.03.2007)
		if ( $conf['contentOnly'] == '1')  {
				$dividePos2 = strpos($body,'<!--  CONTENT ELEMENT');
				$parta = substr($body,0,$dividePos2);	
				$partc = substr($body,$dividePos2);
				$dividePos3 = strrpos($partc , ']' );
				$mainpart = substr($partc , 0 , $dividePos3);
				$partz = substr($partc , $dividePos3);
				
				$pcontent = $this->a21replace($searchArray,$replaceArray,$mainpart);
				
				$body = $parta . $pcontent . $partz;
				
		}
		else {	
			// else (Steffen Ritter, 26.03.2007)			
			// process whole body part
			$body = $this->a21replace($searchArray,$replaceArray,$body);
	 	}
	 	
	 	// apply changes on the parent object
	 	$content['pObj']->content = $head . $body;
	}

Das ist sicher nicht die sauberste Lösung, aber sie funktioniert... (für meine Zwecke).

Wenn das jemand haben will, kurze PN, dem schick ich das T3X zu, wem die Modifikation mit dem Code oben selbst vorzunehmen zu Heikel ist...

madmat ·
dfluess schrieb

Nutze jetzt die sg_glossary und den Akronym-Manager.

Den sb_akronymmanager ? Was hast Du bei Dir im TS Setup eingetragen ?
Das im Manual vermerkte

postUserFunc = tx_sbakronymmanager_pi1->check

tut irgendwie nix bei mir.
Ich kann zwar Begriffe etc.. eintragen, die funktionieren aber nur in der Vorschau, im FE tut sich nichts.