Hallo, ich habe eine eigene Extension geschrieben, in der ich einen Link angeben möchte. Zusätzlich verwende ich realURL. In der TCA verwende ich folgeneden Code dafür (erstellt durch Kickstarter):
[...]
"angebotslink" => Array (
"exclude" => 1,
"label" => "LLL:EXT:t6bildpods/locallang_db.xml:tx_t6bildpods_main.angebotslink",
"config" => Array (
"type" => "input",
"size" => "15",
"max" => "255",
"checkbox" => "",
"eval" => "trim",
"wizards" => array(
"_PADDING" => 2,
"link" => array(
"type" => "popup",
"title" => "Link",
"icon" => "link_popup.gif",
"script" => "browse_links.php?mode=wizard",
"JSopenParams" => "height=300,width=500,status=0,menubar=0,scrollbars=1"
)
)
)
),
[...]
Wenn nun das Link-PopUp aufgeht, wähle ich meine Seite wie gewohnt aus, und bekomme nur die ID der Seite angezeigt (z.B.: 10). Dies erzeugt nun im Frontent (zusammen mit der baseURL) einen Link wie folgt:
http://www.meineurl.de/10
Was natürlich ins Nirvana geht. Nun meine Frage muss ich meiner Extension noch "beibringen" realURL zu verwenden? Oder wie bekomme ich zumindest den Prefix ../index.php?id= vor die 10?
Wenn ich Links mit dem RTE erstelle funktioniert das einwandfrei, daher denke ich das es irgendwie mit meiner Extension zusammenhängt. Ich bin mir also sicher das realURL selbst richtig läuft.
Gruß
SirRuddy
wie erstellst du denn den link in deinem plugin?
Hallo just2b,
über das Input-Field mit der vorangestellten Checkbox, und dem Icon uber das sich dann der Link-Wizard öffnet. (Wie unter TCA-Code beschrieben.)
Gruß SirRuddy
ja und wie kommt dann der link ins Frontend? da würd ich ein cOBj->typolink nehmen
georg
exakt, nur mit typolink funktioniert das!
$this->cObj->typolink('der Link',array('parameter'=>$row['link']));
Während der Datenbankabfrage:
(class.tx_t6bildpods_pi1.php)
$res = $GLOBALS["TYPO3_DB"]->exec_SELECTquery("*", "tx_t6bildpods_main", "deleted = 0 AND hidden = 0 AND (".$uid_where.") AND pid = '".$t6bildpodsPageId."'");
while ($row = $GLOBALS["TYPO3_DB"]->sql_fetch_assoc($res)) {
[...]
$marker["###VERLINKUNG###"] = $row["angebotslink"];
[...]
}
Wie ich eben sehe hat steffenk da einen Eintrag gepostet den ich gleich mal testen werden 🙂
Gruß
SirRuddy
Hallo steffenk und just2b,
ich habe meinen letzten Eintrag etwas geändert um die Extension-Namen auf reale Bedingungen anzupassen. Sinngemäß (auf meinen Fall) würde ich die Datenbankabfrage jetzt so ändern:
[...]
$marker["###VERLINKUNG###"] = $this->cObj->typolink('der Link',array('parameter'=>$row['angebotslink']));
[...]
Was kann ich mir nun unter 'der Link' vorstellen?
Gruß
SirRuddy
Okay das mit dem 'Link' war 'ne blöde Frage. Aber so ganz ist mein Problem noch nicht gelöst! Wie kombiniere ich die Beiden (Marker und Link) denn nun? So geht das nicht:
$this->cObj->typolink($marker["###VERLINKUNG###"],array('parameter'=>$row['hyperlink']));
Gruß
SirRuddy
der erste Parameter ist der Linktext. Du musst natürlich den Link Deinem Marker zuweisen, den Linktext nimmst Du entweder aus der DB oder aus der Sprachdatei
$marker["###VERLINKUNG###"]=$this->cObj->typolink('LINKTEXT',array('parameter'=>$row['hyperlink']));
Sehr schön steffenk! - Das habe ich jetzt geschnallt. Nachdem ich das Hardcodierte
<a href="###VERLINKUNG###" title="###">...
aus meinem HTML-Template entfernt habe wird der Link auch angezeigt. Nur steht da natürlich jetzt LINKTEXT wo eigentlich mein Inhalt aus:
$marker["###CONTENT5###"] = $row["spalte_5"];
stehen soll. - Wie bekomme ich das zusammen?
Gruß
SirRuddy
da steht aber wer auf der leitung?
$this->cObj->typolink($row["spalte_5"],array('parameter'=>$row['hyperlink']));
georg
Ich hab's:
$marker["###VERLINKUNG###"]=$this->cObj->typolink($row["spalte_5"],array('parameter'=>$row['hyperlink']));
Danke!
Wie Du siehst bin ich auch eben von der Leitung gestiegen! 😉