Lösung mit 2 HTML Absäten
FAQ Plugin Punkte einzeln verlinken.
Seiten mit einem FAQ-Plugin haben das Problem, dass die FAQ mit Ihrem Text nicht gezielt geöffnet werden können. Dieser Mangel macht such beim Ersatz-Tool bemerkbar, weil aus einem Suchergebnbis heraus ein Link zwar erstellt wird, aber der Text auf der angezeigten Seite leider nicht sichtbar ist. DAS FAQ Plugin ist an sich nicht veränderbar. Es liegt in Form einer DLL vor und kann nur decompliert werden, was die Lizenzrechte aber verbieten. Daher muss nach dem FAQ-Plugin ein HTML-Absatz mit diesem Code nachgeschoben werden. So wird nach Ausgabe der FAQ-Punkte Liste noch der relevante FAQ-Punkt geöffnet.
HTML-Code nach dem FAQ-Absatz:
<?php
function getfaqnr($myKey) {global $HTTP_GET_VARS;
if (isset($HTTP_GET_VARS[$myKey])) { return ($HTTP_GET_VARS[$myKey]); } else {return ("");}}
$faqnr=getfaqnr("faqnr");
if ($faqnr!="") {echo "<script type='text/javascript'>document.getElementById(\"faq".$faqnr."\").style.display = 'block';";
echo "window.scrollBy(0,document.getElementById(\"faqplugin\").offsetTop+".(23*($faqnr-2)).");</script>";}
?>
Damit nun auch noch richtig positioniert wird, benötigt diese Routine einen Referenzposition. Diese schaffen wir uns selber indem wir nun auch noch vor dem Plugin einen weiteren HTML-Ansatz einfügen. Das:
HTML-Code vor dem FAQ-Absatz:
<span id="faqplugin"></span>
Jedes FAQ-Plugin beginn mit
<script type="text/javascript">
function faqt
Da der Code des PlugIns ohnehin nicht darauf ausgelegt ist mehrfach auf einer Seite verwendet zu weden, ist auch die nachgeschobene HTML Routine nicht in der Lage auf zwei
Lösung mit dem Parser
Jedes FAQ-Plugin beginn mit im HTML Code mit der Sequenz:
<script type="text/javascript">
function faqt
Das kann man nutzen und in den Parser eine Anweisung setzen, damit diese Code-Sequenz immer um den voranzustellenden Code "<span..." erweitert wird. Dann ertfällt der HTML Absatz vor dem PlugIn. Die Parser-Anweisung lautet:
$content=str_replace(
"<script type=\"text/javascript\">\nfunction faqt",
"<span id="faqplugin"></span><script type=\"text/javascript\">\nfunction faqt",
$content);
er zweite Absatz kann ohnehin, so wie er ist, kurz vor </body> also am Ende der navigation.ccml gesetzt werden. Aber es muss außerhalb des Parsers bleiben. Durch diese Form der Implementierung
steht die Funktion der Verlinkung von FAQ auf allen Seiten sofort zur Verfügung.
FAQ- Testbox
Ja sicher, so einfach geht das. Zwei kleine Modifikationen und schon ist eine funktionale Erweiterung möglich.
Die Ansatz ist immer, dass ich einfach den erzeugten Quelltext der Seite ansehen. Dann überlege ich, wie der Code verändert werden muss, damit die gewünscht Funktion verfügbar wird. Und zum Schluß versuche ich am PlugIn oder mit anderen Modifikationen die gewüschte Änderung im Code zu realisieren.
Einen Lösungsansatz findet man schnell. Bis aber der funktionale Code (hier PHP und Java) stabil funktioniert dauert es dann immer noch etwas länger. Aber das war jetzt keine Größe Aufgabe für mich.
Da Webtodate auf Standard Internet Technologien beruht, kann man sehr viel verändern. Was nicht geht, ist die Masken und Eingabemöglichkeiten von webtodate zu ändern. Ich kann keine neuen Felder "herzaubern". Ich kann lediglich die vorhandenen Felder "kreativ" also abweichend oder egänzend zur bisherigen Standard-Logik anwenden.
LinkListe
Hier kommen nun die Links auf die entsprechenden FAQ Punkte zum selbertesten:
FAQ » Punkt 1:
FAQ » Punkt 2:
FAQ » Punkt 3:
FAQ » Punkt 4:
Den Link müssen Sie in webtodate als externen Link setzen. Für meine Seite und den ersten FAQ lautet die URL:
http://www.e-consultancy.de/homepage-loesungen/auf-faq-verlinken-und-diese-oeffnen/index.php?faqnr=1 .