BC 1.3 Frage zu Menü Syntax

Hier können Tipps und Tricks rund um die Verwendung von BlackCat CMS gepostet werden. Später wird es hierfür einen speziellen Bereich auf unserer Homepage geben.
Benutzeravatar
shadowcat
Administrator
Beiträge: 4324
Registriert: Di 5. Feb 2013, 10:36
Kontaktdaten:

Re: BC 1.3 Frage zu Menü Syntax

Beitrag von shadowcat » Fr 27. Mär 2020, 14:53

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.
BC1: PHP 5.5.11 (cli), mySQL 5.6.16 with 'strict' enabled, Apache 2.4.9
BC2: PHP 7.2.7, mariaDB 10.2.13, no Apache

DG70
Beiträge: 72
Registriert: Fr 5. Dez 2014, 12:59

Re: BC 1.3 Frage zu Menü Syntax

Beitrag von DG70 » Mo 30. Mär 2020, 16:28

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) 458 mal betrachtet

Und hier mit Dropdown:
2020-03-29_mit_Untermenu-c.png
2020-03-29_mit_Untermenu-c.png (22.94 KiB) 458 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: 4324
Registriert: Di 5. Feb 2013, 10:36
Kontaktdaten:

Re: BC 1.3 Frage zu Menü Syntax

Beitrag von shadowcat » Mo 30. Mär 2020, 16:40

Naja, dafür gibt's Lösungen, nur halt nicht out-of-the-box.
My software never has bugs, it just develops random features.
BC1: PHP 5.5.11 (cli), mySQL 5.6.16 with 'strict' enabled, Apache 2.4.9
BC2: PHP 7.2.7, mariaDB 10.2.13, no Apache

Benutzeravatar
shadowcat
Administrator
Beiträge: 4324
Registriert: Di 5. Feb 2013, 10:36
Kontaktdaten:

Re: BC 1.3 Frage zu Menü Syntax

Beitrag von shadowcat » Mo 30. Mär 2020, 16:51

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.
BC1: PHP 5.5.11 (cli), mySQL 5.6.16 with 'strict' enabled, Apache 2.4.9
BC2: PHP 7.2.7, mariaDB 10.2.13, no Apache

DG70
Beiträge: 72
Registriert: Fr 5. Dez 2014, 12:59

Re: BC 1.3 Frage zu Menü Syntax

Beitrag von DG70 » Mo 30. Mär 2020, 18:33

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

Vielen Dank!!

Benutzeravatar
shadowcat
Administrator
Beiträge: 4324
Registriert: Di 5. Feb 2013, 10:36
Kontaktdaten:

Re: BC 1.3 Frage zu Menü Syntax

Beitrag von shadowcat » Di 31. Mär 2020, 08:31

JIPPIEH!!! :daumen:
My software never has bugs, it just develops random features.
BC1: PHP 5.5.11 (cli), mySQL 5.6.16 with 'strict' enabled, Apache 2.4.9
BC2: PHP 7.2.7, mariaDB 10.2.13, no Apache

Benutzeravatar
creativecat
Beiträge: 931
Registriert: Mi 6. Feb 2013, 12:41
Kontaktdaten:

Re: BC 1.3 Frage zu Menü Syntax

Beitrag von creativecat » Di 14. Apr 2020, 15:38

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: 4324
Registriert: Di 5. Feb 2013, 10:36
Kontaktdaten:

Re: BC 1.3 Frage zu Menü Syntax

Beitrag von shadowcat » Di 14. Apr 2020, 15:41

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.
BC1: PHP 5.5.11 (cli), mySQL 5.6.16 with 'strict' enabled, Apache 2.4.9
BC2: PHP 7.2.7, mariaDB 10.2.13, no Apache

Benutzeravatar
creativecat
Beiträge: 931
Registriert: Mi 6. Feb 2013, 12:41
Kontaktdaten:

Re: BC 1.3 Frage zu Menü Syntax

Beitrag von creativecat » Mi 15. Apr 2020, 07:56

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: 4324
Registriert: Di 5. Feb 2013, 10:36
Kontaktdaten:

Re: BC 1.3 Frage zu Menü Syntax

Beitrag von shadowcat » Mi 15. Apr 2020, 08:04

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.
BC1: PHP 5.5.11 (cli), mySQL 5.6.16 with 'strict' enabled, Apache 2.4.9
BC2: PHP 7.2.7, mariaDB 10.2.13, no Apache

Antworten