Zum Inhalt springen

Übergabe des $conf-Parameters an PlugIns scheitert!?

Erstellt am 20. März 2007 · 3 Antworten · letzte Antwort am 11. April 2007

Tags: Frage

Unbekannter Benutzer ·

Hallo.

Ich habe ein PlugIn dem ich gerne Paramter über TypoScript übergeben würde.

Mein TypoScript:

plugin.tx_meinplugin_pi1 {
   parameter1 = {$constante1}
   parameter2 = {$constante2}
}

Wenn ich jetzt das PlugIn über das Site-Modul im BackEnd einpflege, dann klappt alles! Wenn ich aber das selbe PlugIn über TypoScript einbinde,

10 = TEMPLATE
10 {
	template = FILE
	template.file = pfad/zum/template.html
	workOnSubpart = SUBPART
	
	  // Linke Spalte
	marks.MARKER < plugin.tx_meinplugin_pi1
}

sind die Parameter nicht mehr im $conf-Array.

Gibt es da eine Möglichkeit?

Vielen Dank im voraus!

Gruss, Willi Martens

acfuchs ·

Hallo,

ich habe das selbe Problem. Hast Du eine Lösung gefunden?

Mein aktuelles Problem:
Ich habe mir im TS 3 Konstanten definiert die mir die StoragePIDs speichern. Im FE-Plugin scheinen diese 3 Werte auch erfolgreich auf, aber im BE-Modul leider nicht.

Update:
Ich habe nun alles in das Page Setup geschrieben, in welche ich meine Extension eingebunden habe. Im FE kann ich ohne Probleme die Werte aus dem TS auslesen, aber leider happert es noch mit dem BE. Angeblich kann man die Werte mit der Methode t3lib_BEfunc::getModTSconfig im BE auslesen. Geht aber leider nicht. ;-( Wenn ich mir das Array ausgeben lasse erhalte ich immer nur ein leeres Array.

Array ( [value] => [properties] => )

Beispiel Page Setup:

plugin.tx_xxx_pi1 {
	# Storage PID für neueingetragenen Schulen
	pidNewSchools = 134
	# Storage PIF für die aktuellen Schulen
	pidCurrentSchools = 129
	# Storage PID für das Archiv
	pidOldSchools = 133
}

mod.web_txxxxM1 {
	# Storage PID für neueingetragenen Schulen
	pidNewSchools = 134
	# Storage PIF für die Aktuellen Schulen
	pidCurrentSchools = 129
	# Storage PID für das Archiv
	pidOldSchools = 133
}

Beispiel mod1/meinmodul.php:

$modTSconfig = t3lib_BEfunc::getModTSconfig($id, "mod.".$GLOBALS["MCONF"]["name"]);

Ich habe auch schon probiert den TSroot (von der Mehtode getModTSconfig) von mod.xxx auf plugin.xxx umzuschreiben, aber auch hier gibt er nur ein leeres Array zurück.

MfG
Anton

acfuchs ·

Hallo!

Ich hab es nun so (für mich) gelöst (nachdem ich einige "nette" sinnlose Stunden mit t3lib_BEfunc::getModTSconfig verbracht habe, gebe ich damit auf):

Alle Einstellungen aus dem TS raus und in eine eigene Tabelle (tx_extensionname_settings) gespeichert.
In meinem BE Modul habe ich eine Seite mit 'Einstellungen' eingerichtet wo die jeweiligen PIDs und diversen Daten einfach und nur einmalig eingetragen werden müssen.
Anschliessend mein FE Plugin und BE Modul umgeschrieben das er die nötigen Daten aus meiner Einstellungstabelle ausliest und ggfls. dem $conf-Array hinzufügt.
Somit habe ich nun von jeder Funktion usw. Zugriff auf meine Einstellungen.

MfG & frohe Ostern

Anton

Unbekannter Benutzer · · Beste Antwort

Hallo!

Habe eine elegante und einfache Lösung gefunden.

1. Habe ein Contentelement mit dem von mir benötigten PlugIn definiert
2. Das Contentelement mit TypoScirpt eingebunden (Tutorial: http://www.typo3-tutorials.org/tutorials/typoscript/globale-inhaltselemente-fuer-seiten.html)

Vorteile:
- das Contentelement kann global eingesetzt werden
- Parameter können sowohl über TypoScript als auch über Flexforms übergeben werden

MfG, Willi