Hi Leutz,
folgendes Problem:
Ich habe im Backend eine eigene Extension erstellt, welche eine Datenbank beinhaltet. Darin befinden sich die Daten von einer Vielzahl Partnerfirmen, unter anderem ein Link auf die Seite der jeweiligen Firma. Da ich die Datenbankeinträge aber über das T3 Backend erstellt habe, haben die Links in der Datenbank dieses Format: "www.einefirma.de _blank Firmenname". Nun hoffe ich, dass mir jemand die entsprechende T3 API Funktion nennen kann, um in PHP einen Hyperlink aus diesem String in der Datenbank zu generieren, denn ich finde diese schlicht und einfach nicht alleine. ^^
Danke im Voraus.
greetz, Chris
Hallo und willkommen im Forum,
das könnte klappen (aus sp_directory)
function makeHTTPLink($url,$name) {
$this->typolink_conf["parameter"] = $url;
$code = $this->cObj->typolink($name, $this->typolink_conf);
return $code;
}
georg
hmm, danke georg, aber das ist nicht ganz das, wonach ich suche.
Also wie gesagt, ich habe in der Datenbank zwar schon den Link stehen, aber eben in dieser Form: "www.einefirma.de _blank Firmenname". Laut einem Kumpel von mir gibt es eine T3 API Funktion, welche dazu in der Lage ist, einen String mit diesem Format ensprechend aufzuspalten und daraus gleich einen fertigen Link zu generieren. Aber er kann sich selbst auch nicht mehr an den Funktionsnamen erinnern. Also vielleicht findet sich ja jemand, dem der Name der entsprechenden Funktion weiß, würde mir sehr helfen. Ansonsten wäre ich auch mit einer benutzerdefinierten Funktion zufrieden, welche denselben Zweck erfüllt. 🙂
greetz, chris
probier´s mal damit
$special_link = "www.einefirma.de _blank"; // Dein Eintrag in der DB
$specialLink = explode(" ",$special_link);
$setLink = $specialLink[0]; // www.einefirma.de
$setTarget = $specialLink[1]; //_blank
//Typo3 spezifische Linkgenerierung
$firmenLink = $this->pi_linkToPage('meinLink',$setLink,$target=$setTarget)
so müsste es klappen
Gruß
Despo
Das sieht schon mal sehr viel versprechend aus, danke despo. Werd ich so bald als möglich mal ausprobieren. 🙂
Ein kleines Problem hab ich noch dabei, wenn bei dem String $special_link hinten dran noch der Firmenname dransteht und dieser mehrere Wörter beinhaltet, die ebenfalls mit Leerzeichen getrennt sind. Kann man irgendwie überprüfen, wieviele Arrayelemente von der funktion "explode" erstellt wurden? Also ob da nach dem Aufruf dann ein Arrayelement $specialLink[2], $specialLink[3], usw. existiert?
Damit wäre mein Problem dann eigentlich gelöst. ^^
lg Chris
es gibt bestimmt elegantere Methoden, aber probier dies mal:
$special_link = "http://www.einefirma.de _blank das ist der titel";
$specialLink = explode(" ",$special_link);
$setLink = $specialLink[0]; // www.einefirma.de
$setTarget = $specialLink[1]; //_blank
$setTitle = array_slice($specialLink, 2); //aufsplittung alles was nach _blank kommt
foreach ($setTitle as $key => $value) {
$title .= $value." ";
}
$GLOBALS['TSFE']->ATagParams = 'title="'.$title.'"'; // Das ist nötig da die mir bekannten T3 Linkfunktionen keinen Titel Parameter unterstüzen
$firmenLink .= $this->pi_linkToPage('meinLink',$setLink,$target=$setTarget);
return $firmenLink;
Gruß
Despo
Danke Despo, funktioniert alles soweit.
Hast mir echt geholfen. 😉