Zum Inhalt springen

USER / USER_INT & tt_content

Erstellt am 30. April 2005 · 3 Antworten · letzte Antwort am 5. Mai 2005

Tags: Frage

dirk01 ·

Hallo, nach langem suchen und probieren bitte ich jetzt um Hilfe,

folgendes Phänomen:

wenn ich in einer selbst erstellten Extension „USER cObjects are cached. Make it a non-cached USER_INT instead“ nicht aktiviere, dann werden keine Werte aus tt_content ausgelesen?!

Setze ich davor ein Häkchen, dann funktioniert es, der Content wird jetzt aber nicht gecached.

Ausschnitt Setup Code:

temp.druck.20{
	table = tt_content
	select {
	pidInList = this
	orderBy = sorting
	where = colPos = 0
	max = 1
	}
                renderObj = TEXT                
                renderObj{                
                field = pid
                wrap = <a target="_blank" href="index.php?id= | &amp;type=1">Bildschirm Druckversion</a></div>
                }
                if {  
                isFalse.field = tx_meineextension_pdf
                negate = 1
                }
}

Weiß jemand woran das liegt?

Danke,
Dirk

dirk01 ·

Hat denn niemand eine Erklärung? Für mich ist das Problem nicht zu verstehen. Ich habe mal alle erzeugten Dateien aus beiden Versionen miteinander verglichen. Der einzige Unterschied war (bei der nicht gecacheden Version):

$this->pi_USER_INT_obj=1;	// Configuring so caching is not expected. This value means that no cHash params are ever set. We do this, because it's a USER_INT object!

in der class.tx_meineextension_pi1.php

und

t3lib_extMgm::addPItoST43($_EXTKEY,"pi1/class.tx_oberbaublaetter_pi1.php","_pi1","list_type",0);

die "0" statt der "1" bei nicht der gecacheden Version

dirk01 ·

heul, heul, hat denn niemand eine Idee? Das Problem muss doch lösbar sein?!

Ideen von jedermann sind willkommen.

Danke & Gruß
dirk

dirk01 ·

Meine Lösung:

Im Kickstarter für die Extension bei "USER cObjects are cached. Make it a non-cached USER_INT instead" ein Häckchen setzen.

In "class.tx_meineextension_pi1.php":

var $allowCaching = "";

class ...
		// Configure caching
		$this->allowCaching = $this->conf["allowCaching"]?1:0;
		if (!$this->allowCaching) {
		  $GLOBALS["TSFE"]->set_no_cache();
		}
...

In der Setup des root template:

plugin.tx_meineextension_p1.allowCaching = 0

Und das wars scheinbar schon.