Zum Inhalt springen

Accessibility Glossary (a21glossary )

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

Tags: Frage

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.