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