Nette Framework
  • Úvodní stránka
  • Download
  • Dokumentace
  • Fórum
  • Blog
  • Přispějte
  • Quick Start
    • Začínáme
    • Adresářová struktura
    • Vytvoření presenteru
    • Připojení šablony
    • Tvorba odkazů
    • Hezčí šablony
    • Zobrazení tabulky
    • Stránkování a řazení
    • Tvoříme komponentu
  • Nette\Application
    • Application
    • AppForm
    • Control
    • Presenter
    • PresenterCompo­nent
    • PresenterRequest
    • MultiRouter
    • Route
    • SimpleRouter
  • Nette\Caching
  • Nette\Component
  • Nette\Debug
    • Základy
    • Logování chyb
    • Firebug
  • Nette\Environment
  • Nette\Forms
  • Nette\IO\SafeS­tream
  • Nette\Loaders
  • Nette\Object
  • Nette\Security
    • Bezpečnost aplikací
    • Identity
    • SimpleAuthenti­cator
    • Permission
    • Dynamická správa rolí a zdrojů
  • Nette\String
  • Nette\Templates
    • Template
    • Template Filters
    • Template Helpers
  • Nette\Web\Html
  • Nette\Web\HttpR­equest
  • Nette\Web\HttpR­esponse
  • Nette\Web\Session
  • Nette\Web\User
Naposledy změněno 14. 11. 2008 Edituj Historie Poslední změny

Nette Framework Quick Start VII.

Po krátkém šablonovém intermezzu zpátky do práce. Na seznam tabulek v databázi už lze klikat, ale zatím nás odkaz nikam nedostane. Opět začněme tím, že pro pohled table vytvoříme šablonu. Nyní už s užitím zjednodušené syntaxe. Šablonu uložte do souboru DataGrid/app/templates/Default.table.phtml:

<h2>Table „{$table}“</h2>

<p><a href="{plink default}">Return to home</a></p>

<table class="grid" border="1">
<tr>
    {foreach $columns as $column}
    <th>{$column}</th>
    {/foreach}
</tr>

{foreach $rows as $num => $row}
<tr{!=$num % 2 ? ' class="alt"' : ''}>

    {foreach $row as $value}
    <td>{=substr($value, 0, 100)}</td>
    {/foreach}

</tr>
{/foreach}
</table>

Šablona očekává proměnné $table, $columns a $rows, ze kterých vytvoří podobu mřížky tabulky. Je na metodě renderTable(), aby jí proměnné dodala. Opět přichází ke slovu dibi:

public function renderTable($table)
{
    // retrieving data
    $rowset = $this->db->query('SELECT * FROM %n', $table);

    $this->template->table = $table;
    $this->template->rows = $rowset->fetchAll();
    $this->template->columns = $rowset->getColumnNames();
}

V prohlížeči pak uvidíte tento výsledek:

To už je docela úspěch, že? Dosavadní podobu aplikace si můžete opět stáhnout.

Ale neusínejme na vavřínech. Čeká nás ještě dost zajímavých věcí!

« Hezčí šablony Stránkování a řazení »

Nette Framework powered | dibi powered | Texy! powered | Institut Školení PHP