Hallo!
ich brauche im Hyperlink die vollständige URL inkl. http:/... und nicht nur den internen typolink in einer Routine, da die Daten in einer XML-Datei exportiert werden.
Mit GetTypolink bekomme ich ja index.php?id=57, aber wie bekomme ich das ganze http://www.meineseite.de/index.php?id=57 hin ohne das explizit manuell zuzuweisen?
Jemand eine Idee
XML Beispiel:
# XML Ausgabe
xml = PAGE
xml {
typeNum = 99
10 = HMENU
10 {
special = directory
special.value = 8
1 = TMENU
1.wrap = <ebene>|</ebene>
1.expAll = 1
1.NO {
doNotLinkIt = 1
stdWrap.cObject = COA
stdWrap.cObject.wrap = <menu>|</menu>
stdWrap.cObject {
10 = TEXT
10 {
typolink {
parameter.field = uid
returnLast = url
}
wrap = <url>{$baseurl}|</url>
}
20 = TEXT
20 {
field = uid
wrap = <pid>|</pid>
}
30 = TEXT
30 {
field = title
wrap = <title>|</title>
}
#40 = TEXT
#40 {
# field = subtitle
# wrap = <subtitle>|</subtitle>
#}
}
}
1.CUR = 1
1.CUR < .1.NO
1.CUR.stdWrap.cObject.50 = TEXT
1.CUR.stdWrap.cObject.50.value = <act>1</act>
#2 < .1
}
}
[globalVar = GP:type = 99]
config.disableAllHeaderCode = 1
config.additionalHeaders = Content-type: text/xml
[end]
In den Constants haben wir einmal die BaseURL festgelegt:
baseurl = http://www.wunschtacho.de/
Ich habe es jetzt noch besser geschafft. Mir gefiel der Ansatz nicht, irgendwo eine baseurl-Konstante manuell einzugeben. Diese Routine setzt nur voraus, dass es eine domain record im Seitenbaum gibt und nutzt dann den ersten gefundenen domain Eintrag.
function getDomain() {
$sys_page = t3lib_div::makeInstance('t3lib_pageSelect');
$rootLine = $sys_page->getRootLine($GLOBALS['TSFE']->id);
$sys_befunc = t3lib_div::makeInstance('t3lib_BEfunc');
$domain = $sys_befunc->firstDomainRecord($rootLine);
return $domain;
}
tbd schrieb
Ich habe es jetzt noch besser geschafft. Mir gefiel der Ansatz nicht, irgendwo eine baseurl-Konstante manuell einzugeben. Diese Routine setzt nur voraus, dass es eine domain record im Seitenbaum gibt und nutzt dann den ersten gefundenen domain Eintrag.
function getDomain() {
$sys_page = t3lib_div::makeInstance('t3lib_pageSelect');
$rootLine = $sys_page->getRootLine($GLOBALS['TSFE']->id);
$sys_befunc = t3lib_div::makeInstance('t3lib_BEfunc');
$domain = $sys_befunc->firstDomainRecord($rootLine);
return $domain;
}
sieht gut aus, nur wo hast du das eingefügt, bzw. wann / von wo aus wird es ausgeführt?