Zum Inhalt springen

mein typoscript setup in pi1-klasse auslesen?

Erstellt am 7. Januar 2008 · 6 Antworten · letzte Antwort am 9. Januar 2008

Tags: Frage

TheFreeman ·

Hi,

ich habe in die Datei setup.txt folgendem Inhalt eingefügt:

plugin.tx_dskameraprofile_pi1 = USER
plugin.tx_dskameraprofile_pi1 {
	target = _self
	manuFacListID = 52
	cameraListID = 46
}

jetzt müsste ich das ganze doch in der class.tx_dskameraprofile_pi1.php einfach über

$conf['cameraListID'].' - '.$conf['target']

einbinden können, oder?
An dieser Stelle gibt er aber nichts aus. #angry#

InforMedic ·

Fast! Damit rufst du es ab, insofern eingebunden:

Eingebunden wird deine setup.txt mit folgender Zeile in der Datei ext_localconf.php -> glaube ich!

t3lib_extMgm::addTypoScript($_EXTKEY,'setup','
	tt_content.shortcut.20.0.conf.tx_myext_test_data = < plugin.'.t3lib_extMgm::getCN($_EXTKEY).'_pi1
	tt_content.shortcut.20.0.conf.tx_myext_test_data.CMD = singleView
',43);

Habe auch gesehen, dass dies in der Datei ext_emconf.php auch angeben wird:

[...]s:28:"ext_typoscript_constants.txt";s:4:"ce14";s:28:"ext_typoscript_editorcfg.txt";s:4:"085d";s:24:"ext_typoscript_setup.txt";[...]

Deine Main Funktion müsste ungefair wie folgt aussehen:

	/**
	 * The main method of the PlugIn
	 *
	 * @param	string		$content: The PlugIn content
	 * @param	array		$conf: The PlugIn configuration
	 * @return	The		content that is displayed on the website
	 */
	function main($content,$conf)	{
		debug($conf, "conf");
		$this->init($conf);	// Initialize things
		//debug($this->conf, "this->conf");
		//debug($this->fConf, "fConf");
		switch($this->code) {
			case 'LIST':
				$content = $this->displayList();
			break;
			case 'FORM':
				list($t) = explode(':',$this->cObj->currentRecord);
				$this->internal['currentTable']=$t;
				$this->internal['currentRow']=$this->cObj->data;
				$content .= $this->displayForm();
			break;
			default:
				$content = $this->displayHelp();
			break;
		}
		// Return the substituted content
		return $this->pi_wrapInBaseClass($content);
	}

Deine Setup.txt ungefäir so:

###
# This is the default TS-setup for the new tx_myext_pi1 standard template: EXT:my_ext/pi1/tx_myext_pi1.tmpl
#
# (see Section Reference in the manual for more options & parameters)
#
# tx_myext_pi1 v 0.0.0
###
plugin.tx_myext_pi1 = USER_INT
plugin.tx_myext_pi1 {
	templateFile1 = {$plugin.tx_myext_pi1.file.templateFile1}
	templateFile2 = {$plugin.tx_myext_pi1.file.templateFile2}
	userFunc = main
	code.field = select_key
	[....]
}
TheFreeman ·
just2b schrieb

ist das static TS denn eingebunden? Funkts wenn das direkt im ext template steht?

georg

Nein, ich hab´s im Kickstarter nicht eingebunden gehabt.

Folgendes steht in meiner ext_localconf.php schon drin:

## WOP:[pi][1][addType] / [pi][1][tag_name]
  ## Extending TypoScript from static template uid=43 to set up userdefined tag:
t3lib_extMgm::addTypoScript($_EXTKEY,'editorcfg','
	tt_content.CSS_editor.ch.tx_dskameraprofile_pi1 = < plugin.tx_dskameraprofile_pi1.CSS_editor
',43);


## WOP:[pi][1][addType]
t3lib_extMgm::addPItoST43($_EXTKEY,'pi1/class.tx_dskameraprofile_pi1.php','_pi1','list_type',1);


## WOP:[pi][1][...]
t3lib_extMgm::addTypoScript($_EXTKEY,'setup','
	tt_content.shortcut.20.0.conf.tx_dskameraprofile_kamera = < plugin.'.t3lib_extMgm::getCN($_EXTKEY).'_pi1
	tt_content.shortcut.20.0.conf.tx_dskameraprofile_kamera.CMD = singleView
',43);

Aber was hat die ID 43 zu sagen?

TheFreeman ·

OK, also wenn ich meine Werte in T3 in eine Setup schreibe, dann geht alles soweit.
Das heisst, dass das setup.txt immer noch nicht eingebunden wird.
Ich habe aber alles so, wie es InforMedic angegeben hat.

InforMedic ·

Dann kanns daran nicht liegen. Die 43 ist ok, irgendein Standard - weiss nicht mehr was das betraf!

Du kannst im Kickstarter glaube ich noch angeben das du static TSCode einbinden willst. Ich glaube setup.txt und constants.txt landet dann in pi1/static/..

Ich habe das bei mir nicht so gemacht, bei mir werden die beiden Dateien direkt im Extordner und nicht in einem Unterordner mit folgendem Namen angelegt:

  • ext_typoscript_constants.txt
    ext_typoscript_setup.txt

Glaub nur so werden diese autom. geladen. In anderen Extensions wo das so angeben ist, sind diese autom. über den Constant Editor verfügbar da autom. inkludiert.

Über pi1/static/setup.txt muss das glaub ich direkt entweder als ext-template oder in der Seitenconfig über "include static" eingebunden werden.

Check das mal diese Verschiedenen Einstellungen wie ts bei dir im Kickstarter angegeben ist und wie dieser die Ext-Ordnerstruktur erstellt..

Gruß
Info

TheFreeman ·

Hallo Info.

Hab ich gemacht und ich hab die zwei Dateien auch ins EXT:root gelegt.
Jetzt funktionerts endlich! 😃

Vielen lieben Dank auch.