Ergebnis 1 bis 12 von 12

Thema: Variablenübergabe

  1. #1
    Contao-Nutzer
    Registriert seit
    02.08.2009.
    Beiträge
    67

    Standard Variablenübergabe

    Hallo,

    kann man irgendwie festlegen, dass Seiten aus der Seitenstruktur gleich ein paar Variablen mit übergeben?

    Also zum Beispiel möchte ich, wenn man in der Navigation auf "JANUAR" klickt die Variable ?day=20090101 übergeben.

    Ziel des Ganzen ist, bestimmte Monate von bestimmten Jahren direkt anzusteuern und sich nicht den "Wolf" mit den Vor- und Zurücklinks des Kalenders klicken

  2. #2
    Contao-Urgestein Avatar von Toflar
    Registriert seit
    15.06.2009.
    Beiträge
    4.468
    Partner-ID
    8667
    User beschenken
    Wunschliste

    Standard

    PHP-Code:
    $var $this->Input->get('day');
    echo 
    $var// '20090101' 
    Contao Core-Entwickler @terminal42 gmbh
    Wir sind Contao Premium-Partner!
    Für Individuallösungen kannst du uns gerne kontaktieren.
    PS: Heute schon getrakked?

  3. #3
    Contao-Nutzer
    Registriert seit
    02.08.2009.
    Beiträge
    67

    Standard

    ...öhm...ja...so schnappt man sich die übergebene Variable im Modul

    Aber meine Frage richtete sich an einen etwas früheren Zeitpunkt:
    Wie übergibt man sie?

    Oder noch mal konkreter:
    Kann man Im Adminbereich bereits irgendwie der Seite mitteilen, das sie mit der Variablen day=20090101 aufgerufen wird?

  4. #4
    AG CMS-Garden
    Contao-Urgestein
    Avatar von lindesbs
    Registriert seit
    05.06.2009.
    Ort
    Oer-Erkenschwick
    Beiträge
    4.153
    Partner-ID
    keine
    User beschenken
    Wunschliste

    Standard

    Das geht in der Standardinstallation nicht.

    Das liesse sich ueber ein "klein wenig Logik" im Template loesen, oder ein eigenes Modul, wo du zur tl_page eben deinen URLPostData dazu setzt, und dann mittels generateFrontendUrl Hook das ganze "schoen" machen.
    Geändert von lindesbs (19.12.2009 um 22:19 Uhr)
    von Willi Voltz aus PR 500: Henry George sagte einmal: »Kultur ist Zusammenarbeit.«


    Contao-Hosting: begeisterter Uberspace-Nutzer

  5. #5
    Contao-Nutzer
    Registriert seit
    02.08.2009.
    Beiträge
    67

    Standard

    @lindesbs danke für den Tipp mit dem Hook - werde ich mal ausprobieren.

    Hab's jetzt aber erst einmal mit einem eigenen Modul gelöst, dass dem Modul-Eventlist ein Eingabefeld spendiert, in dem man jetzt einfach das Zieldatum per Ymd angegeben kann.

    Auch nur für Admins, damit nicht jeder Redakteur da wildeste Parameter mit anhängt

  6. #6
    AG CMS-Garden
    Contao-Urgestein
    Avatar von lindesbs
    Registriert seit
    05.06.2009.
    Ort
    Oer-Erkenschwick
    Beiträge
    4.153
    Partner-ID
    keine
    User beschenken
    Wunschliste

    Standard

    Hast du aus dem NewsList Modul ein "Eigenes" gemacht oder deine Anpassungen direkt im Modul ?

    Dann musst Du dir alles speichern. Und beim naechsten Update aufpassen, das du die richtigen Stellen wieder patchest.
    von Willi Voltz aus PR 500: Henry George sagte einmal: »Kultur ist Zusammenarbeit.«


    Contao-Hosting: begeisterter Uberspace-Nutzer

  7. #7
    Contao-Urgestein Avatar von Andreas
    Registriert seit
    19.06.2009.
    Ort
    Mönchengladbach
    Beiträge
    7.706
    User beschenken
    Wunschliste
    Contao-Projekt unterstützen

    Support Contao

    Standard

    Hallo whitedrow,

    vielleicht helfen dir meine Tutorials, dort habe ich die Kalendermodule aufgemotzt und arbeite auch mit Übergabe von solchen Parametern.

    Das richtige Datum von sich wiederholenden Events im Eventreader anzeigen
    Minikalender und Eventliste, Anzeigeformat Monat und Tag gleichzeitig

    Andreas

  8. #8
    Contao-Nutzer Avatar von shrike
    Registriert seit
    12.10.2010.
    Beiträge
    47

    Standard Noch mehr Variablenübergabe..

    Moin Moin Community,

    so langsam wird man ja immer vertrauter mit dem System und nun ich ein wenig mehr...
    Folgenden Ansatz verfolge ich:
    Aus einem Kalender wird ein Event angeklickt und das gesamte Event wird angezeigt.
    Des Weiteren soll mittels eines Links der Besucher sich für dieses Event anmelden können.
    Nun habe ich der event_full.tpl noch ein verstecktes Formularfeld hinzugefügt und speichere darin das Datum des Events ab.
    Bisher übergebe ich das Konstrukt noch unelegant mittels eines direkten Seitenaufrufs und der GET-Methode an das Anmeldeformular. Das ist natürlich nicht schön, aber noch praktikabel. Komischerweise wird aber in der form.tpl zwar das Datum dann auch ausgegeben, hinter dem Datum erscheinen jedoch immer zwei geschweifte Klammern. Leider kann ich nirgends erkennen, wo die an den String angehängt werden...

    So rufe ich das Datum in der form.tpl auf:
    PHP-Code:
    <?php 
    $seminardatum
    =$_GET['seminardatum'];
    if(isset(
    $seminardatum)) echo "Ihr gewähltes Seminar findet am ".$seminardatum."statt."?>
    Da ich davon ausgehe, dass dies mal wieder ein typisches Anfängerprob ist, bin ich natürlich auch für Hinweise in anderen Threads dankbar, wobei ich nach intensiver Suche nicht wirklich fündig geworden bin...
    Geändert von shrike (26.12.2010 um 13:57 Uhr)

  9. #9
    Contao-Urgestein Avatar von Andreas
    Registriert seit
    19.06.2009.
    Ort
    Mönchengladbach
    Beiträge
    7.706
    User beschenken
    Wunschliste
    Contao-Projekt unterstützen

    Support Contao

    Standard

    Hallo shrike,

    kann ich so nicht viel zu sagen, ist ein bisschen wenig Information. Versuche doch mal die entsprechenden Contao-Methoden zu verwenden.
    PHP-Code:
    // im Event-Template:
    $this->Input->setPost('seminardatum''wert');
    // Im Anmeldeformular:
    echo $this->Input->post('seminardatum'); 
    Ich weiß ja auch nicht in welcher Form dein Datum vorliegt, am sichersten ist, wenn es im Unix-Timestamp voliegt. Dann kannst du es auf der Empfängerseiten formatieren wie du es dort brauchst.

    Gruß Andreas
    Bitte!
    Vor Anfragen im Forum HTML validieren.
    Codesnippets hier im Froum sauber einrücken. Nur Tabs o. nur Leerzeichen verwenden.

    Vielen Dank an alle Wunschlistenerfüller
    Andreas Burg, Web Solutions

  10. #10
    Contao-Nutzer Avatar von shrike
    Registriert seit
    12.10.2010.
    Beiträge
    47

    Standard

    Moin Andreas,

    jepp, hier fehlt es mir tatsächlich noch stark an Wissen...
    Also, da Dir das zu wenig Infos waren, mal kurz der Ablauf, wie ich ihn mir vorstelle:

    1. Im Kalender wird ein Event angezeigt
    2. Der Besucher klickt auf den Event
    3. Der Event wird komplett angezeigt.
    => Hier habe ich jetzt Deinen Hinweis verarbeitet, denke aber, dass man evtl. mit setGet besser fährt (setPost hatte ich auch schon probiert)
    4. Der Besucher klickt nun auf den Link "Online anmelden" und wird auf das Anmeldeformular geleitet.
    5. Das Anmeldeformular beinhaltet ein Textfeld name="seminardatum" und sollte nun schon mit dem Eventdatum befüllt sein.
    => Hier habe ich sowohl mit post als auch get versucht, die Variable abzufangen.

    Hier die jetzige event_full.tpl
    PHP-Code:
    <p class="info">
    <?php echo $this->date?>
    <?php $this
    ->Input->setGet('seminardatum'$this->date); ?>
    Und hier noch mal der jetzige Code der form.tpl
    PHP-Code:
    <form action="<?php echo $this->action?>" id="<?php echo $this->formId?>" method="<?php echo $this->method?>" enctype="<?php echo $this->enctype?>"<?php echo $this->attributes?>>
    <div class="formbody">
    <?php if ($this->method != 'get'): ?>
    <input type="hidden" name="FORM_SUBMIT" value="<?php echo $this->formSubmit?>" />
    <input type="hidden" name="MAX_FILE_SIZE" value="<?php echo $this->maxFileSize?>" />
    <?php endif; ?>
    <?php 
    echo $this->Input->get('seminardatum'); 
    ?>
    <?php 
    echo $this->hidden?>
    <?php 
    if (!$this->tableless): ?>
    <table cellspacing="0" cellpadding="0" summary="Form fields">
    <?php echo $this->fields?>
    </table>
    <?php else: echo $this->fields; endif; ?>
    </div>
    </form>
    Ich hab die Auszüge auf das Nötigste beschränkt...

    Mal schauen, ob ich hier die richtige Erleuchtung noch bekomme...
    Geändert von shrike (26.12.2010 um 22:45 Uhr)

  11. #11
    Contao-Urgestein Avatar von Andreas
    Registriert seit
    19.06.2009.
    Ort
    Mönchengladbach
    Beiträge
    7.706
    User beschenken
    Wunschliste
    Contao-Projekt unterstützen

    Support Contao

    Standard

    Ob Post oder Get ist hier egal, nur dass du mit Post die Variable nicht in der URL siehst.

    Der Ablauf war schon klar, war jetzt nur nochmal interessant, zu sehen, dass du $this->date übergibst. $this->date ist kein Unix-Timestamp, es ist bereits formatiert. Bei mir z.B. "2010-01-17 (08:30 - 14:30)".

    Schau mal mit $this->showTemplateVars(); was dein Template dir liefert, ob die geschweiften Klammern in $this->date bereits drin sind. Ansonsten versuch mal einen oderer mehrere von den Timestamps, z.B. $this->startTime, $this->endTime zu übergeben und sie auf der Empfängerseite zu formatieren.

    Formatieren kannst du mit $this->parseDate('mein PHP-Date-Format', UNIX-Timestamp);

    Gruß
    Bitte!
    Vor Anfragen im Forum HTML validieren.
    Codesnippets hier im Froum sauber einrücken. Nur Tabs o. nur Leerzeichen verwenden.

    Vielen Dank an alle Wunschlistenerfüller
    Andreas Burg, Web Solutions

  12. #12
    Contao-Nutzer Avatar von shrike
    Registriert seit
    12.10.2010.
    Beiträge
    47

    Standard

    Moin Andreas,

    sorry, das es mit der Antwort etwas gedauert hat...

    Mittlerweile hab ich das Problem ein bisschen anders als gedacht gelöst..

    Die Übergabe des bereits formatierten Datums war genauso beabsichtigt.
    Das Problem der geschweiften Klammern hab ich auch gelöst (es war ein Fehler 40)

    Insofern bedanke ich mich an dieser Stelle für die Hilfe und bleibe bei meinem bisherigen Eindruck: Dieses Forum ist eines der besten!

Aktive Benutzer

Aktive Benutzer

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

Berechtigungen

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