Freemarker szablon menu głównego.

Odpowiedz Nowy wątek
2015-03-13 16:20
0

Witam. Mam menu główne, które jest zasadniczo takie samo, dla każdej strony, z pewną drobną różnicą mianowicie jeśli wejdziemy na stronę o nas to podświetlany jest w menu głównym przycisk o nas. Mógłbym zrobić szablon z tym menu głównym dla wszystkich podstron i nie powielać już na tych podstronach kodu. Jednak nie wiem co zrobić z tym podświetleniem. Menu przedstawia się następująco:

    <header>
        <div class="container">
            <div class="navbar navbar-static-top">
                <div class="navigation">
                    <nav>
                        <ul class="nav topnav bold">
                            <li class="dropdown active"><a href="<@spring.url '/' />">Strona
                                    główna</a></li>
                            <li class="dropdown"><a href="<@spring.url '/about' />">O
                                    nas</a></li>
                            <li class="dropdown"><a href="#">Nasza oferta <i
                                    class="icon-angle-down"></i></a>
                                <ul class="dropdown-menu bold">
                                    <li><a href="<@spring.url '/accountoffer' />">Rachunki
                                            osobiste</a></li>
                                    <li><a href="<@spring.url '/investment' />">Oszczędności</a></li>
                                </ul></li>
                            <li class="dropdown"><a href="<@spring.url '/contact' />">Kontakt</a></li>
                            <li class="dropdown"><a href="<@spring.url '/login' />">Zaloguj
                            </a></li>
                        </ul>
                    </nav>
                </div>
            </div>
        </div>
    </header> 

I tutaj przykładowo jesteśmy na stronie "Strona główna" i ma on klasę w css active przez co jest podświetlony:

                            <li class="dropdown active"><a href="<@spring.url '/' />">Strona
                                    główna</a></li> 

Wtedy pozostałe podstrony mają klasę zwykłą dropdown. Czy da się jakoś zrealizować, żebym miał szablon tego menu a na podstronach już jakoś ustawiał, który element na być podświetlony? Czy nie ma takiej możliwości?

Pozostało 580 znaków

2015-03-20 03:47
1

Stwórz sobie macro z parametrem i potem używaj tego na wybranych stronach. Ewentualnie można zawsze stworzyć sobie skrypt w js, który ustawi Ci klasę active na podstawie adresu w przeglądarce.
Gdzieś kiedyś czytałem czy ktoś mi mówił, że informacja o aktywnym menu powinna iść z serwera.


<#macro menu active>
<#if active='main'>
<li class="dropdown active"><a href="<@spring.url '/' />">Strona
                                    główna</a></li>
<#else>
<li class="dropdown"><a href="<@spring.url '/' />">Strona
                                    główna</a></li>
</#if>
</#macro>

Użycie
<#import '....ftl' as m/>
<@m.menu 'main'/>

Pozostało 580 znaków

Odpowiedz
Liczba odpowiedzi na stronę

1 użytkowników online, w tym zalogowanych: 0, gości: 1, botów: 0