Strony:

Własne menu po lewej odpowiednie do dzialu

Amdy

No avatar

2008-04-07 03:46

mam pytanie czy jest mozliwosc w quick.cms'ie aby po lewej stronie w menu byly dzialy odpowiedzialne za dany DZIAŁ. już tłumacze

Jeśli włączymy DOWNLOAD to w lewym menu mamy tylko do wyboru:
- tapety
- wygaszacze
- ikony

Jesli natomiast klikniemy TEAM to w lewym menu juz jest zupelnie inna tresc np.:
-AMDY
-MAGIX
-JUZEK
-CZESIEK
itp id

jest taka mozliwosc? jesli tak to jak to zrobic

» Quick.Cms v2.x

merci

No avatar

2008-04-07 09:40

Amdy - niestety nie jest to proste do zrobienia, nie jestem w stanie wytlumaczyc Ci jak to zrobic, wiec jezeli nie znasz dobrze PHP, to moze popros kogos o zrobienie tego dla Ciebie.

Amdy

No avatar

2008-04-07 12:49

mniej wiecej znam ale nie wiem gdzie tego szukac itp

jakies wskazówki może?

treewood (OpenSolution)

Avatar: treewood

2008-04-08 09:16

Amdy - mozesz sprobowac zrobic tak ...
1. Edytuj config/lang_pl.php i zmien

$aMenuTypes[1] = 'Menu górne nad logo';
$aMenuTypes[2] = 'Menu górne pod logo';
$aMenuTypes[3] = 'Kategorie';
$aMenuTypes[4] = 'Producenci';

na np:

$aMenuTypes[1] = 'Menu górne nad logo';
$aMenuTypes[2] = 'Menu górne pod logo';
$aMenuTypes[3] = 'Download;
$aMenuTypes[4] = '
Team';
$aMenuTypes[5] = '
Kolejny typ menu 1';
$aMenuTypes[6] = '
Kolejny typ menu 2;



2. Nastepnie pod tym (w tym samym pliku) dodaj:

$aPagesTypes = Array( => 3=> 4'Id_strony' => 'Typ menu lewego' );

Kod ten bedzie zawieral informacje, ze dla danej strony bedzie wyswietlany konkretny typ menu. W przykladzie strona o id 1 bedzie wyswietlala typ menu 3, strona o id 2 typ menu 4. Musisz wpierw pododawac strony a nastepnie poprzydzielac do ich id typy. Jesli nie zdefiniujesz to nie bedzie sie wyswietlalo lewe menu.

3. Edytuj templates/themes/default.php i zamien

  $sMenu3 $oPage->throwMenu'menu_3.tpl'3$iContent);
  
$sMenu4 $oPage->throwMenu'menu_4.tpl'4$iContent);

na

  if( isset( $aMenuTypes[$iContent] ) )
    
$sMenuLeft $oPage->throwMenu'menu_left.tpl'$aMenuTypes[$iContent], $iContent);


4. Zmien nazwe np. templates/menu_3.tpl na templates/menu_left.tpl, usun templates/menu_4.tpl a w templates/container.tpl wywal $sMenu3 i $sMenu4 i wstaw zamiast nich $sMenuLeft

Ok ... troche sie napocilem by to napisac i powinno dzialac dobrze. Przerob sobie teraz templates/menu_left.tpl tak by dzialalo prawidlowo. Uzyskasz dzieki temu to, ze jesli dla strony przypiszesz w config/lang_pl.php konkretny typ to wyswietli sie on w lewym menu z szablonu templates/menu_left.tpl. Jesli nie przypiszesz nic to nie wyswietli sie nic w lewym menu.

Amdy

No avatar

2008-04-09 00:16

JESTES WIELKI bardzo mi pomogles!! dzieki Bratku

1Miłość!

svp

Avatar: svp

2008-04-10 16:23

Witam,
z zapalem sie rzucilem do sprawdzenia tego. Zadzialalo ..choc dopiero po drobnej zmianie:

if( isset( $aMenuTypes[$iContent] ) )
$sMenuLeft = $oPage->throwMenu( 'menu_left.tpl', $aMenuTypes[$iContent], $iContent, 1 );

na:

if( isset( $aMenuTypes[$iContent] ) )
$sMenuLeft = $oPage->throwMenu( 'menu_left.tpl', $aPagesTypes[$iContent], $iContent, 1 );

...i wtedy ze smutkiem stwierdzilem ze to tylko polowa sukcesu:( ...rozwiazanie jest ok - pod warunkiem ze nikt nie bedzie dodawal nowych stron - bo wtedy znowu nalezy przypisywac 'Id_nowej strony' => 'Typ menu lewego' w kodzie, a nie zawsze osoba obslugujaca panel admina musi sie znac na programowaniu. Niestety z tym juz sobie nie moge poradzic.

svp

winzent

No avatar

2008-05-13 18:43

Witam. Wszystko pieknie, tylko że zamiana lewego menu działa gdy id strony jest jednocyfrowe. Od 10 zaczynaja sie problemy gdyż lewe menu przestaje byc wyswietlane. W czym moze byc problem?

wewior (OpenSolution)

Avatar: wewior

2008-05-15 10:39

winzent >> moze problem w tym ze zrobiles id strony i typu w ramach apostrofow np:
$aPagesTypes = Array( 1 => 3, 2 => 4, '10' => '11' );
moze to powoduje problem, nie powinno ale roznie bywa z interpretacja typow zmiennych na roznych serwerach
moze lepszym rozwiazaniem bedzie stworzenie osobnego tematu dla tych podstron, wtedy bedzie mozna wybrac przy dodawaniu strony ktora ma sie wyswietlac, wiecej na ten temat tutaj:
http://opensolution.org/Quick.Cms/docs/?id=tips#tematy_-_zmiana_wygladu_calej_strony_na_wybranej_podstronie

winzent

No avatar

2008-05-15 11:21

z lub bez apostrofow - nie dziala.
drugie rozwiazanie, no wszystko swietnie tyle ze jak wchodze w jakas opcje w submenu po lewej to oczywiscie submenu znika. nie bede chyba robil do KAZDEJ podstrony osobnego pliku php bo to sie mija z pojeciem cms. jest jakies normalne rozwiazanie?

winzent

No avatar

2008-05-15 11:23

no nic. dziala :). napisalem zanim pomyslalem. dzieki za pomoc.

mikal

No avatar

2008-07-28 10:46

prubowalem to zrobic lecz u mnie nie działa :( co rozumiesz pisząc

"Przerob sobie teraz templates/menu_left.tpl tak by dzialalo prawidlowo."

przypisałem strony do konkretnych menu lecz nic mi sie nie wyświetla

Kordian

Avatar: Kordian

2008-08-30 00:43

Mam na to nowy sposób, tak prostu, że aż nie rozumiem czemu wcześniej tego nie zrobiłem.

Menu u góry czyli menu 1,2 wywalam bo mi nie potrzebne. Potrzebuje jedynie menu górne z podstronami.
Wrzucam tam menu 3 i wyświetlanie podstron ustawiam w css. Banalnie proste....

mmada

Avatar: mmada

2008-09-21 17:36

kordian a mozesz cos wiecej na ten temat powiedziec ?

marcinsieja

No avatar

2008-09-29 05:24

Zrobiłem wszystko jak pisał treewood z poprawką svp, ale myślę, że problem leży w konfiguracji pliku menu_left.tpl. Podaję poniżej jak wygląda u mnie ten plik. Jeśli ktoś będzie na tyle uprzejmy to proszę o wskazówki jak go poprawić. Oto on:

<!-- BEGIN LIST --><li class="l$aData[sStyle]"><a href="$aData[sLinkName]" $aData[sSelected]>$aData[sName]</a>$aData[sSubContent]</li><!-- END LIST -->

<!-- BEGIN HEAD --><div id="menu3"><div class="type">$aData[aPagesTypes]</div><ul><!-- END HEAD -->
<!-- BEGIN FOOT --></ul></div><!-- END FOOT -->

<!-- BEGIN HEAD_SUB --><ul class="sub$aData[iDepth]"><!-- END HEAD_SUB -->
<!-- BEGIN FOOT_SUB --></ul><!-- END FOOT_SUB -->

<!-- BEGIN SELECTED -->class="selected"<!-- END SELECTED -->

W tej sytuacji nie wyświetla mi się w ogóle lewe menu.

Codzień czegoś nowego się uczę... i tak do śmierci

Makaron

Avatar: Makaron

2008-09-29 10:07

Plik raczej ok właściwie on nie ma aż tak istotnego znaczenia.. Błędy w nim mogą spowodować nieprawidłowe wyświetlanie, ale coś wyświetlać się powinno, więc dopatrywałbym się błędu w innym miejscu..

marcinsieja

No avatar

2008-09-29 12:25

W pliku config/lang_pl.php mam następującą treść:

...
$aMenuTypes[1] = 'Menu górne nad logo';
$aMenuTypes[2] = 'Menu górne pod logo';
$aMenuTypes[3] = 'Firma;
$aMenuTypes[4] = 'Usługi';
$aMenuTypes[5] = 'Galeria';
$aMenuTypes[6] = 'Uprawnienia';
$aMenuTypes[7] = 'Kontakt';

$aPagesTypes = Array( '33' => '3', '34' => '4', '35' => '5', '36' => '6', '37' => '7' );
...

W pliku templates/themes/default.php mam następującą treść:

...
if( !isset( $bBlockPage ) ){
$sMenu1 = $oPage->throwMenu( 'menu_1.tpl', 1, $iContent, 0 );
$sMenu2 = $oPage->throwMenu( 'menu_2.tpl', 2, $iContent, 0 );
if( isset( $aMenuTypes[$iContent] ) )
$sMenuLeft = $oPage->throwMenu( 'menu_left.tpl', $aPagesTypes[$iContent], $iContent, 1 );
}
...

Plików templates/menu_3.tpl oraz templates/menu_4.tpl nie mam ale w zamian za to jest templates/menu_left.tpl

W pliku templates/container.tpl mam następującą treść:

...
<div id="column">
$sMenuLeft
$sPoll
<div id="banner1">
$aBanners[1]
</div>
$aBoxes[1]
$aBoxes[2]
$aBoxes[3]
$aBoxes[4]
$sNewsletterForm
</div>
...

Nie wiem co mógłbym więcej zrobić, bo możliwe, że jakiś drobny błąd gdzieś istnieje, ale nie potrafię znaleźć. Proszę o pomoc

Codzień czegoś nowego się uczę... i tak do śmierci

marcinsieja

No avatar

2008-09-30 08:16

Nawet jeśli zrobię w pliku templates/themes/default.php:


if( !isset( $bBlockPage ) ){
$sMenu1 $oPage->throwMenu'menu_1.tpl'1$iContent);
$sMenu2 $oPage->throwMenu'menu_2.tpl'2$iContent);
}

if( isset( 
$aMenuTypes[$iContent] ) )
$sMenuLeft $oPage->throwMenu'menu_left.tpl'$aPagesTypes[$iContent], $iContent);


Nic się nie zmienia

Codzień czegoś nowego się uczę... i tak do śmierci

marcinsieja

No avatar

2008-09-30 14:11

Czy jest ktoś w stanie mi pomóc? Pilne

Codzień czegoś nowego się uczę... i tak do śmierci

marcinsieja

No avatar

2008-10-04 15:33

Witam ponownie!
Działać działa, ale dlaczego muszę definiować za każdym razem że dana strona z menu np. Usługi musi być przyporządkowana do danego menu po lewej stronie skoro i tak tam jest.

W pliku templates/themes/default.php


$aPagesTypes 
= Array( => 3=> 4'Id_strony' => 'Typ menu lewego' );


Jeśli w menu USŁUGI mam następującą listę podmenu:

id 4 USŁUGI
id 30 - Usługi 01
id 31 - Usługi 02
id 34 - - Usługi 02 A
id 35 - - Usługi 02 B
id 36 - - Usługi 02 C
id 32 - Usługi 03
id 33 - Usługi 04

Więc teraz, aby menu wyświetlało się zawsze (czyli nie znikało po kliknięciu) muszę stworzyć następującą
W pliku templates/themes/default.php


$aPagesTypes 
= Array( => 3=> 4'30' => '4''31' => '4''32' => '4''33' => '4''34' => '4''35' => '4''36' => '4' );


Jeśli będę dodawał kolejne strony to za każdym razem muszę edytować ten plik i dopisać relacje. To trochę na okrągło i z tego powodu nie będę mógł klientowi udostępniać panelu administracyjnego, bo co z tego, że doda sobie stronę, skoro i tak po wybraniu jej z menu całość menu lewego zniknie, bo nie będzie istniała relacja z nowym Id strony i lewym menu, choć ta strona w tym menu występuje. Czy jest jakaś rada na to? Może jakiś skrypt, który dopisywałby relacje automatycznie?

Codzień czegoś nowego się uczę... i tak do śmierci

Makaron

Avatar: Makaron

2008-10-06 09:39

No niestety ten sposób jest taki, a nie inny zresztą przed solucją treewood uprzedzał, że nie jest to rozwiązanie w pełni automatyczne.. Istnieje także inny sposób na tego typu funkcjonalność mianowicie przenieść wyświetlanie podstron z głównej części strony do lewej kolumny i za pomocą podstron tworzyć menu.. Gdzieś na forum dałem także solucje co zrobić, aby podstrony nie znikały jeśli wejdziemy w konkretną podstronę..

Strony:
Do góry
o nas | kontakt