[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