[cm_alternativeforms] Widget für zwei alternative Formularbereiche

Einklappen
X
 
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge
  • Nina
    Contao-Urgestein
    • 04.06.2009
    • 4755

    #46
    Und noch eine Empfehlung:
    Es macht Sinn, das Template so anzupassen, dass die Felder jeweils noch die CSS-Klasse cm_alternativeforms haben. So kann man dann nämlich dafür übergreifend Styles definieren, die für alle so eingebundenen Formularfelder in allen Formularen gelten. Ohne diese Klasse müsste man jedesmal die IDs ins CSS mit aufnehmen, dürfte das nie vergessen, usw.

    Hier mein angepasstes form_alternative.html5 Template:
    PHP-Code:
    <?php if (TL_MODE == 'BE'): 
      ?><span class="tl_gray">### ALTERNATIVE <?php 
        if ($this->cm_alternativeType == 'cm_start'): ?>START<?php 
        elseif ($this->cm_alternativeType == 'cm_else'): ?>ELSE<?php 
        elseif ($this->cm_alternativeType == 'cm_stop'): ?>STOP<?php 
        endif; ?> ###</span>
      
    <?php elseif (!$this->tableless): 
    // table
    
    ?>
    
      <?php 
      if ($this->cm_alternativeType == 'cm_start'): ?>
          <tr class="<?php echo $this->rowClass; ?>">
            <td class="col_0 col_first">&nbsp;</td>
            <td class="col_1 col_last"><?php echo $this->generate(); ?></td>
          </tr>
        </table>
        <div class="cm_alternativeforms" id="alternative_<?php echo $this->strName; ?>" style="display: <?php echo ($this->value==0)?'block':'none'; ?>">
        <table cellspacing="0" cellpadding="0" summary="Form fields">
          <tr style="display: none"><td colspan="2">&nbsp;</td></tr>
      <?php 
      elseif ($this->cm_alternativeType == 'cm_else'): ?>
          <tr style="display: none"><td colspan="2">&nbsp;</td></tr>
        </table>
        </div>
        <div class="cm_alternativeforms" id="else_<?php echo $this->strName; ?>" style="display: <?php echo ($this->value==1)?'block':'none'; ?>">
        <table cellspacing="0" cellpadding="0" summary="Form fields">
          <tr style="display: none"><td colspan="2">&nbsp;</td></tr>
        
      <?php 
      elseif ($this->cm_alternativeType == 'cm_stop'): ?>
          <tr style="display: none"><td colspan="2">&nbsp;</td></tr>
        </table>
        </div>
        <table cellspacing="0" cellpadding="0" summary="Form fields">
          <tr style="display: none"><td colspan="2">&nbsp;</td></tr>
      <?php endif; ?>
      
    <?php 
    else: 
    // tableless
    if ($this->cm_alternativeType == 'cm_start'): ?>
        <?php echo $this->generate(); ?><br>
        <div class="cm_alternativeforms" id="alternative_<?php echo $this->strName; ?>"
        style="display: <?php echo ($this->value==0?'block':'none')?>">
      <?php 
      elseif ($this->cm_alternativeType == 'cm_else'): ?>
        </div>
        <div class="cm_alternativeforms" id="else_<?php echo $this->strName; ?>" 
        style="display: <?php echo ($this->value==1?'block':'none');?>">
      <?php 
      elseif ($this->cm_alternativeType == 'cm_stop'): ?>
        </div>
      <?php 
      endif; 
    endif; ?>

    Kommentar

    • latscheli
      Contao-Nutzer
      • 16.01.2010
      • 221

      #47
      cm_alternativeforms für Contao 3.5? Die Alternative wird nicht angezeigt

      Hallo Ihr Lieben,
      ich habe diese Erweiterung unter Contao 3.5 installiert. Leider wird mir bei Auswahl der Alternative die dazughörigen Felder nicht angezeigt. Ich befürchte, ich habe beim Anlegen einen Fehler gemacht. Folgendermaßen bin ich vorgegangen:
      1. Anlegen Feldtyp "Formular mit Alternativen", Variante: Gruppierung Anfang
      2. diverses Felder, die auch angezeigt werden.
      3. Feldtyp "Formular mit Alternativen", Variante: Gruppierung Ende
      4. Feldtyp "Formular mit Alternativen", Variante: Gruppierung: Alternative
      5. diverses Felder die nicht angezeigt werden, auch nicht wenn ich die zweite Variante auswähle
      6. Feldtyp "Formular mit Alternativen", Variante: Gruppierung Ende


      Mache ich irgendetwas falsch? Leider gibt es keine Dokumentation. Für Eure Hilfe wäre ich sehr dankbar

      Viele Grüße
      latscheli
      Viele Grüße
      latscheli

      Kommentar

      • ChrMue
        Contao-Fan
        • 19.06.2009
        • 850

        #48
        Punkt 3 muss raus
        Es beginnt mit dem Startelement.
        Dann folgen die Elemente der 1. Alternative
        Dann folgen direkt das Else-Element und die Elemente der 2.Alternative
        Den Abschluss bildet ein End-Element.

        Gruß ChrMue
        Zuletzt geändert von ChrMue; 13.07.2016, 14:42.

        Kommentar

        • latscheli
          Contao-Nutzer
          • 16.01.2010
          • 221

          #49
          Vielen Dank ChrMue für die rasche Antwort. Das habe ich jetzt so gemacht, aber es geht leider immer noch nicht. Es werden nur die Felder der ersten Alternative angezeigt (
          Viele Grüße
          latscheli

          Kommentar

          • latscheli
            Contao-Nutzer
            • 16.01.2010
            • 221

            #50
            .. ich konnte es jetzt mit der Erweiterung "conditionalforms" lösen Nochmals vielen Dank und herzliche Grüße
            Viele Grüße
            latscheli

            Kommentar

            • ChrMue
              Contao-Fan
              • 19.06.2009
              • 850

              #51
              [cm_alternativeForms] 2 oder mehr alternative Formularbereiche

              neuer Thread für Version 3.0 der Erweiterung -> https://community.contao.org/de/show...mularbereichen
              Zuletzt geändert von ChrMue; 30.08.2016, 21:50.

              Kommentar

              Lädt...