ukrycie menu w przypadku braku podmenu

Pomoc po polsku dla CMS Made Simple
Post Reply
maranc
Forum Members
Forum Members
Posts: 249
Joined: Tue May 04, 2010 5:04 pm

ukrycie menu w przypadku braku podmenu

Post by maranc »

Witam, pytanie do zaawansowanych użytkowników cms. Tworząc dowolną stronę mamy do wyboru opcję: pokaż lub  ukryj w menu. Tworząc podstrony (dzieci tej strony) ponownie wybieramy, czy pokazać je w podmenu itd. Jeżeli chcemy, aby dana strona (podstrona) nie była pokazana, wystarczy odznaczyć "nie pokazuje w menu" i problem z głowy. Mi chodzi jednak o coś takiego: w 'sidebar' po lewej stronie (gdzie wyświetla się podmenu) mam kod:


MENU
{menu number_of_levels='3' start_level='2' template='minimal_menu.tpl'}



Problem powstaje wtedy gdy, klient klika łącze do jakiejś strony, która:
A. Zaznaczona została jako "nie pokazuj w menu"
B. Nie ma żadnych 'dzieci" czyli podstron (po prostu brak jakiegokolwiek 'podmenu').

W efekcie w lewym sidebarze powstaje głupi efekt, w takiej postaci, iż wyświetla się blok 'Menu' ale nie ma tutaj żadnej zawartości. Zobrazuje to "łopatologicznie":

A. Jeżeli strona jest pokazana w menu i załóżmy ma podstrony lewy sidebar wygląda tak:

MENU

podstrona 1
podstrona 2
podstrona 3

/koniec bloku menu/


B. Jeżeli strona jest odznaczona jako 'nie pokazuj w menu' oraz nie ma dzieci (podstron) wygląda to tak:

MENU

pusta zawartość

/koniec bloku menu/

Pytanie właściwe: czy ktoś może zna sposób (UDT, instrukcje warunkowe lub cokolwiek innego), który pozwoli w przypadku B. ukryć cały blok menu. Dodam, że oczywiście jest jeden sposób który pozwala to zrobić: wystarczy dla takiej strony wybrać inny szablon (np zrobić kopię szablonu strony z którego aktualnie korzystamy, a następnie usunąć fragment kodu odpowiedzialny za wyświetlanie menu). Rozwiązanie te ma jednak pewne wady: podwójna praca w każdym szablonie, w przypadku poprawek błędów itp. Mi chodzi o rozwiązanie, w którym korzystam z jednego szablonu strony. Dodam, że poświęciłem masę czasu na przewertowanie forum EN, ale nie znalazłem rozwiązań.

Pozdrawiam,
Marek A.
maranc
Forum Members
Forum Members
Posts: 249
Joined: Tue May 04, 2010 5:04 pm

Re: ukrycie menu w przypadku braku podmenu

Post by maranc »

Ok, trochę poszperałem i jeden sposób znalazłem, z wykorzystaniem atrybutu dodatkowego strony. Każda stworzona strona może mieć trzy dodatkowe atrybuty (wybieramy edycja strony / zakładka 'opcje': są tam pola: Atrybut dodatkowy strony 1, Atrybut dodatkowy strony 2, Atrybut dodatkowy strony 3. W moim przykładzie wykorzystałem 'Atrybut dodatkowy strony 2', wartość wprowadzona dla tego atrybutu: 'hidemenu' (oczywiście każdy wprowadza to co jemu wygodne). W przypadku B. opisanym powyżej edytujemy szablon strony, żeby ukryć blok menu, wprowadzamy kod:

{page_attr key='extra2' assign='extra2'}    /* można zmienić na extra1 lub extra3 */
{if $extra2 == 'hidemenu'} 
dowolna treść, która pokaże się zamiast bloku menu, jeżeli chcemy ukryć cały pusty blok menu, np. jakiś slogan, reklama etc.

{else}
       
{menu number_of_levels='3' start_level='2' template='minimal_menu.tpl'} /* to wyświetli właściwe menu */
         
{/if}

Może to się komuś przyda, może też ktoś ma inne propozycje...

Marek A.
Post Reply

Return to “Polish - Polski”