Weitere Informationen und den Download findest du auf der offiziellen Anlaufstelle de.wordpress.org
Ergebnis 1 bis 4 von 4
  1. #1
    PostRank: 3
    Registriert seit
    21.03.2011
    Beiträge
    128

    ACF Repeater im Repeater

    Moin!

    Mal wieder ein kleines Problem auf dessen Lösung ich nicht komme.
    Ich habe Advanced Custom Fields Version 5 und möchte ein Repeater Field in einem Repeater Field erstellen (alles einfache Textfelder).
    Das einfache Repeater Field ist kein Problem. Beim 2. kommen besagte Probleme auf.
    Ich habe eine Tabelle in der diese Fields ausgegeben werden. Repeater 1 stellt de Inhalt für Spalte 1 und Repeater 2 den für Spalte 2. Nach Adam Riese sind das 2 Spalten. Bei mir werden 3 Spalten ausgegeben. Das 1. Text Feld vom 2. Repeater wird in Spalte 2 ausgegeben (das ist richtig) aber das 2. Textfeld wird in Spalte 3 ausgegeben.

    Hier mal der Code den ich gebastelt habe:
    https://pastebin.com/v2GUbgBA

    und hier die Seite wo es passiert:
    https://hoerspielbaer.de/jugendkrimi...er/#produktion


  2. #2
    PostRank: 10 Avatar von b3317133
    Registriert seit
    21.11.2014
    Beiträge
    2.290
    Zitat Zitat von RimFrost Beitrag anzeigen
    Hier mal der Code den ich gebastelt habe:
    https://pastebin.com/v2GUbgBA
    Ergibt das hier (Zeile 15) keinen PHP-Fehler?
    Code:
    echo ''if get_sub_field('trtrt')'</td>';
    Hier ein Code-Beispiel für verschachtelte Repeater.

  3. #3
    PostRank: 3
    Registriert seit
    21.03.2011
    Beiträge
    128
    Zitat Zitat von b3317133 Beitrag anzeigen
    Ergibt das hier (Zeile 15) keinen PHP-Fehler?
    Code:
    echo ''if get_sub_field('trtrt')'</td>';
    Hier ein Code-Beispiel für verschachtelte Repeater.
    ja gibt es
    sorry nicht den aktuellsten Code gepostet

    PHP-Code:
    <!-- Produktion -->
    <?php


    if( have_rows('reihe_produktion') ):
        echo 
    '<h2 id="produktion">Produktion</h2>';
        echo 
    '<table>';
        echo 
    '<th>Aufgabe</th>'
        echo 
    '<th>Name</th>';    
                while ( 
    have_rows('reihe_produktion') ) : the_row(); 
                echo 
    '<tr>'
                    echo 
    '<td>'.get_sub_field('reihe_produktion_aufgabe').'</td>';
                while( 
    have_rows('test') ): the_row();
                    echo 
    '<td>'.get_sub_field('trtrt').'</td>';
            endwhile;
                echo 
    '</tr>';
            endwhile;
        echo 
    '</table>';
    endif;


    ?>
    <!-- END Produktion -->
    Die Seite von ACF kenne ich schon. Denke auch eher das es sich dabei um einen "Fehler" meiner Tabelle handelt. Alle eingetragenen Felder werden ja ausgegeben. Kann mich aber auch täuschen

  4. #4
    PostRank: 10 Avatar von b3317133
    Registriert seit
    21.11.2014
    Beiträge
    2.290
    1. Die <th> sind nicht innerhalb einer <tr>
    2. Pro <tr> wird erst ein <td> ausgegeben und dann für jedes vorhandene Feld "test" ein weiteres <td>, das ergibt logischerweise je nach Inhalt des Repeaters mehr als 2 Spalten

    Damit es insgesamt nur 2 Spalten werden, würde man sowas in der Art machen, ungetestet:
    Code:
            echo '<td>';
            while (have_rows('test')):
                    the_row();
                    echo get_sub_field('trtrt');
            endwhile;
            echo '</td>';
    Weiterhin empfielt es sich, den Hinweis bzgl. einfach und klar bezeichneter Felder auf der verlinkten ACF-Seite zu beachten: Working with nested repeaters is easy, but can sometimes become confusing. To make life easier, try to use simple field names.

Berechtigungen

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