[TYPO3-german] Extbase: Query beeinflusst anderen Query?!
Jan Kornblum
jan.kornblum at gmx.de
Wed Jun 19 12:40:23 CEST 2013
Hi,
> Ja, habe die Variablen sogar schon unbenannt aber trotzdem das selbe
> Chaos und es sind ja auch zwei getrennte Funktionen.
Ich weiss nicht ob das im direkten Zusammenhang steht, aber ich habe
gerade folgendes Phänomen:
Ein Plugin ist zweimal auf einer Seite eingebunden, einmal per TS,
einmal als CE. In beiden Plugins wird ein unterschiedlichen Controller
/ Action aufgerufen, jedoch in beiden wird auf das gleiche Repository
zugrgriffen.
In der TS Einbindung wird innerhalb des Repository das Repository mit
findAll() ausgelesen, dann wird über alle Objekte iteriert und dabei
eine nicht persistente Property gesetzt:
public function findAllMarkedActive() {
$shapes = $this->findAll();
foreach($shapes as $shape){
if($shape->getProducts()->count() > 0){
// Nicht persistente Property!
$shape->setActive(TRUE);
}
}
return $shapes;
}
In der CE Einbindung wird das gleiche Repository mit findAll()
ausgelesen, jedoch haben hier alle Objekte die (nicht persistente)
Property (die in der TS Einbindung gesetzt wird) schon gesetzt!?
public function
findAllMarkedActiveByElement(Tx_Ext_Domain_Model_Element $element) {
// HIER sind alle $shapes schon "manipuliert"
$shapes = $this->findAll();
foreach($shapes as $shape){
foreach($shape->getProducts() as $product){
if($product->getShape() == $shape && $product->getElement() ==
$element){
// Nicht persistente Property!
$shape->setActive(TRUE);
}
}
}
return $shapes;
}
Sobald ich die zweite Einbindung des Plugins auf der Seite über
Typoscript rausnehme, sind die Objekte in der CE Einbindung richtig!
Hat jemand eine Idee, was hier falsch ist?
Danke und Grüße, Jan
More information about the TYPO3-german
mailing list