Page 1 of 1

[ISSPRESTA] Ifai

Posted: Tue Apr 27, 2010 1:57 pm
by Airidas
Sveiki, nesugalvoju paprasto ifo :)

Jei turite laisva sekundele pagelbekit.

Reikia sugalvoti if sakini, kuris patikrintu ar cms {menu} turi 4 punktus ar 5.

Na atrodytu tai taip, tik nezinau kaip parasyt uzklausa:

{if (uzklausa) then

veiksmas}
{else}
(veiksmas 2)
{/if}

Re: Ifai

Posted: Tue Apr 27, 2010 2:09 pm
by Augustas
o pvz toks neveikia?
{if count($nodelist)==4}
daryk sita
{elseif count($nodelist)==5}
daryk kita
{/if}

Re: Ifai

Posted: Tue Apr 27, 2010 2:19 pm
by Airidas
Augustas wrote: o pvz toks neveikia?
{if count($nodelist)==4}
daryk sita
{elseif count($nodelist)==5}
daryk kita
{/if}
Pacia uzklausa tikrina, taciau atsakymas neigiamas. Zodziu uzklausa visasada false, kad ir kiek menu itemu yra.

Na galvoju gal kaip ir su menu items padaryt, arba kazka panasaus if id="5" == active, niekaip nezinau kaip tvarkigai parasyti uzklausa. Galima formuluoti, if 1 aktyvus, else...

Re: Ifai

Posted: Tue Apr 27, 2010 2:26 pm
by Augustas
Tai tada daryk grubiai taip:
pirmiausia pravaryk nieko nedaranti cikla:

{foreach from=$nodelist item=node name=manomenu}{/foreach}
Spausdinam meniu elementu skaiciu: {$smarty.foreach.manomenu.iteration}

ir tada dar karta varyk per cikla su visais meniu ir daryk ka reikia:
{foreach from=$nodelist item=node}
DAROM
{/foreach}

Re: Ifai

Posted: Tue Apr 27, 2010 2:29 pm
by Augustas
sita sakini kuri uzrasiau, reikia rasyti Menu Manager sablone.

Re: Ifai

Posted: Tue Apr 27, 2010 3:09 pm
by Airidas
Augustai, labai dekingas uz pagalba, taciau turiu antra problema.

Pirmaji tavo salygos sakini tikrinau iskarto vat taip:

{if count($nodelist) == 5}

                                {menu number_of_levels="1"}
  }
{elseif count($nodelist)== 4}

{menu number_of_levels="1"}

{/if}

Perbandes daugybe kitu variantu, pabandziau dar karta tik sitaip:

{if count($nodelist) == 5}

                                123
{elseif count($nodelist)== 4}

                              999
{/if}

Taigi nesuprantu kodel pirmas variantas neveikia, o antras veikia.
Jeigu {meniu} uzrasas puslapyje islieka, tada nodelista suskaiciuoja, taciau kai pati meniu dedi i salygos sakini, jo neskaiciuoja. Ka daryt?

Re: Ifai

Posted: Tue Apr 27, 2010 3:23 pm
by vilkis
Airidai, nelabai aišku, ką nori konkrečiai padaryti. Galima būtų pagelbėti žinant galutinį tikslą. Meniu kvietimas pačiame meniu šablone gali užciklinti...
vilkis

Re: Ifai

Posted: Tue Apr 27, 2010 3:26 pm
by Airidas
Kai tame paciame dive, jis mato kita {menu number_of_levels="1"}, tada jis padaro ko prasomas, taciau, tinklapyje 2 menu. uzkomentuoti cms tago neina kad jis butu tik puslapio komentare.

as noriu padaryti, kad jeigu meniu turi 4 punktus mestu viena css taga, jei 5 tai kita.
Viskas veikia esant tokiam kodui.




/{menu number_of_levels="1"}/

                                {if count($nodelist) == 4}{menu number_of_levels="1"}
{elseif count($nodelist) == 5}
{menu number_of_levels="1"}
{/if}

                       
                                 

Taciau pirminis menu man nereikalingas.

Re: Ifai

Posted: Tue Apr 27, 2010 3:29 pm
by vilkis
paprasta:

Code: Select all

{capture name=menu}
 {menu number_of_levels="1"}
{/capture}
vilkis

Re: Ifai

Posted: Tue Apr 27, 2010 3:45 pm
by Airidas
Aciu Augustai ir Vilki, Suveike.

Re: [ISSPRESTA] Ifai

Posted: Tue Apr 27, 2010 3:57 pm
by vilkis
čia nėra optimalus būdas - geriau būtų meniu kviesti meniu tagą tik vieną kartą, o jau meniu šablone naudoti kodą

Code: Select all

{if count($nodelist)==4}
daryk sita
{elseif count($nodelist)==5}
daryk kita
{/if}
kaip pasiūlė Augustas. Bet jai tinka toks sprendimas, tai gerai :)

vilkis