Ergebnis 1 bis 2 von 2

Thema: Bootstrap Navigation mit Dropdown level_3

  1. #1
    Contao-Nutzer
    Registriert seit
    22.02.2017.
    Ort
    Wiesbaden
    Beiträge
    4

    Standard Bootstrap Navigation mit Dropdown level_3

    Liebe Forumsmitglieder,
    dies ist mein erster Eintrag im Forum und ich habe weder im Forum noch sonst im Internet eine funktionierende Lösung gefunden.

    Wie bekomme ich es hin, dass auch die 3. (oder 4.) Ebene des Bootstrap-Dropdown-Menus als Dropdown erscheint und der übergeordnete Menupunkt klickbar ist und einen kleinen Pfeil nach rechts oder unten hat, wie das bei der ersten Ebene funktioniert.
    Ich habe im html-Code auf der Website die class level_3 um die class dropdown-menu erweitert. Dadurch erscheinen die Menüpunkte der 3. Ebene nicht mehr zwischen denen der 2. Ebene, sondern tatsächlich beim Hover/Klick auf den überdeordneten Menüpunkt.

    Das Problem scheint mir, dass das Template der 3. Ebene weder die class dropdown-menu noch <a class="dropdown-toggle" href="#" data-toggle="dropdown">

    Ich bin leider nicht fit in php!

    Was muss man im Template "nav_bootstrap_dropdown.html5" verändern, damit auch die dritte Ebene einbezogen wird?
    Und muss überhaupt hier etwas geändert werden oder geht es anders?
    Vielen Dank im Voraus!

    Hier das Template:

    <?php $helper = \Netzmacht\Bootstrap\Navigation\Helper::create($th is, 'dropdown'); ?>
    <?php if ($helper->isChildrenList()): ?>
    <ul <?php echo $helper->getListAttributes(); ?>>
    <?php endif; ?>

    <?php foreach ($this->items as $i => $item): ?>
    <?php $itemHelper = $helper->getItemHelper($item); ?>
    <?php if ($itemHelper->isHeader()): ?>
    <?php if ($i > 0): ?>
    <li class="divider"></li><?php endif; ?>
    <li class="dropdown-header">
    <?php if ($itemHelper->isDropdown()): ?>
    <a href="#" class="dropdown-toggle" data-toggle="dropdown">
    <?php echo $item['title']; ?>
    <?php echo $itemHelper->getDropdownToggle(); ?>
    </a>
    <?php else: ?>
    <?php echo $item['title']; ?>
    <?php endif; ?>
    </li>
    <?php echo $item['subitems']; ?>
    <?php else: ?>
    <li <?php if ($itemHelper->getItemClass()): ?>class="<?php echo $itemHelper->getItemClass(
    ); ?>"<?php endif; ?>>
    <?php if ($itemHelper->isDropdown()): ?>
    <a href="#" class="dropdown-toggle" data-toggle="dropdown">
    <?php echo $item['link']; ?>
    <?php echo $itemHelper->getDropdownToggle(); ?>
    </a>
    <?php else: ?>
    <a <?php echo $itemHelper; ?><?php echo $item['target']; ?>><?php echo $item['link']; ?></a>
    <?php endif; ?>
    <?php echo $item['subitems']; ?>
    </li>
    <?php endif; ?>
    <?php endforeach; ?>
    <?php if ($helper->isChildrenList()): ?>
    </ul>
    <?php endif; ?>

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

    Support Contao

    Standard

    @admins: Bitte ins Forum contao-bootstrap verschieben, danke.

    Hallo ari, willkommen im Forum.

    Ich habe mir den Code jetzt mal durchgelesen, aber irgendwie erschließt sich mir dessen Logik nicht. Nein, Scherz beiseite . Das kann man so wirklich nicht gebrauchen. Du kannst direkt auf das Template verlinken https://github.com/contao-bootstrap/...dropdown.html5 (falls es das ist), oder hier im Forum den PHP-Wrapper benutzen, dann haben wir es schön bunt.
    PHP-Code:
    <?php $helper = \Netzmacht\Bootstrap\Navigation\Helper::create($this'dropdown'); ?>
    <?php 
    if ($helper->isChildrenList()): ?>
    <ul <?php echo $helper->getListAttributes(); ?>>
        <?php endif; ?>

        <?php foreach ($this->items as $i => $item): ?>
            <?php $itemHelper $helper->getItemHelper($item); ?>
            <?php if ($itemHelper->isHeader()): ?>
                <?php if ($i 0): ?>
                    <li class="divider"></li><?php endif; ?>
                <li class="dropdown-header">
                    <?php if ($itemHelper->isDropdown()): ?>
                        <a href="#" class="dropdown-toggle" data-toggle="dropdown">
                            <?php echo $item['title']; ?>
                            <?php echo $itemHelper->getDropdownToggle(); ?>
                        </a>
                    <?php else: ?>
                        <?php echo $item['title']; ?>
                    <?php endif; ?>
                </li>
                <?php echo $item['subitems']; ?>
            <?php else: ?>
                <li <?php if ($itemHelper->getItemClass()): ?>class="<?php echo $itemHelper->getItemClass(
                ); 
    ?>"<?php endif; ?>>
                    <?php if ($itemHelper->isDropdown()): ?>
                        <a href="#" class="dropdown-toggle" data-toggle="dropdown">
                            <?php echo $item['link']; ?>
                            <?php echo $itemHelper->getDropdownToggle(); ?>
                        </a>
                    <?php else: ?>
                        <a <?php echo $itemHelper?><?php echo $item['target']; ?>><?php echo $item['link']; ?></a>
                    <?php endif; ?>
                    <?php echo $item['subitems']; ?>
                </li>
            <?php endif; ?>
        <?php endforeach; ?>
        <?php if ($helper->isChildrenList()): ?>
    </ul>
    <?php endif; ?>
    Selbst das ist noch ganz schön aufwendig, wenn man sich da durchwurschteln will. Da wo steht
    PHP-Code:
    <?php echo $item['subitems']; ?>
    wird übrigens fürs nächste Leven nochmal das gleiche Template aufgerufen, das ist mit dem Core-Template auch so.

    Google mal nach 'bootstrap dropdown 3. level', da habe ich z.B. direkt das hier gefunden http://bootsnipp.com/snippets/featur...pdown-menu-bs3.

    Eigentlich müssten die weiteren Level auch so ausgegeben werden, wie die ersten. Schau im erzeugten Quellcode nach. Ich weiß nicht, was der "Helper" von dieser Erweiterung da macht. Wenn du eine Lösung für Bootstrap-Dropdown 3. Level hast, dann schau dir dort an, welches Markup gefordert ist. Vergleiche dann mit deinem FE-Quellcode. Wenn dann da irgendetwas zu viel ist oder fehlt, dann kann man evtl. weiterhelfen.
    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

Aktive Benutzer

Aktive Benutzer

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

Lesezeichen

Lesezeichen

Berechtigungen

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