Nette-VisualPaginator

Doplněk vytváří stránkovač záznamů s lokalizacemi a volitelným tlačítkem pro zobrazení všech záznamů. Podporuje vlastní lokalizace a vlastní šablony. Výchozí šablona je určena pro Bootstrap 3.

Komponenta je napsána pro PHP 5.4 (využívá traity) nebo novější a Nette Framework 2.2 nebo novější (Nette Application MVC, Nette Dependency Injection).

Příklad použití

Přidání rozšíření do souboru config.neon:

extensions:
  translation: Kdyby\Translation\DI\TranslationExtension
  visualPaginator: RadekDostal\NetteComponents\VisualPaginator\VisualPaginatorExtension

translation:
  default: cs
  fallback: [cs_CZ, cs]
  whitelist: [cs, en]
  resolvers:  # volitelný parametr
    header: off

visualPaginator:
  translator: @translation.default
  template: '%appDir%/components/VisualPaginator/custom.latte'  # volitelný parametr
  viewButtonAll: TRUE  # volitelný parametr

Kdyby\Translation hledá vlastní soubory s lokalizacemi v adresáři app/lang. Např. soubor pro anglickou lokalizaci se musí jmenovat visualPaginator.en_GB.neon (v případě použití NEON syntaxe).

Presenter:

class DefaultPresenter extends BasePresenter
{
  use \RadekDostal\NetteComponents\VisualPaginator\TVisualPaginator;

  public function renderDefault()
  {
    $paginator = $this['vp']->getPaginator();
    $paginator->setItemsPerPage(1);
    $paginator->setItemCount(10);
  }

  /**
   * Creates the visual paginator
   *
   * @return \RadekDostal\NetteComponents\VisualPaginator\VisualPaginator
   */
  protected function createComponentVp()
  {
    return $this->visualPaginator;
  }

  // For multiple paginators on the same page
  protected function createComponentVp2()
  {
    $control = $this->visualPaginator->create();
    // $control->setTemplate(...);

    // Dynamic change localization
    $control->getTranslator()->setLocale('en');

    return $control;
  }
}

Latte šablona:

{control vp}

Ukázka použití

 

VisualPaginator

Ke stažení

Licence: GNU Lesser General Public License
GitHub: https://github.com/radekdostal/Nette-VisualPaginator/