Ergebnis 1 bis 7 von 7

Thema: Variablen an Insert-Tag {{file::datei.php?var1=WERT}} aus Auswahlmenü übergeben

  1. #1
    Contao-Nutzer Avatar von Der_Ritter
    Registriert seit
    21.06.2009.
    Beiträge
    106

    Standard Variablen an Insert-Tag {{file::datei.php?var1=WERT}} aus Auswahlmenü übergeben

    Hallo Community,

    **Edit: Kurze Info zum besseren Verständnis des folgenden Textes: Mit "Adminbereich" rede ich von geschützten Seiten im Frontend, welche nur für mich als eingeloggtes Mitglied sichtbar sind**

    ich habe folgende, ungelöste Aufgabe zu bewältigen:

    Wir nutzen Contao als Dokumentationswebseite für eine Software. Aus der Software heraus übergeben wir die aktuelle Seite, die Sprache und die Version als Pfad und können so, über den Seitenalias die dazugehörige Contao-Dokumentationswebseite in der entsprechenden Sprache und Softwareversion aufrufen.

    Nun ist es so, dass die Dokumentations-Webseite auch Dokumentationen in anderen Sprachen enthält, demnach auch die Screenshots entsprechend in der anderen Sprache vorhanden sein müssen.
    Da es aber mehrere Hundert Screenshots sind, wird es schwierig festzustellen, ob zu jedem deutschen Screenshot (Referenzsprache bzw. -doku) auch das anderssprachige Pendant vorhanden ist.

    Nun habe ich mir einen Adminbereich angelegt und ein PHP-Skript geschrieben, welches die Inhalte der Ordner mit den Screenshots der einzelnen Sprachen in einer Tabelle mit zwei Spalten (links Inhalt deutsche Referenz-Screenshots - rechts Inhalt fremdsprachige Screenshots) anzeigt. So kann ich direkt sehen, welche fremdsprachigen Screenshots noch fehlen, um auf den Stand der deutschen Referenzdoku zu kommen.

    Dieses Skript rufe ich mit Link auf eine Seite mit Inhaltselement "Text" und dem darin enthaltenen Insert-Tag
    Code:
    {{file::inhaltsvergleich.php}}
    auf. Dies funktioniert soweit bestens.

    Die Pfade zu den Ordnern mit den Screenshots sind im Augenblick noch hardcodiert im PHP-Skript vorhanden.

    Da es aber mit der Zeit immer mehr Sprachen werden, und der Vergleich der Screenshots immer aufwändiger wird, möchte ich das im Admin-Bereich komfortabler gestalten. Bisher muss ich immer händisch die entsprechenden Pfade im PHP-Skript ändern.

    Jetzt möchte ich das zukünftig folgendermaßen lösen:

    Ein Selectmenü, welches die Sprachen enthält, die mit den deutschen Referenzscreenshots verglichen werden sollen.
    Die Auswahl möchte ich dann dem Insert-Tag in dieser Art übergeben
    Code:
    {{file::inhaltsvergleich.php?sprache=AUSWAHL}}
    um so dem PHP-Skript die gewünschte Sprache mitzuteilen.
    So erhalte ich dann bequem immer die entsprechende Vergleichstabelle in der ausgewählten Sprache, ohne diese immer händisch im PHP Skript angeben zu müssen.

    Wie könnte ich das realisieren?

    Zum besseren Verständnis:

    Die screenshots sind wie folgt angelegt:

    tl_files/images/Screenshots/de (deutsche Screenshots)
    tl_files/images/Screenshots/en (englische Scereenshots)
    tl_files/images/Screenshots/it (italienische Scereenshots)
    usw.

    Die entsprechende Vergleichs-Sprache soll dem Skript übergeben werden (also en, it usw.) so dass dieses den richtigen Pfad kennt und die dazugehörigen Screenshots auslesen kann.

    Grüße
    Der_Ritter
    Geändert von Der_Ritter (01.06.2012 um 14:16 Uhr)

  2. #2
    Contao-Nutzer Avatar von Der_Ritter
    Registriert seit
    21.06.2009.
    Beiträge
    106

    Standard

    Hallo zusammen,

    das muss doch schon mal jemand probiert, oder ggf. einen anderen Workaround gefunden haben. Wie kann ich aus einem Selectmenü die ID an ein per Insert-Tag eingebundenes PHP-Skript übergeben?
    Vielleicht hat jemand auch einen völlig anderen Lösungsansatz. Bin für jeden Vorschlag dankbar! ;-)

    Grüße
    Der_Ritter

  3. #3
    Contao-Fan Avatar von dhe
    Registriert seit
    25.10.2010.
    Ort
    Esslingen a.N.
    Beiträge
    657

    Standard

    Hm,
    ich hab sowas in der Art auch mal gebraucht, dass mein Select Feld auf $_GET Variablen reagiert.
    Nach nach langem Hin und her suchen, bin ich dann dazu übergegangen, nicht den Contao eigenen Formulargenerator zu verwenden, sondern habe mein Formular ganz normal einem PHP File erstellt (in dem ich dann per PHP alles machen konnte).
    Dieses PHP Skript dann per {{file}} eingebunden.

    Leider nicht ganz so "smoothy", aber da es mit Contao nicht möglich ist, Per Get Variablen ein Formularfeld (außer Typ Textfeld und Textarea) zu beeinflussen, blieb nichts anderes übrig.

    Gruß
    Geändert von dhe (04.06.2012 um 13:54 Uhr)

  4. #4
    Contao-Nutzer Avatar von Der_Ritter
    Registriert seit
    21.06.2009.
    Beiträge
    106

    Standard

    Danke für den Beitrag dhe!

    Diese Lösung wird wohl die einzig funktionierende sein, also Selectmenü innerghalb des PHP-Skriptes.
    Was mich noch stört ist die Tatsache, das ich das Skript nicht aus Contao heraus (Backend) bearbeiten kann.

    Jetzt ist mir gerade noch die Idee gekommen, kein php-Skript einzubinden, sondern ein *.tpl-Template.
    Hier könnte ich doch auch das komplette PHP-Skript unterbringen (also im Template), hätte jedoch die Möglichkeit, das Skript im Backend von Contao zu bearbeiten.

    Muss ich morgen mal versuchen, wenn ich wieder in der Arbeit bin.

    Grüße
    Der_Ritter

  5. #5
    Contao-Fan Avatar von dhe
    Registriert seit
    25.10.2010.
    Ort
    Esslingen a.N.
    Beiträge
    657

    Standard

    Oder du fügst die Endung PHP in den Einstellungen bei "editierbare Dateien" dazu.
    Angehängte Grafiken Angehängte Grafiken

  6. #6
    Contao-Fan Avatar von dhe
    Registriert seit
    25.10.2010.
    Ort
    Esslingen a.N.
    Beiträge
    657

    Standard

    Btw, denk dran, in dem Formular per input:hidden feld den Request Token zu übergeben.

  7. #7
    Contao-Nutzer Avatar von Der_Ritter
    Registriert seit
    21.06.2009.
    Beiträge
    106

    Standard

    Hallo dhe,

    danke für die Hinweise.
    Ich habe es folgendermaßen gelöst:

    • *.tpl-Datei erstellt (Nach deinem Tipp hätte es auch eine PHP sein können.)
    • eigenes Select-Menu geschrieben
    • Daten werden per GET (method = get) übergeben, da er bei POST gemotzt hat. (Weiß jetzt dank dir auch warum -> fehlender Request Token ist schuld, wenn ich dich richtig verstanden habe) Aber GET funzt auch ohne diesen.
    • das Ganze als Inhaltselement Text über den Insert Tag {{file:meinedatei.tpl}} eingebunden
    • Funktioniert nun Bestens und Bearbeitung über das Backend ist auch möglich.


    Vielen Dank für die Denkanstöße!

    Apropos Request Token, wie funktioniert das mit dem Value?

    Code:
    <input type="hidden" name="REQUEST_TOKEN" value="?????" />
    ***EDIT: http://www.contao.org/de/news/contao_2-10-RC1.html <-- da wirds erklärt ;-)

    Grüße
    Der_Ritter
    Geändert von Der_Ritter (04.06.2012 um 14:18 Uhr)

Aktive Benutzer

Aktive Benutzer

Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)

Lesezeichen

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •