BC 1.3 Frage zu Menü Syntax

Hier können Tipps und Tricks rund um die Verwendung von BlackCat CMS gepostet werden.
Benutzeravatar
shadowcat
Administrator
Beiträge: 5283
Registriert: Di 5. Feb 2013, 10:36
Kontaktdaten:

Re: BC 1.3 Frage zu Menü Syntax

Beitrag von shadowcat »

Falls Du mit mehreren Menüs arbeitest und daher die MenüID mit angeben mußt, änder die erste Zeile:

Code: Alles auswählen

<?php $this->scope["pages"] = CAT_Helper_Page::getPagesForMenu($menu_number); ?>
$menu_number durch die Nummer des Menüs ersetzen, also z.B. 1.
My software never has bugs, it just develops random features.
If it’s not broken, keep fixing it until it is
DG70
Beiträge: 174
Registriert: Fr 5. Dez 2014, 12:59

Re: BC 1.3 Frage zu Menü Syntax

Beitrag von DG70 »

Soo ... hab Deine Zeilen mal eben in meine header.tpl kopiert und einmal ohne Unterseite, einmal mit Unterseite "gestartet.
Das Dropdown selbst funktioniert, allerdings ohne "aktive" Seite (kein nav-item active) ...

Standard ohne Dropdown:
2020-03-29_ohne_Untermenu-c.png
2020-03-29_ohne_Untermenu-c.png (9.84 KiB) 5189 mal betrachtet

Und hier mit Dropdown:
2020-03-29_mit_Untermenu-c.png
2020-03-29_mit_Untermenu-c.png (22.94 KiB) 5189 mal betrachtet

Das die Ebenen im Bootstrap eingeschränkt sind wusste ich gar nicht, ist erstmal kein "Show-Stopper" :D
Benutzeravatar
shadowcat
Administrator
Beiträge: 5283
Registriert: Di 5. Feb 2013, 10:36
Kontaktdaten:

Re: BC 1.3 Frage zu Menü Syntax

Beitrag von shadowcat »

Naja, dafür gibt's Lösungen, nur halt nicht out-of-the-box.
My software never has bugs, it just develops random features.
If it’s not broken, keep fixing it until it is
Benutzeravatar
shadowcat
Administrator
Beiträge: 5283
Registriert: Di 5. Feb 2013, 10:36
Kontaktdaten:

Re: BC 1.3 Frage zu Menü Syntax

Beitrag von shadowcat »

active - hab ich beim subitem vergessen. :oops: Steht auch im Beispiel in den Bootstrap Docs nicht drin, daher weiß ich nicht, ob der im <a> richtig ist.

Code: Alles auswählen

<?php $this->scope["pages"] = CAT_Helper_Page::getPages(); ?>

{template pagetree pages}
  {foreach $pages item}
    {if $item.level==0}
    <li class="nav-item{if $item.is_current} active{/if}{if $item.children} dropdown{/if}">
      <a class="nav-link{if $item.children} dropdown-toggle" id="navbarDropdown" role="button" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false"{else}"{/if} href="{$item.href}">{$item.menu_title}{if $item.current} <span class="sr-only">(current)</span>{/if}</a>
      {if $item.children}
      <div class="dropdown-menu" aria-labelledby="navbarDropdown">
          {foreach $pages subitem}{if $subitem.parent==$item.page_id}
          <a class="dropdown-item{if $subitem.is_current} active{/if}" href="{$subitem.href}">{$subitem.menu_title}</a>
          {/if}{/foreach}
      </div>
      {/if}
    </li>
    {/if}
  {/foreach}
{/template}

<nav class="navbar navbar-expand-lg navbar-light bg-light">
  <a class="navbar-brand" href="#">Navbar</a>
  <button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#navbarSupportedContent" aria-controls="navbarSupportedContent" aria-expanded="false" aria-label="Toggle navigation">
    <span class="navbar-toggler-icon"></span>
  </button>

  <div class="collapse navbar-collapse" id="navbarSupportedContent">
    <ul class="navbar-nav mr-auto">
{pagetree $pages}
    </ul>
  </div>
</nav>

Ist ansonsten diese Bedingung:

{if $item.is_current} active{/if}
bzw.
{if $subitem.is_current} active{/if}

Ich hatte nur current geschrieben, is_current sollte richtig sein. Sorry.
My software never has bugs, it just develops random features.
If it’s not broken, keep fixing it until it is
DG70
Beiträge: 174
Registriert: Fr 5. Dez 2014, 12:59

Re: BC 1.3 Frage zu Menü Syntax

Beitrag von DG70 »

Bin sprachlos ... sieht für mich alles richtig aus :daumen:

Vielen Dank!!
Benutzeravatar
shadowcat
Administrator
Beiträge: 5283
Registriert: Di 5. Feb 2013, 10:36
Kontaktdaten:

Re: BC 1.3 Frage zu Menü Syntax

Beitrag von shadowcat »

JIPPIEH!!! :daumen:
My software never has bugs, it just develops random features.
If it’s not broken, keep fixing it until it is
Benutzeravatar
creativecat
Beiträge: 1430
Registriert: Mi 6. Feb 2013, 12:41
Kontaktdaten:

Re: BC 1.3 Frage zu Menü Syntax

Beitrag von creativecat »

Jetzt ist mir noch was aufgefallen. Wenn eine Seite nur versteckte Unterseiten hat, dann bekommt die parent trotzdem "has_child", obwohl ja eigentlich keine Unterseiten im Menü angezeigt wird.... ich bin mit der wbList bissl auf Kriegsfuß, aber gib mir vielleicht mal nen Tipp, wo ich das wie anpassen kann ;-)
Benutzeravatar
shadowcat
Administrator
Beiträge: 5283
Registriert: Di 5. Feb 2013, 10:36
Kontaktdaten:

Re: BC 1.3 Frage zu Menü Syntax

Beitrag von shadowcat »

Oh, hm, eigentlich gar nicht... das wäre eher eine Anpassung im Page Helper. Der sollte das Attribut nicht auf true setzen wenn die Unterseiten nicht sichtbar sind.

Edit: Wobei es je nach Kontext ja unterschiedlich ist, ob eine Seite sichtbar ist oder nicht. Es gibt Seiten, die sind nie sichtbar, und solche, die sind nur für bestimmte Besucher sichtbar. Puh...

Ansonsten bei der Variante mit dem HTML-Template die Bedingung entsprechend ändern.
My software never has bugs, it just develops random features.
If it’s not broken, keep fixing it until it is
Benutzeravatar
creativecat
Beiträge: 1430
Registriert: Mi 6. Feb 2013, 12:41
Kontaktdaten:

Re: BC 1.3 Frage zu Menü Syntax

Beitrag von creativecat »

Ich hab es jetzt rein mit CSS gelöst - darf man nur nichts am Menü ändern ;-)
Ich glaube für 1.3.x ist das nichts wichtiges mehr, oder?
Benutzeravatar
shadowcat
Administrator
Beiträge: 5283
Registriert: Di 5. Feb 2013, 10:36
Kontaktdaten:

Re: BC 1.3 Frage zu Menü Syntax

Beitrag von shadowcat »

Ginge zur Not auch mit JavaScript bzw. jQuery, ist zwar unelegant, aber machbar. Ich kann nicht beurteilen, wie viele Seiten von diesem "Bug" betroffen sind, vermutlich nicht sehr viele. Halt nur die, die diese Informationen auch wirklich benutzen, um Seiten, die Kindelemente haben, zu "markieren". Und davon dann wiederum auch nur die, bei denen es dann nur nicht sichtbare Unterseiten gibt.
My software never has bugs, it just develops random features.
If it’s not broken, keep fixing it until it is
Antworten