Jquery Tabs – zpracování v šabloně

Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
MW
Člen | 626
+
0
-

Zdravím,

mam zprovozněné jquery Tabs
a teď jsem musel předělat db na podzáložky/podkategorie

Tabulka kategorii tedy má ID,PARENT,NAME a já teď potřebuju, abych měl záložky a v nich případné podzáložky.

Nevím, jak to realizovat v šabloně. Teď jako jednoúrovňové to mam nejak takto:
A ja ted potrebuju, aby se me v kazde zalozce udelal ještě jeden blok pozdalozek podle PARENT.
Resil toto někdo?

Díky

<div>
    <div id=tabs>
	<ul>
	    {foreach $docCat as $it}
	    <li id="{$it[id]}">{!$ic}<a href="#tabs-{$it[id]}">{$it[name]}</a></li>
	    {/foreach}
	</ul>

	{foreach $docCat as $it}

	<div id="tabs-{$it[id]}">

	    <h2>{$it[name]}</h2>

	</div>
	{/foreach}
</div>
saimons
Člen | 293
+
0
-

Ted presne neni poznat s cim mas problem, jestli jak vypsat elementy pro jQuery nebo jak udelat select do db? A pokud jde o select tak pouzivas NDB? Pokud je to tento problem, tak by melo fungovat related() ve vnorenem cyklu na tu samou tabulku a s druhym parametrem ciziho klice.

MW
Člen | 626
+
0
-

Jde me o logiku template a i o dotaz.
Do sablony ted posilam vsechny Kategorie.. je to jednoduchy.

Ale ted nevim, jak to v sablone rozlisit.. s dotazem asi nic nevymyslim.. tam poslat musim vsechny kategorie..

Proste usporadat elementy, aby to fungovalo jako podzalozky…

saimons
Člen | 293
+
0
-

Nevim uplne jiste jestli to v NDB funguje, ale co udelat prvni SELECT na tu tabulku, kde WHERE PERENT_ID IS NULL a pak pres related(‚kategorie‘, ‚PERENT_ID‘) vypsat podrazene prvky. Takze budou dva vnorene foreache, ale pouze dva SELECTy do DB.

MW
Člen | 626
+
0
-

To bych musel nejak volat ze sablony ale ne? jak?
Resp. mozna asi nechapu, jak by fungoval related …

V sablone prochazim vsema kategoriema a v kazdem cyklu bych musel ze sablony vytahout z db WHERE(parent, id) ale to nevim jak..

Takze jsem sel tou cestou, ze do sablony poslu vse a tam to nejak vysekam.. ale taky na tom zustavam vyset :-(

Editoval MW (23. 4. 2013 22:53)

MW
Člen | 626
+
0
-

Nikdo nic?
Lze nejak volat metodu primo ze sablony? Poslal bych tam ID kategorie a vratí me to podkategorie a tim bych cyklem prosel… To me ale asi nedovoli zivotni cyklus…

Ma nekdo nejaky napad?

Diky

ViPEr*CZ*
Člen | 817
+
0
-

Nikdo totiž asi neví co je za problém. Takhle se situace tváří, že to chcete celé napsat.
Volat metodu přímo ze šablony? Jak to myslíte? Osobně bych to řešil přes ajax, kdy bych měl u každé záložky kategorie informaci o IDéčku té kategorie a ajaxově bych si tahal podkategorie podle toho idéčka kategorie. Pokud to tam chcete takhle najednou, pak iterujte Selection kategorií a nad tímto objektem při průchodu cyklem volejte related metodu jak Vám tu už radil saimons. Ale pro jistotu příklad:

{foreach $kategorieSelection as $kategorie}
	{foreach $kategorie->related("kategorie", "parentID")}
	{/foreach}
{/foreach}

ale jak říkám, už Vám to psal saimons… takže se zkuste zeptat konkrétněji případně.

MW
Člen | 626
+
0
-

Dekuji !
Asi jsem jen nepochopil, jak funguje related… a asi porad nechapu :)
je to:

related("nazev_tabulky_katorii", "nazev_sloupce_parentID")

a selektovat to bude podle ID?

Diky!

Editoval MW (24. 4. 2013 22:12)

ViPEr*CZ*
Člen | 817
+
0
-

Zjednodušeně řečeno se to podívá do tabulky (první parametr) přes klíč (druhý parametr) a vrátí to objekt Nette\Database\Table\GroupedSelection což je potomek Nette\Database\Table\Selection.

MW
Člen | 626
+
0
-

A z tabulky to bere podle ID ? Tedy tam zadam nazev sloupce nikoliv hodnotu z cyklu? Jako druhy parametr…

Moc diky :)

ViPEr*CZ*
Člen | 817
+
0
-

MW napsal(a):

A z tabulky to bere podle ID ? Tedy tam zadam nazev sloupce nikoliv hodnotu z cyklu? Jako druhy parametr…

Moc diky :)

No hodnota toho sloupce je zaznamenaná v tom objektu ActiveRow, nad kterým budete volat metodu related. A ano parametr je název sloupce, nikoliv hodnota (najdete to v dokumentaci nebo API).
https://doc.nette.org/cs/database#… Tady je krásně vidět jak related pracuje (jeden parametr je v případě, že tabulka má jen jeden klíč).

MW
Člen | 626
+
0
-

Kdyz se toto ale tyka jedne tabulky neni nutne Inno, ze?

Moc diky!

llsm
Člen | 121
+
0
-

Nepotrebujes pouzit rekurzisablone ?

Editoval llsm (25. 4. 2013 14:06)

MW
Člen | 626
+
0
-

Muj ty svete, ze by to bylo ono… Jdu to zkusit…
Diky Vam !