Mit this->getForm Formulare in Catalog nutzen

Einklappen
X
 
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge
  • uliverse
    Contao-Nutzer
    • 21.10.2009
    • 241

    #1

    Mit this->getForm Formulare in Catalog nutzen

    Hallo,
    folgendes Problem: der Katalog, an dem ich arbeite, soll die Möglichkeit bieten, ein passendes Anmeldeformular und ein Kontaktformular auszuwählen. So weit, kein Problem. Schwierig wird es beim Einbinden der Formulare in die Ausgabe.
    Mit this->getForm( ) im Ausgabe-Template kann ich zwar ein bestimmtes Formular laden, aber wenn ich versuche, den Parameter dynamisch zu ersetzen, scheitere ich. So wollte ich es machen:
    PHP-Code:
    <?php this->getForm(echo $entry['data']['anmeldung']['raw']; ) ; ?>
    Geht aber nicht. Meine PHP-Kenntnisse sind leider sehr begrenzt...
    Kann mir jemand sagen, wie ich es richtig mache oder einen besseren Weg zeigen, Formulare dynamisch einzubinden?

    Danke schon mal im Voraus.
  • typo
    Contao-Fan
    • 09.09.2009
    • 366

    #2
    Hi,

    probier mal das hier:

    PHP-Code:
     <?php $this->getForm($entry['data']['anmeldung']['raw']) ; ?>
    Ich bin mir gerade nicht sicher, evtl. musst du vor $this->... noch ein echo machen.

    Kommentar

    • uliverse
      Contao-Nutzer
      • 21.10.2009
      • 241

      #3
      Hi typo,
      geht leider beides nicht. Mit dem von dir vorgeschlagenen Code wird die Zeile ignoriert, wenn ich echo reinsetze, gibt es einen PHP-Fehler...

      Kommentar

      • typo
        Contao-Fan
        • 09.09.2009
        • 366

        #4
        Dann wäre natürlich die Fehlermeldung einmal spannend.

        Kommentar

        • uliverse
          Contao-Nutzer
          • 21.10.2009
          • 241

          #5
          Das wäre die Fehlermeldung:
          Code:
          Parse error: syntax error, unexpected T_ECHO, expecting ')'
          d.h. echo passt wohl nicht ganz...

          Kommentar

          • typo
            Contao-Fan
            • 09.09.2009
            • 366

            #6
            Poste dann doch bitte noch einmal den Code, der den Fehler erzeugt.

            Kommentar

            • uliverse
              Contao-Nutzer
              • 21.10.2009
              • 241

              #7
              Naja, die Zeile sieht gerade so aus:
              Code:
              <p>Anmeldung: <?php $this->getForm(echo $entry['data']['cal_anmeldung']['raw']) ; ?></p>
              und das Ergebnis ist das erwähnte
              Code:
              Parse error: syntax error, unexpected T_ECHO, expecting ')'
              Man kann wohl keine Funktionen in dieser Weise verschachteln. Kann es sein, dass man den Wert erst in ein Feld legen muss und dieses dann in den Array laden?
              So wie in diesem Beispiel aus dem Wiki:
              Code:
              <?php if($entry['data']['bildergalerie']['value']):?>
              <?php foreach ($entry['bildergalerie']['value'] as $field=>$data): ?>
              <a href="<?php echo $entry['bildergalerie']['value']['meta'][$field]['src'] ?>" title="bla" rel="lightbox[lightbox_1]" ></a>
              <?php endforeach; ?>
              <?php endif;?>
              Aber das krieg ich auch nicht hin :-(

              Kommentar

              • typo
                Contao-Fan
                • 09.09.2009
                • 366

                #8
                Hi,

                so wie du es jetzt gerade hast, kann es auch nicht gehen.

                PHP-Code:
                <?php echo $this->getForm($entry['data']['cal_anmeldung']['raw']); ?>
                So sollte es funktionieren, entscheidend ist aber auch das $entry['data']['cal_anmeldung']['raw'] die FormularId ausgibt. Wenn das der Fall ist, klappt es so.

                Kommentar

                • uliverse
                  Contao-Nutzer
                  • 21.10.2009
                  • 241

                  #9
                  YES!!

                  Super, so klappt's!! Ganz herzlichen Dank dir! Dann kann ich heute beruhigt Feierabend machen

                  Kommentar

                  Lädt...