Autor | Zpráva | ||
---|---|---|---|
Jan Vonka Profil |
#1 · Zasláno: 8. 6. 2012, 20:59:53
Zdravým, dělám si administrační system a chtěl bych tam nějaký pěkný řazení položek v menu něco na tomto stylu. V tomto scriptu se to sice pěkně přehazuje ale nedají se ty data odeslat, nevíte o nějakém řešení?
|
||
martin1312 Profil |
#2 · Zasláno: 8. 6. 2012, 21:25:24
pred časom som niečo podobné hľadal -> http://linssen.me/entry/extending-the-jquery-sortable-with-ajax-mysql/
|
||
Jan Vonka Profil |
#3 · Zasláno: 8. 6. 2012, 21:37:00
ááá výborně díky moc ;)
|
||
martin1312 Profil |
#4 · Zasláno: 8. 6. 2012, 21:38:05
Jan Vonka:
len mi to nejako nechce frčat v IE |
||
Jan Vonka Profil |
#5 · Zasláno: 8. 6. 2012, 21:40:32
to už se nějak pořeší a i kdyby ne tak je to fuk ;) ještě jednou díky ;)
|
||
martin1312 Profil |
#6 · Zasláno: 8. 6. 2012, 21:43:48
offtopic: inak celkom ma zaujíma čo to bude až to bude :) môžeš mi dať tvoj skype prípadne e-mail?
|
||
Jan Vonka Profil |
#7 · Zasláno: 8. 6. 2012, 22:16:44
martin1312:
janvonka@janvonka.cz je to zatím ve vývoji, dělám si to hlavně pro radost :) časem to hodím i někam ke stažení, třeba se to bude někomu líbit :) |
||
peta Profil |
Nechapu, proc to resi v tom demu 4 sql dotazy. Vzdyt poradi se da zapsat do jedine polozky, oddelene carkami (treba do tabulky 'order'). Pak se pri kazdem presunu nemusi zapisovat 4 sql dotazy nebo v pripade 200 polozek, 200 sql dotazu.
Jeste jinak bych to rekl. Poradi polozek je vlastnost slozky, ve ktere se nachazeji. Nikoliv vlastnost polozky. Edit: Mozna by bylo slozitejsi pak napsat sql dotaz pro SELECT ve vybranem poradi. |
||
Jan Vonka Profil |
#9 · Zasláno: 11. 6. 2012, 13:40:04
To je dobrý nápad si ten script trochu přepsat, je pravda že by to mohlo zdržovat, ale mi přijde mnohem jednoduší to udělat přes ty jednotlivé položky, je to prostý a dobrý na úpravy
|
||
Časová prodleva: 2 roky
|
|||
svanda777 Profil |
#10 · Zasláno: 31. 7. 2014, 19:42:37
Potřebuji poradit: Jak by se to přesouvání položek upravilo pro řádky tabulky místo položek seznamu?
|
||
Jan Vonka Profil |
nemusí se to vůbec upravovat, akorád musíš myslet na to že tabulka se skládá z
<table> <tbody> <tr> <td>xxx</td> </tr> </tbody> </table> de o to tbody takže tam udělaj něco jako <script type="text/javascript"> // When the document is ready set up our sortable with it's inherant function(s) $(document).ready(function() { $("table tbody").sortable({ handle : '.handle', update : function () { var order = $('#test-list').sortable('serialize'); $("#info").load("process-sortable.php?"+order); } }); }); </script> |
||
Časová prodleva: 1 měsíc
|
|||
novacek90 Profil |
#12 · Zasláno: 5. 9. 2014, 16:05:26
Ahoj,
asi mě vyhodíte s tím, že to patří na nette forum, ale nevíte někdo jak to samé rozchodit pod nette?? Díky ;) |
||
Jan Vonka Profil |
#13 · Zasláno: 5. 9. 2014, 16:13:17
nevím jak by se to zapsalo správně pro nette, moc ho neumím ale není problém to natvrdo zkopírovat :D
klidně na prasáka to dát do nějakého presenteru a jap jen ten js upravit tak aby ti vedl na tu funkci, někde jsem to už používal, skusím se po tom mrknout |
||
novacek90 Profil |
#14 · Zasláno: 5. 9. 2014, 16:16:20
Jan Vonka:
tak já už jsem se o něco pokusil ale zatím mi to nedopadlo moc zdárně takže kdyby jsi našel jak jsi to někde použil tak by to bylo super já bych si to už pak nějak poupravil |
||
Jan Vonka Profil |
#15 · Zasláno: 5. 9. 2014, 16:21:58 · Upravil/a: Jan Vonka
JS:
$(".to-do-list tbody").sortable({ handle : '.glyphicon-move', update : function () { var order = $('.to-do-list tbody').sortable('serialize'); $("#ajax").load("changeOrder?"+order); } }); router: $router[] = new Route('changeOrder', 'Homepage:changeOrder'); HomepagePresenter.php: public function actionChangeOrder() { foreach ($_GET['id'] as $position => $item) { $article = $this->database->table(_TAB_TO_DO)->get($item); $article->update(array("order" => $position)); } $this->redirect('Homepage:'); } takhle to mám a jedeto ;) je to prasárna ale co :D |
||
novacek90 Profil |
#16 · Zasláno: 5. 9. 2014, 16:24:08
Hele díky zkusím to a když se mi to povede upravit do lepšího stavu tak ti to sem postnu ;)
|
||
Jan Vonka Profil |
#17 · Zasláno: 5. 9. 2014, 16:24:49
ok :)
|
||
Časová prodleva: 7 dní
|
|||
novacek90 Profil |
Prosimtě a jak vypadá ten tvůj latte soubor? protože mě to pořád nějak nejde. javascript mi jede ale nějak mi to tam nepostne ty data.
Díky |
||
Jan Vonka Profil |
#19 · Zasláno: 15. 9. 2014, 00:12:58
Homepage/default.latte
... <table class="table to-do-list"> <thead> <tr> <td>comment</td> <td>date</td> <td></td> </tr> </thead> <tbody> {foreach $todos as $todo} <tr id="id_{$todo->id}"> <td> {$todo->comment} </td> <td>{!$todo->date|date:'%d. %m. %Y %H:%M:%S'}</td> <td> <div class="glyphicon glyphicon-move"></div> </td> </tr> {/foreach} </tbody> <tfoot> <tr> <td>comment</td> <td>date</td> <td>edit</td> <td></td> </tr> </tfoot> </table> ... |
||
novacek90 Profil |
#20 · Zasláno: 16. 9. 2014, 18:07:23
Ahoj,
tak jsem to vyřešil takto (dá se říct že je to taky prasárna), ale snad to někomu pomůže. Ještě na tom budu dělat -> zpracování do db přesunu do modelu a pokusím se použít v javascriptu $.nette.ajax než $.get. Ale tohle je plně funkční. latte <ul id="sortable" class="sortable"> <li n:foreach="$titles as $ord => $title" class="ui-state-default" id="{$title}"> <img src="{$basePath}/images/arrow.png" alt="move" class="handle" />{$title} </li> </ul> <script> $(function() { $("#sortable").sortable({ revert: true, handle: '.handle', update : function () { $.get({link menuPosition!}, {'positions': $("#sortable").sortable("toArray")}); } }); }); </script> presenter public function handleMenuPosition(array $positions) { if (!$positions) throw new \InvalidArgumentException("Empty \$positions"); foreach($positions as $position => $title) { $this->database->table('pages')->where('title', $title)->update(array('ord' => $position)); } } |
||
Časová prodleva: 10 let
|
0