Zum Inhalt springen

TCE schreibt nicht in tt_news, über CLI Modus

Erstellt am 5. Januar 2010 · 4 Antworten · letzte Antwort am 8. Januar 2010

Tags: tt_news, TYPO3 4, Frage

cefaci ·

Hallo,

weiß jemand woran es liegen könnte, dass ich bei meiner lokalen Typo3 4.2.x Testumgebung (windows) im CLI-Modus über das TCE Daten in tt_news schreiben kann, aber in meiner Server-Umgebung (Linux) nicht.

$data['tt_news']['NEW012345'] = array("title" => "test");
$tce = t3lib_div::makeInstance('t3lib_TCEmain');
$tce->start($data,array());
$tce->process_datamap();

TCE beendet ohne einen Fehler ($TCA->error ist leer), in der SYS Log steht auch nichts (nur wenn ich nicht alle Rechte hatte, sagte er 'Attempt to modify table 'tt_news' without permission'). Mein _cli user hat alle Rechte von seiner Gruppe. Wenn ich dann den Aufruf in einem PHP-Skript auf eine Front-End Seite lege, geht es, aber dann widerum nicht in allen Spalten von tt_news, in den erweiterten Spalten (z.B. von newscalender) wird widerum nicht hinein geschrieben...
Fehlt eine Konfiguration, habe ich irgendwas übersehen?

Gruß,
Titus

cefaci ·

Habe mal t3lib_TCEmain debuggt, dann habe ich gesehn dass das TCA['tt_news'] nicht geladen war, beim durchforsten der typo3-API habe ich aber nicht die Funktion endeckt, wie ich meine typo3conf extensions vorher laden kann, dann habe ich einfach

require_once('../../tt_news/ext_tables.php');
require_once('../../newscalendar/ext_tables.php');
require_once('../../ext_tables.php');

aufgerufen (alle 3 extension denn brauche alle columns für tt_news).
Dann gings weiter bis zum $recordAccess, da sagt er mir dann endlich mal in der typo3 log, dass mein CLI-User keine Rechte hat. 🙂 Unmöglich, denn seine Gruppe darf alles! Irgendetwas muss ich noch laden, weiß aber nicht was...

just2b ·

kommt mir bekannt vor.

ergänz mal das:

		$GLOBALS['PAGES_TYPES'] = array(
		  '254' => array(
			'type' => 'sys',
			'allowedTables' => '*'
		  ),
		  '255' => array(
			'type' => 'sys',
			'allowedTables' => '*'
		  ),
		  'default' => array(
			'type' => 'web',
			'allowedTables' => '*'
		  )
		);

georg

cefaci ·

Hi,
erstmal danke für die Antworten.

@just2b
Habe den Code in mein Aufruf-Skript reingetan, hat nichts gemacht... wo soll ich den genau rein tuen?

@steffenk
Das wird ja in den ext_tables.php alles dann aufgerufen und versorgt. Glaube mir fehlt nur irgendein Aufruf, was z.B. das BE macht, alles richtig zu Laden und zu Versorgen...

Habe folgende Warning im Skript:
Warning: include() [function.include]: Failed opening '/html/typo3/typo3conf//html/typo3/typo3/sysext/t3skin/tca.php' for inclusion (include_path='.:/usr/local/php/lib/php:/usr/local/php/lib/php/PEAR') in /html/typo3/typo3_src-4.2.9/t3lib/class.t3lib_div.php on line 4345

Das steht in der Typo3 Log (wie gesagt User hatte alle Rechte, über die Gruppe):
_cli_mp@LIVE - DB - ! - Einfügen - 'Versuch, einen Datensatz auf Seite 'Test' (12) ohne die nötigen Berechtigungen einzufügen. (Oder die Seite existiert nicht!) (msg#1.1.12)'