Administrace – tabulkové výpisy?

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

Ahoj,

rád bych se pro informovanost zeptal lidí odtud, co používají, pro co nejsnazší administraci, kde je potřeba třeba tabulkový výpis, vyhledávání apod?

Dříve jsem používal Datagrid, kde je vše v jednom, ale ten na verzi 2.0 nefunguje tak, jak má. Co používáte nyní Vy?

Rellik
Člen | 104
+
0
-

Ahoj,
záleží co všechno na těch stránkách chceš mít editovatelné. Já se sice zatím „jen učím“ s nette pracovat a k tomu sem si vybral tvorbu takového jednoduchého CMS, ale myslím, že už jsem celkem daleko. Konkrétně tabulky tam využívám pouze pro zobrazení formulářů a fotogalerie. Jinak zbytek je všechno v DIVech. Můžeš nakouknout: http://nette.rellik.eu/ Jméno i heslo je – test
Vyhledávání ještě nemám žádné, to budu zkoušet pozděj… :)

Jinak na jiném webu (e-shop), který není postavený na Nette mám vyhledávání řešené do tabulek, protože tam to ani jinak nejde (tabulka s fotkou produktu, popis a cena) Šlo by to dát na řádky, ale tak tam toho vejde víc. Když budu dělat vyhledávání na tom http://nette.rellik.eu/ tak určitě výpisy do tabulek nepůjdou. Budou podobně, jako ty aktuality, když je jich nastavených víc na jednu stránku… Ale t už předbíhám… :)

ju5tHard
Člen | 14
+
0
-

To je ale zbytečně moc zdlouhavé. Třeba Datagrid měl toto vyřešení a to vč. formátování celé tabulky – resp. daného výpisu. Jednodušše se v tom dalo hledat, řadit apod. A něco podobného hledám

Zdeno1981
Člen | 115
+
0
-

Ahoj, a co použit jQuery plugin? který za tebe vyřeší hodně věci, jako je počet zobrazení hodnot v tabulce, vyhledávání a stránkování, vzhed si můžeš udělat dle sebe nebo využít jQuery UI.

Plugin jen přidáš do layoutu a v šabloně kde chceš mít hodnoty v tabulce si vytvoříš tabulku dle návodu a máš vystaráno.

Pro ukázku mé tabulky:

<table id="datatable">
<thead>

    <tr>
        <th>{$lang['pageTitle']}</th>
        <th>{$lang['url']}</th>
        <th>{$lang['action']}</th>
    </tr>

</thead>
<tbody>

    <tr n:foreach="$pages as $page">
        <td>{$page->title}</td>
        <td>{$page->slug}</td>
        <td>
            <a n:href="Pages:Edit, $page->id" class="edit" title="{$lang['edit']}"></a>
            <a n:href="Pages:Delete, $page->id" class="delete" title="{$lang['delete']}"></a>
        </td>
    </tr>

</tbody>
</table>

Implementace ti zabere cca 5 min. link na plugin: http://datatables.net/

Editoval Zdeno1981 (23. 1. 2012 17:23)

Gaprielko
Člen | 42
+
0
-

Nazdar, osobne pouzivam Tabellu – https://componette.org/search/?…. Mala ale sikovna komponenta. Vdaka Vojtechovi za jej tvorbu :)
Na to, aby isla pre Nette 2.0 a danu db vrstvu staci prepisat tieto riadky v renderBody() (apon tusim, ze ich viac nebolo :)

$this->count = $this->source->count();
$this->source
	->applyLimit($this->params['limit'], ($this->params['offset']-1)*$this->params['limit'])
	->orderBy($this->params['order'], $this->params['sorting']);
...
foreach ($this->source->fetchAll() as $row) {
..

na

$this->count = \count($this->source);
$this->source
	->limit($this->params['limit'], ($this->params['offset']-1)*$this->params['limit'])
	->order($this->params['order'] . " " . $this->params['sorting']);
...
foreach ($this->source as $row) {
..