Component with name ‚paginator‘ does not exist
Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
- Lawondyss
- Člen | 106
Zdravím,
mám problém s voláním komponenty pro stránkování. Ať se stavím na hlavu jak chci, výsledek je vždy stejný.
Tady je kód presenteru:
<?php
public function renderDefault()
{
// pole s poskladanym SQL
$sql = $this->createSql();
// spocitani celkoveho poctu zaznamu
$resultCount = dibi::query($sql)->count();
// strankovani
$paginator = $this['paginator'];
$paginator->setItemsCount($resultCount);
$sql[] = 'LIMIT '.$paginator->getLength().','.$paginator->getOffset;
// provedeni dotazu
$result = dibi::query($sql);
// naplneni sablony
$this->template->nadpis = 'Výpis přístupů do systému (vyhledáno: '.$resultCount.')';
$this->template->rows = $result;
$this->template->columns = $this->selected_cols;
$this->template->columns_name = $this->cols;
}
/**
* Strankovani vypisu
*/
public function createComponentPaginator($name)
{
$paginator = new NPaginator($this, $name);
$paginator->setItemsPerPage(10);
return $paginator;
}
?>
A laděnka:
Application/PresenterComponent.php (387) source ► NComponentContainer->getComponent(arguments ►)
presenters/UzivatelePristupyPresenter.php (46) source ▼ NPresenterComponent->offsetGet(arguments ▼)
$name "paginator" (9)
39: }
40: public function renderDefault()
41: {
42: $sql = $this->createSql();
43:
44: $resultCount = dibi::query($sql)->count();
45:
46: $paginator = $this['paginator'];
47: $paginator->setItemsCount($resultCount);
48: $sql[] = 'LIMIT '.$paginator->getLength().','.$paginator->getOffset;
49:
50: $result = dibi::query($sql);
51:
52: $this->template->nadpis = 'Výpis přístupů do systému (vyhledáno: '.$resultCount.')';
53: $this->template->rows = $result;
inner-code UzivatelePristupyPresenter->renderDefault()