hallo zusammen,
ich hab dieses thema bereits schon unter einem anderen thread erwähnt, aber möchte dies wegen dem fehlendem feetback nochmal konkreter beschreiben.
ich möchte gern den refferer ermitteln, welches ich als ausgabe schon geschafft habe (PLATZHALTER.data = getenv : HTTP_REFERER).
nun möchte ich das ergebnis von getenv : HTTP_REFERER in eine if packen um dann die unterscheidung zu treffen. leider geht er niemals in die anweisung, also gehe ich davon aus, das ich ein fehler in der syntax haben muss, da ich mit dem kopiertem wert der ausgabe vergleiche.
[globalVar = getenv : HTTP_REFERER = meineDomain.de]
machwas....
[global]
ich würde mich sehr freuen, wenn mir jemand helfen könnte. ich habe allein gestern stunden daran gesessen und kam auf keinen grünen zweig.
lg, nick
Das geht nicht?
[hostname = www.test.de]
Anweisung...
[end]
immer diese crosspostings ... tststs 😃
ich habe es nun so, aber leider auch ohne erfolg.....es wird immer der else-teil ausgeführt
[hostname = test.domain.com]
page.10.marks.TITLE.wrap = | sdfsdfsdf
[else]
page.10.marks.TITLE.wrap = | aaaaa
ist daran etwas falsch?
Hier ein Ausschnitt aus einer aktuellen Installation von uns:
[globalString = HTTP_HOST= *documenting.de]
page.10.marks.DOKULOGO = HTML
page.10.marks.DOKULOGO.value = <img src="bild.jpg" />
[ELSE]
page.10.marks.DOKULOGO = HTML
page.10.marks.DOKULOGO.value = <img src="bild2.jpg" />
[END]
kann es sein, das es an meiner art zu testen liegt?
ich habe nun folgendes...typo3 ist bei mir lokal installiert. ich hab mir nun eine test.html erstellt, welche meine indexseite von typo3 über die ip per iframe einbindet und diese, nach dem erstellen einer subdomain auf meinem server, in das subdomainverzeichnis gelegt. nun prüfe ich per ts (mit der oben genannten if anweisung) welche hostname benutzt wird. kann es vielleicht sein, das dieser garnicht über den frame zu erkennen ist? kann ich mir den hostnamen testweise ausgeben lassen, um zu prüfen mit was für einem hostname verglichen wird, bzw. welcher erkannt wurde? gibt es vielleicht eine andere möglichkeit (welche funktionssicher ist) die hostname-geschichte zu test?
danke schon mal für die antwort!
lg, nick
nun verstehe ich garnichts mehr....ich habe mal testweise folgende anweisung eingebaut, die meines wissens true sein sollte und es passiert immer noch nichts:
[globalString = test = test]
page.10.marks.TITLE.wrap = | sdfsdfsdf
[else]
page.10.marks.TITLE.wrap = | 222222
[global]
es wird weiterhin der else teil ausgeführt, obwohl ich den ganzen chache gelöscht habe...
ok, dann hier nochmal ...
page.10.marks.TITLE.wrap = | aaaaa
[hostname = test.domain.com]
page.10.marks.TITLE.wrap = | sdfsdfsdf
[global]
Conditions sind keine php-if/else-Abfragen
Zuerst die default-Anweisung, dann die Conditions, die das default überschreiben.
else gibts nicht.
ok das werde ich gleich mal probieren, vielen vielen dank!
zu meiner anderen frage, wann kann denn der richtige hostname ermittelt werden? bei iframes (einbindung der typo3-index)? bei weiterleitungen (header("location...."); auf die typo3-index ) ?
wie teste ich das ambesten? ich habe nur eine lokal installierte version und subdomains? was ist der sicherste weg bzw. wie kann ich es sicher testen?
lg, nick
richte eine subdomain ein und lass die auf das root-verzeichnis zeigen, unter windows kannst Du das in der hosts einfach eintragen. Mit iframes gibts nur Probleme.
ich habe mir nun eine gratis domain angelegt und verweise nun auf meinen localen space (üper ip).
folgend sieht der code aus:
[hostname = unsere-homepage.ch.vu]
page.10.marks.TITLE.wrap = | sdfsdfsdf
[global]
und
[hostname = www.unsere-homepage.ch.vu]
page.10.marks.TITLE.wrap = | sdfsdfsdf
[global]
wenn man mal auf www.unsere-homepage.ch.vu guckt (test-hp), passiert nichts #angry#
gibt es eine möglichkeit mir den hostnamen ausgeben zu lassen?
mit getenv : HTTP_HOST bekomme ich nur die ip...
NickD schrieb
gibt es eine möglichkeit mir den hostnamen ausgeben zu lassen?
mit getenv : HTTP_HOST bekomme ich nur die ip...
temp.text = TEXT
temp.test.data = getIndpEnv: TYPO3_REQUEST_URL
vielen dank just2b....nun stehe ich kurz vor der lösung.
als hostname bekomme ich folgendes zurückgeliefert, egal mit welcher domain ich die page aufrufe http://192.168.42.42/typo3/
wie kann das sein?
p.s.: die 192.168..... ist die lokale rechner-ip, auf dem typo3 installiert ist
wenn ich mir den referer ausgeben lasse, wird das richtige ausgegeben...
temp.test.data = getIndpEnv: HTTP_REFERER
leider funktioniert trotzdem die if nicht:
[globalVar = getIndpEnv: HTTP_REFERER = perCopyAndPasteEingefuegt]
#tu was
[global]
warum geht selbst diese if nicht?
[globalVar = 1 = 1]
#mach was
[global]
wenn ich das richtig verstanden habe, weist man der variable globalVar = 1 zu und vergleicht diese ob es 1 ist oder nicht? nur leider geht er nie in die schleife!?
was mache ich falsch?
Hallo NickD,
kann es sein, dass Du die Bedingung innerhalb geschweifter Klammern stehen hast?
nein ich habe sie ganz unten....das ich keine if's in klammern stehen haben darf, weiß ich....irgendwie dachte ich bis jetzt, das ich mit ts einigermaßen zurecht komme, nur jetzt bekomme ich noch nicht einmal die einfachste if hin.
funktioniert das bei euch, wenn ihr [globalVar = 1 = 1] ... [global] schreibt?
hier mal mein ganzer code:
#config
config.spamProtectEmailAddresses = 1
config.changeLinksForAccessRestrictedPages = 72
page = PAGE
page.typeNum = 0
#<INCLUDE_TYPOSCRIPT:source="file:fileadmin/script.ts">
page {
# Body und Meta-Tags
bodyTag = <body bgcolor=#FFFFFF>
stylesheet = fileadmin/style.css
meta.AUTHOR = Nicky Mike Schrader
meta.DESCRIPTION = Das ist meine Testseite
#seitenheader
headerData = COA
headerData.11 = TEXT
headerData.11.value = <script language="javascript" type="text/javascript" src="fileadmin/tiny_mce/tiny_mce.js"></script><script language="javascript" type="text/javascript">tinyMCE.init({mode : "textareas",theme : "advanced",plugins : "devkit,style",theme_advanced_buttons3_add : "fontselect,fontsizeselect",theme_advanced_toolbar_location : "top",theme_advanced_toolbar_align : "left",theme_advanced_path_location : "bottom",content_css : "example_full.css",plugin_insertdate_dateFormat : "%Y-%m-%d",plugin_insertdate_timeFormat : "%H:%M:%S",extended_valid_elements : "hr[class|width|size|noshade],font[face|size|color|style],span[class|align|style]",theme_advanced_resize_horizontal : false,theme_advanced_resizing : true,nonbreaking_force_tab : true});;function popupPage(url,titel) { window.open(url, titel, "location=no,scrollbars=yes,menubars=no,toolbars=no,resizable=yes, width=1000, height=800");}</script>
#Designvorlage einbinden
10 = TEMPLATE
10.template = FILE
10.template.file = fileadmin/vorlage.html
10.workOnSubpart = DOKUMENT
#Platzhalter füllen
10.marks{
STARTPAGE < plugin.tx_eustartpage_pi1
#Logo einbinden
LOGO = IMAGE
#LOGO.file = GIFBUILDER
#LOGO.file = fileadmin/pics/logo.gif
#Seiteninhalt
INHALT = CONTENT
INHALT{
table = tt_content
}
#Seitentitel
TITLE = TEXT
#TITLE.field = title
#TITLE.wrap = <h1><b> <font color="black">|</font></b></h1>
#TITLE.data = getIndpEnv: TYPO3_REQUEST_URL
TITLE.data = getenv: HTTP_HOST
#Menü erstellen
MENU_LINKS = HMENU
MENU_LINKS.special = directory
MENU_LINKS{
entryLevel = 1
1 = GMENU
1.NO = 1
1.NO {
XY = 178, 24
backColor=#ee8a1f
# Text fuer GrafikMenu generieren
10 = TEXT
10.text.field = title
10.text.wrap = - |
10.fontColor = #000000
10.fontFile = fileadmin/fonts/Share-TechMono.ttf
10.fontSize = 15
10.offset = 10,20
# weisse Linie generieren
20 = IMAGE
20.file = GIFBUILDER
20.file{
XY = 178,2
backColor = #FFFFFF
}
20.offset = 0,23
}
# Aktuelle Seite
1.CUR < .1.NO
1.CUR.backColor = #FFFFFF
1.CUR.10.fontColor = #000000
# Rollover-Effekt
1.RO < .1.NO
1.RO.backColor = #000000
1.RO.10.fontColor = #ee8a1f
}
}
}
#[globalVar = TSFE:id > 0]
#[globalString = HTTP_HOST=*.*.com]
[globalVar = 1 = 1]
page.10.marks.TITLE.wrap = | if!!!
[global]
#[globalVar = getenv: HTTP_HOST = localhost]
#page.10.marks.TITLE.wrap = | juhuuuuuuuuuuuuuuuuuuu
#TITLE.value = timo
#[global]
#page.10.marks.TITLE.wrap = | juhuuuuuuuuuuuuuuuuuuu
#[userFunc = check_sub(getIndpEnv: HTTP_REFERER)]
#page.10.marks.TITLE.wrap = | juhuuuuuuuuuuuuuuuuuuu
#[global]
#Gast
page.10.marks.MENU_LINKS.special.value = 75,73
page.10.marks.MENU_LINKS.1.showAccessRestrictedPages = 76
#Agntur-Basis
[usergroup = 1]
page.10.marks.MENU_LINKS.1.showAccessRestrictedPages = 77
page.10.marks.MENU_LINKS.special.value = 77,25,74
[global]
#Agentur-Gold
[usergroup = 3]
page.10.marks.MENU_LINKS.special.value = 22,25,74
[global]
#Künstler
[usergroup = 4]
page.10.marks.MENU_LINKS.special.value = 23,25,74
[global]
#User
[usergroup = 5]
page.10.marks.MENU_LINKS.special.value = 77,25,74
[global]
ich habe nun mein template auf das minimum minimiert und es geht immer noch nicht...:
page = PAGE
page.10 = TEXT
page.10.data = getenv: HTTP_HOST
[globalVar = getenv: HTTP_HOST = www.meineDomain.de]
page.10.value = HELLO WORLD, ES GEHT
[global]
wenn es nicht geht, gibt er einfach den http_host aus, welchen ich auch direkt kopiert und in die if kopiert habe. wenn er jedoch in die if gehen sollte, müsste auf dem bildschirm "hello world..." zu sehen sein.
irgendwie werde ich aus dieser if-syntax nicht schlau. selbst folgendes ist ohne ergebnis:
[globalVar = 1 = 1]
#mach was
[global]
oder
[globalVar = test = test]
#mach was
[global]
in beiden fällen geht er nicht in die if anweisung! wie kann das sein? wenn ich das richtig verstanden habe, weise ich zu und dann vergleiche ich!? ich schiebe ne 1 rein und erwarte eine.
irgendwie habe ich das gefühl, das die sache nicht an der getenv:HTTP_HOST geschichte liegt (da es richtig ausgegeben wird), sondern an der if!
habt ihr wirklich die if syntax so wie ich? warum gehen meine beiden beispiele mit der direktzuweisung nicht?
lg, nick