Zum Inhalt springen

MD5 TypoLink erzeugen zur Parameterübergabe

Erstellt am 28. September 2003 · 1 Antwort · letzte Antwort am 3. Oktober 2003

Tags: Links, PHP, Frage

Shinji ·

Hallo !

Ich bastel gerade an einer kleinen Extension die mir eine Liste von CDs anzeigt. Über einen "Details..." Link soll man dann in die Funktion singleView() springen können die dann Details zur ausgewählten CD anzeigt.

Da die Seiten später als HTML Dateien veröffentlicht werden sollen bräuchte ich die Links nicht im Format

index.php?id=3&viewsingle=3

sondern als

CDVIDEO.3+B6JnNpbmdsZXZpZXc9Mg__.0.html

Ich bekomme das aber einfach nicht mit PHP realisiert.
Ich habe mir folgenden Code "ausgedacht"

$temp_conf = $this->typolink_conf;
$temp_conf["parameter."]["wrap"] = "|,".$row["titel"];
$temp_conf["parameter."]["field"] = $GLOBALS["TSFE"]->id;
$temp_conf["additionalParams"] = "&singleview=".$row['uid'];
$wrappedSubpartArray["###LINK_MORE###"]= array(                                         $this->cObj->typolink("Details...",$temp_conf),'</A>');

Leider erzeugt dieser Code nur Links zur ID1, aber immerhin schon verschlüsselt:

Start.1+B6JnNpbmdsZXZpZXc9Mg__.0.html

Ob die Parameter stimmen weiß ich leider nicht.

Außerdem funktioniert mit meinem Code das SuppartArray nicht da typolink() schon für sich einen abgeschlossenen <a HREF ></a> erzeugt.

Kann mir jemand einen Tip geben was ich wo ändern muss bzw. wo ich suchen soll. Ich finde in meinem Dokumentationen leider nichts dazu. :-(

Gruß
Thorsten

Shinji ·

Hallo !

Ich habe eine Lösung gefunden (aus advCalendar).

Die folgende Funktion erzeugt einen verschlüsselten Link mit den drei Parametern view, language und tracklist.

function getUrl($view="", $language="", $tracklist=""){
     $query=array();
     $query["view"] = ($view ? $view : "");
     $query["language"] = ($language ? $language : "");
     $query["trackliste"] = ($trackliste ? $trackliste : "");
     reset($query);
     while( list($key,$val)=each($query) ){
       if (!$val){
         unset($query[$key]);
       }
     }
     return $this->pi_getPageLink($GLOBALS["TSFE"]->id,"",$query);
}

Im PHP Code eurer Extension kann man den Link dann z.B. folgendermaßen benutzen:

$wrappedSubpartArray["###LINK###"]= array("<A href='".$this->getLinkUrl($row['uid'])."'>","</A>");

Man erhält damit dann solche Links:

http://192.168.0.2/CD.3+B6JnZpZXc9Mg__.0.html

Gruß
Thorsten