Re: [TYPO3-german] TypoScript: getText-Problem mit dataWrap = DB:table:uid:field

2013-07-04 Diskussionsfäden Jörg Hambuch

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

2013-07-03 Diskussionsfäden Jörg Hambuch

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

2013-07-03 Diskussionsfäden Jörg Hambuch

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

2013-07-03 Diskussionsfäden 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

--
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

2013-06-27 Diskussionsfäden Jörg Hambuch

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

2013-06-27 Diskussionsfäden 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
-- 
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

2013-06-27 Diskussionsfäden Jörg Hambuch

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

2013-06-27 Diskussionsfäden 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



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

2013-06-27 Diskussionsfäden bernd wilke

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

2013-06-27 Diskussionsfäden JoH asenau

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

2013-06-27 Diskussionsfäden 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
-- 
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

2013-06-26 Diskussionsfäden bernd wilke

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

2013-06-26 Diskussionsfäden 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

-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