Es fällt leider immer wieder auf, dass in Infusionen und Mods die Links schlecht verarbeitet werden.
Seit dem Nutzen der mod_rewrite Funktion im Content Management System kann es zu Problemen in Links kommen, welche mit FUSION_SELF oder in Infusionen nur mit einer Datei ohne der Angabe zum Verzeichnis der Infusion genutzt werden.
Aus diesem Grund sollte in Zukunft folgende Linkschreibweisen genutzt werden.
1. Möglichkeit:Nutzen der PHP_SELF Konstante statt BASEDIR.FUSION_SELF oder ähnliche Zusammensetzungen mit FUSION_SELF
Diese Möglichkeit kann in allen Dateien eingesetzt werden, wenn sich der Link auf die gleiche Datei
bezieht.
2. Möglichkeit Nutzen von BASEDIR, FORUM, IMAGES, ADMIN und INFUSIONS
Beabsichtigt man einen Link auf eine andere Datei dann sollte man immer den Bezug zum Verzeichnis mit angeben, Bsp: BASEDIR.'news.php' oder INFUSIONS.'pro_download_panel/download.php', etc..
Durch diese beiden Möglichkeiten, wird erreicht, dass immer der korrekte Link genutzt wird.
Vermeidet Links wie <a href="news.php">News</a>, da die Software bei eingeschalteter Rewrite Funktion nicht richtig ausliest.
Hier noch ein Hinweis:Möchte man, dass die Software den Link immer richtig dargestellt, dann verwendet folgende Schreibweise:
<a href="'.$tpl->rewrite_url('Link zur Seite','Linktitel',false).'">Linktext</a>
Der Parameter
Link zur Seite muss normale PHP-Schreibweise sein, Bsp: BASEDIR.'news.php?readmore=1&rowstart=1'.
Der Parameter
Linktitel ist optional und kann weggelassen werden.
Der Parameter
false dient der Ermittlung ob es ein externer oder Interner Link ist. Dieser Parameter kann auch wegelassen werden, da er auf
false voreingestellt ist. Setzt man diesen auf
true wird der Link so übernommen, wie er angegeben wurde.
Bei Ankerlinks sollte man auf jeden Fall diese Schreibweise verwenden, Bsp.:
$tpl->rewrite_url(BASEDIR.'faq.php?cat_id=1#faq_1,'FAQ 1')Die Software erstellt dann automatisch den korrekten Link inkl. Ankerhinweis
Ist eine SEO-Link Umwandlung definiert wird diese durch diese Funktion umgewandelt.
Ein SEO-Link funktioniert jedoch nur dann, wenn die RewriteRule in der .htaccess eingetragen wurde.
In vielen Templatedateien wird die alte Schreibweise $tpl->url() verwendet, Diese bleibt kompatibel, sollten jedoch nach und nach auf die neue Schreibweise umgebaut werden.