Re: [TYPO3-german] TypoScript: getText-Problem mit dataWrap = DB:table:uid:field
Hallo Joey, vielen Dank! Ich war der irrigen Meinung, TypoScript würde bei GP automatisch vor SQL-Injections schützen. Dein Code funktioniert hervorragend, danke! Viele Grüße Jörg Am 03.07.13 16:09, schrieb JoH asenau: Mir wird die gewünschte pid ausgegeben (in meinem Falle 112). Sobald ich den von Philipp vorgeschlagenen data.intval = 1 zusätzlich verwende, erhalte ich allerdings keine Ausgabe mehr. Obwohl ein intval auf den Wert 112 ja eigentlich klappen sollte. intval kommt in der Reihe der stdWrap Funktionen vor insertData. Daher wird erstmal aus dem String ein Integer gemacht, womit insertData dann keinerlei Informationen mehr hat. Da das aber durchaus Sinn macht, den Parameter sauber zu halten, sollte Folgendes gehen: 10 = TEXT 10 { data.data = GP:tx_news_pi1|news data.intval = 1 data.wrap = DB:tx_news_domain_model_news:|:pid } Hast Du eine Erklärung dafür, warum der gute alte Weg mit dataWrap in 4.7 nicht mehr funktioniert? Ehrlich gesagt: Keine Ahnung - ursprünglich hatten wir Chained TypoScript so gebaut, dass es auch für die alten Snippets abwärstkompatibel sein sollte. HDH Joey ___ TYPO3-german mailing list TYPO3-german@lists.typo3.org http://lists.typo3.org/cgi-bin/mailman/listinfo/typo3-german
Re: [TYPO3-german] TypoScript: getText-Problem mit dataWrap = DB:table:uid:field
Hallo Joey, leider kam ich erst jetzt dazu, Deinen Vorschlag zu testen. Super, so klappt es! Mir wird die gewünschte pid ausgegeben (in meinem Falle 112). Sobald ich den von Philipp vorgeschlagenen data.intval = 1 zusätzlich verwende, erhalte ich allerdings keine Ausgabe mehr. Obwohl ein intval auf den Wert 112 ja eigentlich klappen sollte. Hast Du eine Erklärung dafür, warum der gute alte Weg mit dataWrap in 4.7 nicht mehr funktioniert? Viele Grüße Jörg ___ TYPO3-german mailing list TYPO3-german@lists.typo3.org http://lists.typo3.org/cgi-bin/mailman/listinfo/typo3-german
Re: [TYPO3-german] TypoScript: getText-Problem mit dataWrap = DB:table:uid:field
Hallo Philipp, ist hier überhaupt ein Sanitizing nötig, da die PID doch das Ergebnis einer DB-Abfrage ist? Oder machst Du den Typecast hier zur ggf. weiteren Verarbeitung? Mit Joeys Vorschlag bekomme ich den gewünschten Output (die PID 112). Ergänze ich Deine Zeile data.intval = 1 , dann wird nichts mehr ausgegeben. Da das TEXT-Objekt ja über die stdWrap-Funktionen verfügt, rufe ich intval = 1 jetzt direkt (ohne data.) auf und erhalte weiterhin die PID als Ausgabe. Viele Grüße Jörg Am 27.06.13 20:10, schrieb Philipp Gampe: Hi JoH asenau, JoH asenau wrote: data = DB:tx_news_domain_model_news:{GP:tx_news_pi1|news}:pid data.insertData = 1 data.intval = 1 Grüße ___ TYPO3-german mailing list TYPO3-german@lists.typo3.org http://lists.typo3.org/cgi-bin/mailman/listinfo/typo3-german
Re: [TYPO3-german] TypoScript: getText-Problem mit dataWrap = DB:table:uid:field
Mir wird die gewünschte pid ausgegeben (in meinem Falle 112). Sobald ich den von Philipp vorgeschlagenen data.intval = 1 zusätzlich verwende, erhalte ich allerdings keine Ausgabe mehr. Obwohl ein intval auf den Wert 112 ja eigentlich klappen sollte. intval kommt in der Reihe der stdWrap Funktionen vor insertData. Daher wird erstmal aus dem String ein Integer gemacht, womit insertData dann keinerlei Informationen mehr hat. Da das aber durchaus Sinn macht, den Parameter sauber zu halten, sollte Folgendes gehen: 10 = TEXT 10 { data.data = GP:tx_news_pi1|news data.intval = 1 data.wrap = DB:tx_news_domain_model_news:|:pid } Hast Du eine Erklärung dafür, warum der gute alte Weg mit dataWrap in 4.7 nicht mehr funktioniert? Ehrlich gesagt: Keine Ahnung - ursprünglich hatten wir Chained TypoScript so gebaut, dass es auch für die alten Snippets abwärstkompatibel sein sollte. HDH Joey -- Wenn man keine Ahnung hat: Einfach mal Fresse halten! (If you have no clues: simply shut your gob sometimes!) Dieter Nuhr, German comedian Xing: http://contact.cybercraft.de Twitter: http://twitter.com/bunnyfield TYPO3 cookbook (2nd edition): http://www.typo3experts.com ___ TYPO3-german mailing list TYPO3-german@lists.typo3.org http://lists.typo3.org/cgi-bin/mailman/listinfo/typo3-german
Re: [TYPO3-german] TypoScript: getText-Problem mit dataWrap = DB:table:uid:field
Hallo Bernd, Du hast natürlich recht. Ich hatte mein Beispiel vereinfacht, damit es jeder bei sich testen kann. Eigentlich möchte ich dei PID einer News aus tx_news (nicht tt_news) ermitteln. Mein eigentlicher TypoScript-Code sieht folgendermaßen aus: 10 = TEXT 10 { dataWrap = DB:tx_news_domain_model_news:{GP:tx_news_pi1|news}:pid wrap3 = h5Seite {|}/h5 insertData = 1 } Viele Grüße Jörg Am 26.06.13 16:21, schrieb bernd wilke: ähm, warum so kompliziert? alle Seitenangaben sind normalerweise unter {page.feld} (hier also: {page.title}) erreichbar (inklusive languageoverlay!) bernd ___ TYPO3-german mailing list TYPO3-german@lists.typo3.org http://lists.typo3.org/cgi-bin/mailman/listinfo/typo3-german
Re: [TYPO3-german] TypoScript: getText-Problem mit dataWrap = DB:table:uid:field
Hi Jörg, Jörg Hambuch wrote: 10 = TEXT 10 { dataWrap = DB:tx_news_domain_model_news:{GP:tx_news_pi1|news}:pid Du musst einen anderen split char definieren, sonnst kann das nicht klappen, da die Pipe nicht gleichzeitig zum Abtrennen von Wrap und Get Variablen genutzt werden kann. wrap3 = h5Seite {|}/h5 insertData = 1 Wozu ist das denn gut? } Grüße -- Philipp Gampe – PGP-Key 0AD96065 – TYPO3 UG Bonn/Köln Documentation – Active contributor TYPO3 CMS TYPO3 inspiring people to share! ___ TYPO3-german mailing list TYPO3-german@lists.typo3.org http://lists.typo3.org/cgi-bin/mailman/listinfo/typo3-german
Re: [TYPO3-german] TypoScript: getText-Problem mit dataWrap = DB:table:uid:field
Hallo Ralf, danke für Deinen Hinwies. Ich hatte mein Beispiel (dummerweise) vereinfacht, damit es leichter zu testen ist. Mein eigentlich Code sieht so aus: 10 = TEXT 10 { dataWrap = DB:tx_news_domain_model_news:{GP:tx_news_pi1|news}:pid wrap3 = h5News-PID: {|}/h5 insertData = 1 } Ich habe eine Seite, die eine News-Liste aus tx_news (nicht tt_news!) anzeigt. Diese News werden aus verschiedenen Sysfoldern geholt und angezeigt. Ich möchte nun die jeweilige PID zu einer News ermitteln. Das o.a. Beispiel mit der doppelten Nutzung geschweifter Klammern ist nötig, um zuerst den Wert aus GP:tx_news_pi1|news zu ermitteln und diesen dann innerhalb von DB:tx_news_domain_model_news:WERT:pid zu nutzen. Siehe dazu auch http://blog.marit.ag/2009/12/15/datenbankfelder-stdwrap-data/, wo es super erklärt wird. Vielen Dank und schöne Grüße Jörg Am 26.06.13 16:39, schrieb Ralf Schlömer, TYPO3-Mailing-List: insertData = 1 wirkt sich auch auf wrap3 aus. Letztendlich steht da dann h5Seite {MeinSeitentitel}/h5, wobei {MeinSeitentitel} dann als eingeschobener data-Block interpretiert wird. Nur das da nichts bei rauskommt. :) Der bessere Weg wäre wohl: 10 = TEXT 10 { data = page:title wrap = h5Seite {|}/h5 } Grüße, Ralf ___ TYPO3-german mailing list TYPO3-german@lists.typo3.org http://lists.typo3.org/cgi-bin/mailman/listinfo/typo3-german
Re: [TYPO3-german] TypoScript: getText-Problem mit dataWrap = DB:table:uid:field
Hallo Philipp, unter http://blog.marit.ag/2009/12/15/datenbankfelder-stdwrap-data/ wird das Verfahren sehr gut erklärt. Ich glaube, am SplitChar liegt es nicht. Wenn ich mein TypoScript schrittweise (unter TYPO3 4.7.12) ausprobiere, passiert folgendes: 1.) TypoScript: --- 10 = TEXT 10 { dataWrap = DB:tx_news_domain_model_news:{GP:tx_news_pi1|news}:pid } Ausgabe: DB:tx_news_domain_model_news:22:pid (dataWrap löst den Ausdruck in geschweiften Klammern auf zu 22) 2.) TypoScript: --- 10 = TEXT 10 { dataWrap = DB:tx_news_domain_model_news:{GP:tx_news_pi1|news}:pid wrap3 = {|} } Ausgabe: {DB:tx_news_domain_model_news:22:pid} (wrap3 wird in der Reihenfolge nach dataWrap ausgeführt und wickelt um den gesamten Ausdruck noch einmal geschweifte Klammern) 3.) TypoScript: --- 10 = TEXT 10 { dataWrap = DB:tx_news_domain_model_news:{GP:tx_news_pi1|news}:pid wrap3 = {|} insertData = 1 } Ausgabe: in 4.7.12: keine in 4.5: die PID der News (insertData sollte den getText-Ausdruck {DB:tx_news_domain_model_news:22:pid} evaluieren und die PID der News mit der UID 22 zurückgeben Vielen Dank und Grüße Jörg Am 27.06.13 12:06, schrieb Philipp Gampe: Hi Jörg, Jörg Hambuch wrote: 10 = TEXT 10 { dataWrap = DB:tx_news_domain_model_news:{GP:tx_news_pi1|news}:pid Du musst einen anderen split char definieren, sonnst kann das nicht klappen, da die Pipe nicht gleichzeitig zum Abtrennen von Wrap und Get Variablen genutzt werden kann. wrap3 = h5Seite {|}/h5 insertData = 1 Wozu ist das denn gut? } Grüße ___ TYPO3-german mailing list TYPO3-german@lists.typo3.org http://lists.typo3.org/cgi-bin/mailman/listinfo/typo3-german
Re: [TYPO3-german] TypoScript: getText-Problem mit dataWrap = DB:table:uid:field
Am 27.06.13 13:11, schrieb Jörg Hambuch: Hallo Philipp, unter http://blog.marit.ag/2009/12/15/datenbankfelder-stdwrap-data/ wird das Verfahren sehr gut erklärt. Ich glaube, am SplitChar liegt es nicht. Wenn ich mein TypoScript schrittweise (unter TYPO3 4.7.12) ausprobiere, passiert folgendes: 1.) TypoScript: --- 10 = TEXT 10 { dataWrap = DB:tx_news_domain_model_news:{GP:tx_news_pi1|news}:pid } Ausgabe: DB:tx_news_domain_model_news:22:pid (dataWrap löst den Ausdruck in geschweiften Klammern auf zu 22) 2.) TypoScript: --- 10 = TEXT 10 { dataWrap = DB:tx_news_domain_model_news:{GP:tx_news_pi1|news}:pid wrap3 = {|} } Ausgabe: {DB:tx_news_domain_model_news:22:pid} (wrap3 wird in der Reihenfolge nach dataWrap ausgeführt und wickelt um den gesamten Ausdruck noch einmal geschweifte Klammern) 3.) TypoScript: --- 10 = TEXT 10 { dataWrap = DB:tx_news_domain_model_news:{GP:tx_news_pi1|news}:pid wrap3 = {|} insertData = 1 } Ausgabe: in 4.7.12: keine in 4.5: die PID der News (insertData sollte den getText-Ausdruck {DB:tx_news_domain_model_news:22:pid} evaluieren und die PID der News mit der UID 22 zurückgeben ich würde mal sagen, dass es unter 4.5 nicht sauber war wrap3 ist nun mal kein datawrap aber das ganze sollte auch in 4.7 machbar sein. Ich arbeite da gerne mit cObject (COA) und stdWrap, das es mit den neueren Versionen fast überall gibt, und das insbesondere da dann auch kaskadierbar ist und womit man dann auf jeder Ebene mit einem (echten) dataWrap arbeiten kann. bernd -- http://www.pi-phi.de/cheatsheet.html ___ TYPO3-german mailing list TYPO3-german@lists.typo3.org http://lists.typo3.org/cgi-bin/mailman/listinfo/typo3-german
Re: [TYPO3-german] TypoScript: getText-Problem mit dataWrap = DB:table:uid:field
3.) TypoScript: --- 10 = TEXT 10 { dataWrap = DB:tx_news_domain_model_news:{GP:tx_news_pi1|news}:pid wrap3 = {|} insertData = 1 } Ausgabe: in 4.7.12: keine in 4.5: die PID der News (insertData sollte den getText-Ausdruck {DB:tx_news_domain_model_news:22:pid} evaluieren und die PID der News mit der UID 22 zurückgeben ich würde mal sagen, dass es unter 4.5 nicht sauber war wrap3 ist nun mal kein datawrap Das ist so nicht richtig, weil das data in dem Fall ja von insertData übernommen wird. Von daher reicht der Wrap aus und genau so hat das ursprünglich auch schon 2007 funktioniert. http://lists.typo3.org/pipermail/typo3-german/2007-October/039589.html Seit TYPO3 4.5 geht das aber viel einfacher, weil wir damals chained TypoScript eingeführt haben. Sprich: Jeder stdWrap-Parameter verfügt seinerseits über stdWrap-Eigenschaften. Die Lösung für das Beispiel sollte also ab 4.5 vereinfacht so aussehen: 10 = TEXT 10 { data = DB:tx_news_domain_model_news:{GP:tx_news_pi1|news}:pid data.insertData = 1 } HDH Joey -- Wenn man keine Ahnung hat: Einfach mal Fresse halten! (If you have no clues: simply shut your gob sometimes!) Dieter Nuhr, German comedian Xing: http://contact.cybercraft.de Twitter: http://twitter.com/bunnyfield TYPO3 cookbook (2nd edition): http://www.typo3experts.com ___ TYPO3-german mailing list TYPO3-german@lists.typo3.org http://lists.typo3.org/cgi-bin/mailman/listinfo/typo3-german
Re: [TYPO3-german] TypoScript: getText-Problem mit dataWrap = DB:table:uid:field
Hi JoH asenau, JoH asenau wrote: data = DB:tx_news_domain_model_news:{GP:tx_news_pi1|news}:pid data.insertData = 1 data.intval = 1 Grüße -- Philipp Gampe – PGP-Key 0AD96065 – TYPO3 UG Bonn/Köln Documentation – Active contributor TYPO3 CMS TYPO3 inspiring people to share! ___ TYPO3-german mailing list TYPO3-german@lists.typo3.org http://lists.typo3.org/cgi-bin/mailman/listinfo/typo3-german
Re: [TYPO3-german] TypoScript: getText-Problem mit dataWrap = DB:table:uid:field
Am 26.06.13 16:02, schrieb Jörg Hambuch: Hallo, folgendes TypoScript funktioniert unter 4.7.12 nicht. Es erfolgt keine Ausgabe außer Seite . 10 = TEXT 10 { dataWrap = DB:pages:{GP:id}:title wrap3 = h5Seite {|}/h5 insertData = 1 } Unter 4.5 funktioniert es fehlerfrei und gibt Seite plus den Seitentitel aus. Hat sich da etwas in 4.7 geändert oder ist das ein Bug? Habe weder in der TSref noch im Bugtracker etwas dazu gefunden. ähm, warum so kompliziert? alle Seitenangaben sind normalerweise unter {page.feld} (hier also: {page.title}) erreichbar (inklusive languageoverlay!) bernd -- http://www.pi-phi.de/cheatsheet.html ___ TYPO3-german mailing list TYPO3-german@lists.typo3.org http://lists.typo3.org/cgi-bin/mailman/listinfo/typo3-german
Re: [TYPO3-german] TypoScript: getText-Problem mit dataWrap = DB:table:uid:field
insertData = 1 wirkt sich auch auf wrap3 aus. Letztendlich steht da dann h5Seite {MeinSeitentitel}/h5, wobei {MeinSeitentitel} dann als eingeschobener data-Block interpretiert wird. Nur das da nichts bei rauskommt. :) Der bessere Weg wäre wohl: 10 = TEXT 10 { data = page:title wrap = h5Seite {|}/h5 } Grüße, Ralf -Ursprüngliche Nachricht- Von: typo3-german-boun...@lists.typo3.org [mailto:typo3-german-boun...@lists.typo3.org] Im Auftrag von Jörg Hambuch Gesendet: Mittwoch, 26. Juni 2013 16:02 An: typo3-german@lists.typo3.org Betreff: [TYPO3-german] TypoScript: getText-Problem mit dataWrap = DB:table:uid:field Hallo, folgendes TypoScript funktioniert unter 4.7.12 nicht. Es erfolgt keine Ausgabe außer Seite . 10 = TEXT 10 { dataWrap = DB:pages:{GP:id}:title wrap3 = h5Seite {|}/h5 insertData = 1 } Unter 4.5 funktioniert es fehlerfrei und gibt Seite plus den Seitentitel aus. Hat sich da etwas in 4.7 geändert oder ist das ein Bug? Habe weder in der TSref noch im Bugtracker etwas dazu gefunden. Vielen Dank und schöne Grüße Jörg ___ TYPO3-german mailing list TYPO3-german@lists.typo3.org http://lists.typo3.org/cgi-bin/mailman/listinfo/typo3-german ___ TYPO3-german mailing list TYPO3-german@lists.typo3.org http://lists.typo3.org/cgi-bin/mailman/listinfo/typo3-german