Ankündigung

Einklappen
Keine Ankündigung bisher.

Eigene Navigation erstellen und ausgeben?

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Eigene Navigation erstellen und ausgeben?

    Hi,
    ich habe mir ein Inhaltselement erstellt, indem ich einen bzw durch das duplizieren der Gruppe auch mehrere Menüeinträge erstellen kann, das funktioniert soweit, jetzt möchte ich so aber ausgeben lassen und ich bekomme keine Daten ausgegeben:

    PHP-Code:
      <ul class="vlist level_1">     <?php foreach($this->entries as $entry): ?>     <li class="submenu megamenu col_3 sibling"><a href="<?php echo $entry->field('link')->value(); ?>" title="<?php echo $entry->field('name')->value(); ?>"><?php echo $entry->field('name')->value(); ?></a></li>     <?php endforeach; ?> </ul>
    Woran kann das liegen?

  • #2
    Du verwechselst einen CC Template-Aufbau bzw. Variablen mit CustomElements variablen.
    Du musst in CE in der foreach die Gruppe via Alias der Gruppe ansprechen.

    Innerhalb der Themes gibt es viele Beispiele
    http://www.premium-contao-themes.com

    Kommentar


    • #3
      Ach so ok, in welchem theme denn genau, denn ich habe nur die sql daten und nicht die templates.

      Kommentar


      • #4
        So schaut mein Inhaltselement aus:
        Klicke auf die Grafik für eine vergrößerte Ansicht

Name: 14-06-_2016_10-29-24.jpg
Ansichten: 191
Größe: 7,7 KB
ID: 3639

        Meinst du das so?
        Code:
         [COLOR=#e8bf6a]<ul [/COLOR][COLOR=#bababa]class=[/COLOR][COLOR=#a5c261]"vlist level_1"[/COLOR][COLOR=#e8bf6a]> [/COLOR][COLOR=#e8bf6a]    <?php foreach($this->[/COLOR]group('daten')->fields as $field): ?>     [COLOR=#e8bf6a]<li [/COLOR][COLOR=#bababa]class=[/COLOR][COLOR=#a5c261]"submenu megamenu col_3 sibling"[/COLOR][COLOR=#e8bf6a]><a [/COLOR][COLOR=#bababa]href=[/COLOR][COLOR=#a5c261]"<?php echo $this->field('link')->value(); ?>" [/COLOR][COLOR=#bababa]title=[/COLOR][COLOR=#a5c261]"<?php echo $this->field('name')->value(); ?>"[/COLOR][COLOR=#e8bf6a]><?php echo $this->[/COLOR]field('name')->value(); ?>[COLOR=#e8bf6a]</a></li> [/COLOR][COLOR=#e8bf6a]    <?php endforeach; ?> [/COLOR][COLOR=#e8bf6a]</ul>[/COLOR]
        Weil so bekomme ich auch keine Ausgabe.
        Zuletzt geändert von Juli_ane; 14.06.2016, 10:08.

        Kommentar


        • #5
          Bitte einmal genau die Variablen von CE anschauen im Vorlagen-Pool. Duplikate bekommen immer einen Indexer mit. #0, #1, #2 usw. je nach Gruppe. Damit ansprechen!
          Wie man die Templates aus einem Theme extrahiert ist in diesem Thread beschrieben: http://forum.premium-contao-themes.c...5-theme-update

          Ein Beispiel aus dem Team CE, hier Quantum, aber der Grundaufbau ist immer gleich und zeigt gut wie direkt Felder angesprochen werden können.

          PHP-Code:
          <?php if(count($this->group['socials']) > 0): ?>
                      <?php foreach($this->group['socials'] as $i => $fields): ?>
                          <a href="<?php echo $this->field['soclink#'.$i]['value']; ?>" target="_blank"><i class="<?php echo $this->field['icon#'.$i]['value']; ?>"></i></a>
                      <?php endforeach; ?>
                  <?php endif; ?>

          Mit $this->group(...)->fields kommen alle Attribute blind rein, da kann man keinen Alias der Felder mehr nutzen, weil der Array bereits die fertigen Attribut-Objekte beinhaltet. => richtigen php debugger nutzen. Da sieht man sowas immer gut.
          Zuletzt geändert von Tim; 14.06.2016, 12:19.
          http://www.premium-contao-themes.com

          Kommentar


          • #6
            Super danke, wusste nicht, dass ich die sql einfach in zip umschreiben kann.

            Also ich habe das schon mal probiert aber funktionieren tut es nicht:

            PHP-Code:
             <?php if(count($this->group['daten']) > 0): ?> <?php foreach($this->group['daten'] as $i => $fields): ?> <li class="submenu megamenu col_3 sibling"><a href="<?php echo $this->field['link#'.$i]['value']; ?>" ><?php echo $this->field['name#'.$i]['value']; ?></a></li> <?php endforeach; ?> <?php endif; ?>
            Zum schreiben habe ich nur notepad++
            Zuletzt geändert von Juli_ane; 14.06.2016, 12:41.

            Kommentar


            • #7
              Ich habe es, jetzt passt es, Danke.^^

              Kommentar

              Lädt...
              X