Hallo,
folgendes Script klappt nicht:
lib.productInformation = CONTENT
lib.productInformation {
table = tx_ebsprod_product
select {
pidInList = 72
andWhere.data = register:productUid
andWhere.intval = 1
andWhere.wrap = uid=|
selectFields = materials
}
renderObj = TEXT
renderObj {
field = materials
required = 1
wrap = |
}
}
Dieses Script klappt aber:
lib.productInformation = CONTENT
lib.productInformation {
table = tx_ebsprod_product
select {
pidInList = 72
andWhere.data = register:productUid
andWhere.intval = 1
andWhere.wrap = uid=|
# selectFields = materials
}
renderObj = TEXT
renderObj {
field = materials
required = 1
wrap = |
}
}
So...und jetzt der Hammer...weiter oben in meinem Script habe ich noch so eine Abfrage (ähnlich Script 1) nur steht dort statt "materials" halt "parameters" und das klappt!!!
Wieso findet selectFields meine Tabellenspalte "materials" nicht...wenn ich mit * arbeite ist sie ja da?!
Fettes Staunen von
froemken
Jaaa...Loool was'n das?!
Hab jetzt die uid noch mit rein genommen und schon klappt's!
Kann mir das mal jemand erklären?
lib.productInformation = CONTENT
lib.productInformation {
table = tx_ebsprod_product
select {
pidInList = 72
andWhere.data = register:productUid
andWhere.intval = 1
andWhere.wrap = uid=|
selectFields = uid, materials
}
renderObj = TEXT
renderObj {
field = materials
required = 1
wrap = |
}
}
Da geh ich ja kaputt:
Hab grad den entsprechenden Bereich in der class.tslib_content.php gefunden:
$queryParts['SELECT'] = $conf['selectFields'] ? $conf['selectFields'] : '*';
Es wird nix umgewandelt...steht was drin, dann wirds auch genommen...nur mein "materials" nicht. Hmmm
froemken
Jetzt hab ich mir sogar schon eine kleine Ausgabefunction gebastelt...also die Daten sind in der exec_getQuery korrekt angekommen:
Array
(
[SELECT] => materials
[FROM] => tx_ebsprod_product
[WHERE] => tx_ebsprod_product.pid IN (72) AND uid=12 AND tx_ebsprod_product.deleted=0 AND tx_ebsprod_product.hidden=0
[GROUPBY] =>
[ORDERBY] =>
[LIMIT] =>
)
Array
(
[pidInList] => 72
[andWhere.] => Array
(
[data] => register:productUid
[intval] => 1
[wrap] => uid=|
)
[selectFields] => materials
)
Boah...ich weiß jetzt zumindest mal wo das Problem ist. Es liegt an der Variable $GLOBALS['TSFE']->recordRegister
Ich habe mehrere Libs, die ich auf der Webseite anzeigen lasse. 2 Libs davon greifen sogar auf die gleiche Tabelle zu. Das merkt sich TYPO3 und sobald mein 2ter Lib dran ist, meckert TYPO3 "Ey...diese Tabelle habe ich doch schon mal gerendert, also mach ich jetzt NIX".
Ich arbeite mit der rg_tabs, da müssen halt mehrere Libs auf einer Seite sein, aber ich bin nicht der Einzige mit diesem Problem. Da es im Internet noch keine Lösungen dazu gab, habe ich einen Bug reportet:
http://bugs.typo3.org/view.php?id=11238
froemken