We launched new forums in March 2019—join us there. In a hurry for help with your website? Get Help Now!
    • 18041
    • 13 Posts
    Tak domyślnie Wayfinger przypisuje klasy CSS poszczególnym pozycjąom w menu.
    <ul class="myajaxmenu">
    <li class="category first"><a href="/modx/index.php?id=1" title="Home">Home</a></li>
    <li class="category "><a href="/modx/index.php?id=2" title="Blog">Forum</a></li>
    
    <li class="category "><a href="/modx/index.php?id=15" title="MODx Features">Features</a>
    <ul style="display:none">
    <li class="first"><a href="/modx/index.php?id=16" title="Ajax">Ajax</a></li>
    <li><a href="/modx/index.php?id=22" title="Menus and Lists">Menus and Lists</a></li>
    <li><a href="/modx/index.php?id=14" title="Content Management">Manage Content</a></li>
    <li class="last"><a href="/modx/index.php?id=24" title="Extendable by design">Extendability</a></li>
    </ul>
    </li>
    
    </ul> 




    Co zrobić, że Wayfinger przypisywał klasy w CSS’ie tak jak na tym przykładzie?
    <ul  id="mainlevel">
    
    <li><a href="/modx/index.php?id=1" class="mainlevel" id="active_menu">Home</a></li>
    <li><a href="/modx/index.php?id=2" class="mainlevel">Forum</a></li>
    
    <li><a href="/modx/index.php?id=15" class="mainlevel">Features</a>
    <ul >
    <li><a href="/modx/index.php?id=16" class="sublevel">Ajax</a></li>
    <li><a href="/modx/index.php?id=22" class="sublevel">Menus and Lists</a></li>
    <li><a href="/modx/index.php?id=14" class="sublevel">Manage Content</a></li>
    <li><a href="/modx/index.php?id=24" class="sublevel">Extendability</a></li>
    </ul>
    </li>
    
    </ul>


      • 36541
      • 222 Posts
      Po pierwsze: przeczytaj dokumentację Wayfindera, jest tam wszystko. Znajdziesz ją w katalogu `/assets/snippets/wayfinder`.

      Następnie przeanalizuj wywołanie i szablony w domyślnej treści instalowanej z MODx. Zwróć uwagę na te parametry wywołania Wayfindera:

      &outerTpl=`OuterTpl`
      &innerTpl=`InnerTpl`
      &rowTpl=`RowTpl`
      &innerRowTpl=`InnerRowTpl`
      &firstClass=`first`
      &hereClass=`here`


      `&hereClass` odpowiada za wstawianie klasy dla aktywnego elementu. Ogólnie, używanie klasy do wskazywania aktywnego elementu jest lepszą praktyką niż używanie `id` i jest bardziej poprawne semantycznie. `ID` ma jednoznacznie identyfikować unikalny element, a aktywny jest inny na każdej stronie.

      Klasy Wayfindera są wstawiane w miejsce placeholdera `[+wf.classnames+]`. Od ciebie zależy do jakiego elementu HTML je przypiszesz. W szablonie możesz oczywiście wpisać klasy na sztywno, czyli np. `mainlevel`, albo `container`.

      Jeżeli koniecznie chcesz używać `id` to Wayfinder może nadawać unikalne `id` dla każdego elementu menu oparte na jego `documentId`. Id dokumentu jest wstawiane przez `[+wf.id+]`, a w wywołaniu musisz dodać parametr `&rowIdPrefix` z tekstem prefiksu.
        This is the web: the only thing you know about who will come is that you don't know who will come.
        • 18041
        • 13 Posts
        nie wiedziałem, że miedzy id, a class istnieje jakaś różnica

        ale problem udało mi się rozwiązać tym
        'outer' => isset($outerClass) ? $outerClass : 'mainlevel" id="mainlevel',
          • 36541
          • 222 Posts
          Quote from: Maker3 at Mar 30, 2007, 12:53 PM

          nie wiedziałem, że miedzy id, a class istnieje jakaś różnica

          Zamiast komentarza: http://www.w3.org/TR/html401/struct/global.html#h-7.5.2
            This is the web: the only thing you know about who will come is that you don't know who will come.