Hallo,
wahrscheinlich wieder eine zu dumme Frage, ich finde es dennoch nicht auf Anhieb.
Ich habe eine Extension, die mehrere Inhaltstypen zur Verfügung stellt (erweitert tt_content). Nun möchte ich diese EXT konfigurieren, z.B. mit dem Pfad zum angepassten EXT-HTML-Template. Das klappt z.B. so:
tt_content.regio_pagecontent_pi1 {
20.templateFile = fileadmin/template/ext/regio_pagecontent_template.html
}
Darauf kann ich dann in "class.tx_regiopagecontent_pi1.php" auch zugreifen mit:
$conf['templateFile']
Da die EXT aber mehrere Inhaltstypen enthält, muss ich auf diese Weise jeden CType gesondert konfigurieren im TypoScript. Da aber noch mehr konfigurierbar werden soll, ist das unübersichtlich und umständlich (= fehlerträchtig).
Was ich suche ist sowas wie bei "tt_news" für die gesamte EXT:
plugin.tt_news {
templateFile = fileadmin/template/ext/tt_news_template.html
# usw.
}
Ich weiß nur nicht, wie ich an diesen Wert wieder rankomme in der Ausprogrammierung des Inhaltstyps...
Danke,
Thorsten
genau so:
plugin.regio_pagecontent_pi1 {
templateFile = fileadmin/template/ext/regio_pagecontent_template.html
}
Hallo,
Wald? Bäume! Kannst Du das bitte mal etwas ausführlicher sagen? Erstens kriege ich es nicht hin, den so in TS gesetzten Wert aus der $conf auszulesen (weil er da nicht drin ist, ich lasse mir testweise für "_pi1" den Array-Inhalt anzeigen), zum zweiten ist doch "plugin.regio_pagecontent_pi1" wieder nur "_pi1", oder? Aber ich habe doch noch weitere Content-Typen ("_pi2" etc.).
Grüße,
Thorsten
liegt wohl an der Benennung:
plugin.tx_regiopagecontent_pi1
plugin.tx_regiopagecontent_pi2
etc ...
Hallo,
I don't think so.
plugin.tx_regiopagecontent_pi1 {
testValue = TEST-VALUE
}
tt_content.regio_pagecontent_pi1 {
20.templateFile = fileadmin/template/ext/regio_pagecontent_template.html
}
liefert mir quasi (veranschaulicht):
$conf = array(
"userFunc" => "tx_regiopagecontent_pi1->render_text",
"text" => "COA",
"text." => Array,
"templateFile" => "fileadmin/template/ext/regio_pagecontent_template.html");
D.h. mit zweiter TS-Variante (tt_content) kriege ich für den Inhaltstyp ("_pi1") meine Konfiguration, wie ich eine Konfiguration für die gesamte Extension hinkriege, ist mir immer noch fremd.
Grüße,
Thorsten
Moin nochmal,
ich habe mir jetzt erstmal mit diesem Workaround geholfen:
temp.regio_pagecontent.config {
templateFile = fileadmin/template/ext/regio_pagecontent_template.html
dateFormat = %d.%m.%y
}
tt_content.regio_pagecontent_pi1.20.config < temp.regio_pagecontent.config
tt_content.regio_pagecontent_pi2.20.config < temp.regio_pagecontent.config
# usw.
In der Ausprogrammierung ist das im Zugriff über
$conf['config.']['templateFile']
Immer noch nicht so hübsch, wie ich es gerne hätte, aber ein Anfang...
Grüße,
Thorsten
ich weiss nicht wie Du das anstellst, das die Variablen nicht zur Verfügung stehen - Wie hast Du denn die Extension erstellt ?
Was sagt denn der Object Browser, taucht die Extension dort auf ?
Hallo,
ich weiss nicht wie Du das anstellst, das die Variablen nicht zur Verfügung stehen?
kann ich eh erst morgen erneut testen (ich hatte an anderer Stzelle auch 'nen dummen Fehler drin, der sollte hiermit aber nichts zu tun haben), aber vorher zuerst nochmal: Wäre dass denn eine Antwort auf meine Frage?
Was hilft es mir, jedes Plugin* einzeln per "plugin.tx_regiopagecontent_pi1" und "plugin.tx_regiopagecontent_pi2" zu konfigurieren, statt einzeln per "tt_content.regio_pagecontent_pi1" und "tt_content.regio_pagecontent_pi2"? Ich suche ja etwas, wo ich die gesamte Extension konfigurieren kann, nicht einzeln "_pi1", "_pi2" etc.
Sorry, ich bin eher Anfänger und habe ehrlich gesagt zu oft das Gefühl in den passenden Foren, dass hier eine Menge Basiswissen vorausgesetzt wird. Das kann ich so nicht bieten. Das bleibt in meinen Augen auch Manko von Typo3, eine unglaublich frustrierende Lernkurve. Ist ja toll, wenn alles mögliche irgendwie geht, aber wenn ich erst tausende von Seiten Referenz und Tutorien gelesen haben muss, um in Foren fragen und mitreden zu dürfen... Ich denke, meine Frage nach bestem Wissen und Gewissen deutlich gestellt zu haben. Oder die Frage wurde schon verstanden, nur verstehe ich die Antworten nicht (richtig).
Grüße,
Thorsten
* Bin mir nicht sicher wegen der Benamung, die einzelnen Content-Elemente innerhalb einer Extension heißen Plugin und werden üblicherweise mit "_pi*" angesprochen?
es gibt da nichts übergeordnetes - jede Klasse ist in sich gekapselt und hat einen eigenen Namensraum - daher musst Du auch jede Klasse einzeln konfigurieren.
Schau einfach mal in den Objectbrowser, dort sollten alle Klassen Deiner Extension mit der eingestellten Konfiguration erscheinen. Du kannst die Werte auch direkt dort ändern, dann siehst Du auch den Syntax.
Hallo,
vielleicht bringt das ja Licht ins Dunkel:
plugin.tx_regiopagecontent_pi1.testLabel = TestEntry
findet sich im ObjectBrowser:
(plugin)
(tx_regiopagecontent_pi1)=USER
(userFunc)=tx_regiopagecontent_pi1->main
(testLabel)=TestEntry
aber in meiner Klasse "class.tx_regiopagecontent_pi1.php" gibt es keine "main"-Funktion, sondern anders benannte, die in "ext_typoscript_setup.txt" explizit den einzelnen Content-Typen zugeordnet sind. Kann das das Problem sein?
Zum Verständnis: Die jeweilige Funktion für einen Content-Typ wird doch nur bei der Darstellung des entsprechenden Inhaltes aufgerufen, oder? Oder wird die "main" in irgendeiner Form zusätzlich aufgerufen, initial o.ä.? Wenn, dann könnte ich ja dort die Konfiguration für _pi1 auslesen, ins Objekt schreiben und auch in den Funktionen für _pi2 etc. nutzen?
Oder wo kommt dieses "tx_regiopagecontent_pi1->main" her? Default-Vorbelegung, die erst später von "ext_typoscript_setup.txt" überschrieben wird?
Gefährliches Halbwissen... Aber momentan läuft es ja wie gewünscht.
Grüße,
Thorsten