Hallo,
folgendes Problem: ich hab' ein Frontend-Plugin in einer Seite eingebunden dessen main-Funktion (vereinfacht) so aussieht:
function main($content,$conf) {
$this->conf=$conf;
$this->pi_setPiVarDefaults();
$this->pi_loadLL();
$this->pi_USER_INT_obj=1;
$content= $this->cObj->data['tx_name_meinwert'];
return $content;
}
Jetzt habe ich auf derselben Seite ein th_mailformplus eingebunden in dessen Template ein Marker ist
Diese befülle ich aktuell per TypoScript etwa so:
plugin.tx_thmailformplus_pi1.markers.meinmarker = TEXT
plugin.tx_thmailformplus_pi1.markers.meinmarker.value = foobar
Nun soll dieser Marker aber mit dem Rückgabewert des Plugins befüllt werden und die Ausgabe des Plugins ans Frontend unterdrückt werden.
Wie gehe ich hier vor - bzw. mache ich ggf. etwas gänzlich falsch?
Hintergrund: der normale Endbenutzer soll in dem Plugin einige Wert-Paare eintragen die an in mailformplus-gerechten HTML-Code konvertiert werden. Quasi ein einfach wartbares "include" mit Formularfeldern.
Stichwort ist userFunc - du rufst in mailformplus kein TEXT Element sonder eine userFunc auf - that's it
Hallo,
hänge an der gleichen oder einer ähnlichen Stelle. Versuche dynamisch ein JS-File zu erstellen.
Versuche das ganze über ein PAGE-Objekt bzw. typeNum zu lösen, komme aber momentan auch nicht weiter.
tx_meineext = PAGE
tx_meineext {
typeNum = 1728
config {
disableAllHeaderCode = 1
disablePrefixComment = 1
xhtml_cleaning = 0
admPanel = 0
}
10 = TEXT
10.value = Hallo weiß nicht weiter
}
und dann das ganze per
page.headerData.1728 = TEXT
page.headerData.1728.dataWrap = <script type="text/javascript" src="index.php?id={field:uid}&type=1728" />|
reinzuhängen. Nur keine Ahnung wie ich an die Ausgabe im FE-Plugin komme. UID übergebe ich damit ich im Plugin weiß woher die Anfrage kommt und type frage ich natürlich vorher ab und leite es an die jeweilige Funktion weiter.
Funktioniert wunderbar. Danke. (Edit: die sache mit userFunc)
Sieht jetzt so aus:
plugin.tx_thmailformplus_pi1.markers.meinmarker = USER
plugin.tx_thmailformplus_pi1.markers.meinmarker {
userFunc = tx_meinplugin_pi1->main
}
Und jetzt noch die Frage - kann ich die Ausgabe des Plugins unterdrücken oder muss ich das ganze zwingend umbenennen bzw aus der main-Funktion entfernen?
also so:
main() {
// mach nix
}
sowie
user_main() {
// mach alles wie gewünscht
}
Kommando zurück.
$this->cObj->data referenziert natürlich nun auf das Element/Plugin mit dem mailformplus eingebunden wurde. Ich möchte aber aber auf die Werte des anderen Plugins zugreifen.
nvm - ich hab's jetzt als XCLASS-Extension in mailformplus eingebaut. Zwar nicht ganz das was ich wollte, aber auch ok.
Hallo Suit
falls noch möglich: könntest du die Lösung posten, wäre sehr dankbar