Home   
   Unternehmen   
   Dienstleistungen   
   Typo3   
Suche:  
  Anker-Links mit Framestruktur


Typo3 kann von Haus aus keine Verweise mit Anker (index.html#34) an ein Frameset übergeben. Das liegt wohl auch an der Tatsache, dass der Browser den Ankerverweis nicht an Typo3 bzw. PHP weiterleitet.

Um das dennoch erreichen zu können behelfen wir uns eines Tricks. Die Typolink-Funktion die für die Erstellung der Links in Typo3 verantwortlich ist muss hierfür per Typoscript geändert werden. Dazu kann das selbe PHP-Script verwendet werden welches als Beispiel unter "verschiedene Formatierung von internen und externen Links" zu finden ist. Zusätzlich kommen dann noch folgende Zeilen hinzu: (am besten nach der Zeile "global $TSFE;")

$AnchorA = split("#",$content["url"]);
if ($AnchorA[1]) {
  $content["url"]=str_replace("#","?&Anchor=".$AnchorA[1]."#",$content["url"]);
}

Das vollständige Script finden Sie auch im Downloadbereich.

Ins Setup des Templates kommt der gleiche Typoscript-Code wie unter: "verschiedene Formatierung von internen und externen Links"

Die Erzeugten Links mit Anker sehen dann etwas so aus: index.html?&Anchor=34#34

Zur Auswertung und zur Generierung des angepassten Framesets muss noch die Datei "tslib/class.tslib_content.php" ab der Zeile 4582 (function frameParams($setup, $typeNum) geändert werden.

4581 ff. alt:
$finalURL = $GLOBALS["TSFE"]->tmpl->removeQueryString($finalURL);
if ($setup["src"]) {$paramStr.=' src="'.$setup["src"].'"';} else {$paramStr.=' src="'.$finalURL.'"';}


4581 ff. neu:
$finalURL = $GLOBALS["TSFE"]->tmpl->removeQueryString($finalURL);

if ($GLOBALS["HTTP_GET_VARS"]["Anchor"]) {
  $finalURL.= "#".$GLOBALS["HTTP_GET_VARS"]["Anchor"];
}

if ($setup["src"]) {$paramStr.=' src="'.$setup["src"].'"';} else {$paramStr.=' src="'.$finalURL.'"';}

Das vollständige Script finden Sie auch im Downloadbereich.

Und so sieht dann z.B. das Frameset aus:

<FRAMESET cols="160,*" border="0" framespacing="0" frameborder="NO">
  <FRAME src="/index.1.html#51" name="left" frameborder="NO" marginheight="0" marginwidth="0" noresize>
  <FRAME src="/index.2.html#51" name="page" frameborder="NO" marginheight="0" marginwidth="0" noresize>
</FRAMESET>

  Downloads

Download user_typolink.zip  user_typolink.zip (1.03k)
PHP-Script für die Änderung der Typolink-Funktion. Beinhaltet die Anzeige unterschiedlicher Icons vor verschiedenen Links (Intern, Extern, Email) und die generrierung eines zusätzlichen Parameters für die Übergabe von Anker-Links an ein Frameset
Download class.tslib_content.zip  class.tslib_content.zip (48.93k)
Angepasste class.tslib_content.php. Hiermit kann in Verbindung mit user_typolink.php Anker-Links an ein Frameset übergeben werden. Die Datei vorher "ent-zippen" und in den tslib-Pfad der Typo3-Installation kopieren. Die Original-class.tslib_content.php sollten sie vorher unbedingt sichern.


  Diesen Tip bewerten



letzte Änderung: 09.06.2005 - © video & multimedia design
Seite drucken