hallo,
1.: ich habe ein eigenes frontend plugin mit dem kickstarter gemacht, für das wird aber keine "CODE"- Feld angezeigt. Das bräuchte ich.
2.: wie kann ich in meiner extension (also im php) den wert von "Ausgangspunkt" ausleesen? Den kann ich ja im setup des frontend- plugin setzen.
Hi marcoow,
zu 1: Wenn das CODE-Feld im Backend nicht angezeigt wird, kannst du es einblenden, indem du in der "ext_tables.php" im jeweiligen Extension-Ordner die "excludeList" änderst.
zu2: Guck dir mal pi1 der Extension "newloginbox" genauer an. Da wird das gemacht.
Viele Grüße,
Oliver Moser
Hallo,
ich habe mich jetzt einen halben Tag mit der "newloginbox" Extension beschäftigt und nicht herausbekommen, wie ich den "Ausgangspunkt" auslesen kann. Hat jemand mal einen heißen Tipp für mich?
Danke,
Dennis
Hi,
wie es die newloginbox ausliest, kann ich Dir leider nicht sagen. Dafür kann ich Dir ein Beispiel mit dem News Plugin nennen (wobei sich die Vorgehensweise der Module beim Ausgangspunkt nicht unterscheiden wird 😉).
In ext/tt_news/pi/class_tx_ttnews.php findest Du in Zeile 91, 92 die Bearbeitung des Feldes "Ausgangspunkt" des News BE. Der Wert befindet sich offenbar in $GLOBALS["TSFE"]->id (bei einem Wert) oder
$this->config["pid_list"] bei einer Liste von Werten.
Lass Dir in Deinem Plugin einfach mit Debug alle möglichen Werte mit debug() anzeigen und vergleiche die Werte mit Deinen Einstellungen im BE Deines Plugins.
Gruß
Thomas
Hallo,
$this->config["pid_list"] enthält - egal was ich mache - aber immer nur einen Wert.
debug('pid_list: '.$this->config["pid_list"]);
debug('a: '.$pid_list_arr);
debug('b: '.$pid_list_arr[0]);
debug('c: '.$pid_list_arr[1]);
$pid_list_arr[0] enhält die aktuelle pid. $pid_list_arr[1] ist leer - obwohl sogar zwei Ausgangspunkte angegeben sind. Muss ich noch irgendetwas tun, damit das Feld Ausgangspunkt überhaupt zur Verfügung steht?
Danke,
Dennis
Hi,
in Zeile 91 wird dieses Feld gefüllt:
$this->config["pid_list"] = trim($this->cObj->stdWrap($this->conf["pid_list"],$this->conf["pid_list."]));
Sieh Dir am besten mal die Klasse komplett an. Was bekommst Du als Ausgabe bei den $GLOBLAS["TSFE"]->id ? $this->config["pid_list"] wird in Zeile 92 für den Fall einer leeren $this->conf["pid_list"] (s. Zeile 91) mit dem GLOBALS Wert gefüllt. Was bekommst Du bei debug($this->conf["pid_list"]) ?
Hallo,
überall bekomme ich genau eine vierstellige PID ausgegeben ($this->conf["pid_list"] und $GLOBALS["TSFE"]->id) obwohl bei $this->conf["pid_list"] drei ausgegeben werden müssten.
Muss ich im Setup irgendetwas eintragen, damit das übergeben wird?
Dennis
Meines Wissens nach nicht. Da diese Werte in das Plugin Formular im Backend eingegeben werden, sollten Sie einfach von der Klasse abgerufen werden können. Ich schreibe gerade selbst ein Plugin und befasse mich mit dem Thema. Sobald ich eine Antwort habe, informieren ich Dich. Kann aber schlimmstenfalls Anfang der nächsten Woche werden.
Gruß
Thomas
So komme ich an den "Ausgangspunkt" meines Plugins dran:
debug($this->cObj->data["pages"]);
"pages" ist das entsprechende Datenbankfeld in tt_content für den aktuellen Datensatz (=> aktuelle uid). Du kannst so auch jedes andere DB Feld in tt_content ansprechen. Den kompletten Eintrag gibts mit
debug($this->cObj->data);
Das müsste Dir eigentlich weiterhelfen. Vielleicht gibt es noch eine elegantere Methode, ist mir aber leider (noch) nicht bekannt.
Grüße
Thomas
Um das ganze noch zu vervollständigen:
damit der entsprechende Eintrag einfach über das $this->conf[] bzw. $this->config[] augerufen werden kann, muss tatsächlich etwas im Setup gesetzt werden:
in der Datei "ext_typoscript_setup.txt" folgenden Eintrag hinzufügen:
pid_list.field = pages
Dann kann der Inhalt des DB Feldes "pages" der aktuellen uid über das Array $this->conf["pid_list"] angesprochen werden. Jetzt sollte Deinem (und meinem ;-)) Plugin nix mehr im Wege stehen!
Gruß
Thomas
Danke!
Klappt jetzt hervorragend!