Zum Inhalt springen

Frontend Plugin mit Zielseite

Erstellt am 4. Oktober 2004 · 8 Antworten · letzte Antwort am 2. Februar 2006

Tags: Frage

markuswerner ·

Hallo,

ich habe mit dem Kickstarter mein erster Frontend-Plugin erstellt. Es handelt sich um eine einfache Suchmaske. Das Suchergebnis soll jedoch auf einer anderen Seite angezeigt werden als die Suchmaske. Ich könnte nun im FORM-Tag die ID der Zielseite hart verdrahten, aber das nur eine Notlösung.

Wie kann ich dem Kickstarter beibringen, dass mein Plugin noch ein Attribut "Zielseite" o.ä. benötigt und wie kann ich diesen Wert im PHP-Code auslesen ?

Gruss,
Markus

maxhb ·
markuswerner schrieb

Wie kann ich dem Kickstarter beibringen, dass mein Plugin noch ein Attribut "Zielseite" o.ä. benötigt und wie kann ich diesen Wert im PHP-Code auslesen ?

Es gibt wohl mindestens zwei Möglichkeiten:
1. Werte über $conf übergeben:

plugin.mein_plugin.variable = wert

So unter TS definierte Werte kannst Du in der Extension über $conf['variable'] auslesen.
2. Du könntest den im Seitenkopf hinterlegten Wert für "General Record Storage page:" auslesen

CU
maxhb

Ensis ·

Hallo Markus,

üblicherweise wird das so gelöst, dass der User die Möglichkeit bekommt, die Zielseite in den Constants einzutragen. Die Konfiguration kannst du dann in der Doku angeben oder komfortabel über den Constant Editor zugänglich machen, z.B.:

constants.txt:

# cat=Deine Extension; type=string; label= Target Page: Id of the target page
plugin.tx_deineextension_pi1.targetPage = 10

setup.txt:

plugin.tx_deineextension_pi1.targetPage = {$plugin.tx_deinextension_pi1.targetPage}

PHP-Code ( Innerhalb der Main-Class ) :

$deineTargetPage = $this->conf['targetPage'];

Nicht geprüft 🙂, sollte aber so funktionieren. Sonst sag Bescheid.

Gruss
Ensis

bkahle ·

Danke für die schnelle Hilfe!

Soweit funktioniert das. Es wäre jedoch "schöner", wenn ich beim Einfügen des Plugins im Backend einfach eine Zielseite auswählen könnte. Ich kann den Usern schlecht zumuten im Template-Code rum zu hacken und IDs einzutragen.

Vielleicht findet sich ja noch eine bessere Lösung :-)

Markus

Ensis ·

Lies mein Posting nochmal. 🙂

Wenn du das dementsprechend organisierst, braucht der User nur noch auf 'Template' und auf 'Constant Editor' zu klicken. Dann kann er in der Auswahlliste 'Deine Extension' wählen und dort ganz komfortabel mit ein paar Klicks die Zielseite ändern. Das kann jeder, der auch in der Lage ist ein Plugin als Content auf eine Seite zu setzen.

Falls da etwas von der Umsetzung nicht klar ist, frag einfach.

Gruss
Ensis

Ensis ·

Hmm, irgendwas stimmt mit dem Server nicht. Das Posting ist zwar angekommen, aber das Forum braucht Minuten zum Laden und das 'Letzer Beitrag' - Feld wurde auch nicht aktualisiert. Deswegen dieses Posting nochmal als Nachschub. 🙂

futurmat ·

Hallo Markus!

markuswerner schrieb

Wie kann ich dem Kickstarter beibringen, dass mein Plugin noch ein Attribut "Zielseite" o.ä. benötigt und wie kann ich diesen Wert im PHP-Code auslesen ?

Die klassische Lösung ist eigentlich die Zielseite über das Feld "Ausgangspunkt" bei der Konfiguartion des Plugins anzugeben. Das kannst Du dann auch wieder über

$this->cObj->data['records']

(da bin ich mir nicht 100%ig sicher) auslesen.

Grüße

Futurmat