Pridani adresy do strankovani

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

Ahoj,
mam stranku example.com/test. Na teto strance mam odkazy ktere vypadaji asi takto:

<a href="{$basePath}/test/domaci" {if $presenter->getParam('sluzba')=="domaci"} class="active"{/if}>Domácí</a>

Vsechny tyto odkazy zpracovavam v jednom Presenteru takto:

class TestPresenter extends BasePresenter
{
    public $homepage;

  	public function renderDefault()
  	{
  	     $action = $this->getParam('sluzba');
  	     $where = NULL;
  	     if(!($action=="aktualne" OR empty($action)))
  	         $where = " WHERE kategorie = '$action' ";


        $strana = $this['strana'];
	$paginator = $strana->paginator; // alias
        $paginator->itemsPerPage = 3;
	     	$paginator->itemCount = count($this->modelHomepage->VlastniVypis("SELECT * FROM `pokus` $where"));


  	     $clanky = $this->modelHomepage->VlastniVypis("SELECT * FROM `pokus` $where LIMIT $paginator->offset,$paginator->itemsPerPage");
         $this->template->clanky = $clanky;

         $this->template->registerHelper('stripslashes','stripslashes'); //Vytvoreny helper pro stripslashes()
  	}

Takze podle example.com/test/domaci se vytvori sql dotaz a vypise se do stejneho template. jako adresa /test/.
Vse funguje az na strankovani. Adresa u nej se generuje pouze pro existujici Presenter (tedy Test) tzn ze adresa, ikdyz jsem na /test/domaci, tak se generuje jako /test/strana-2.
Chtel bych aby adresa byla jako /test/domaci/strana-2 a listovalo se pouze v kategorii domaci. Kdyz ji zadam rucne do prohlizece, funguje to.
Jde mi pouze o pridani parametru $presenter->getParam(‚sluzba‘) do odkazu u VisualPaginator. Zrejme upravit radky jako je napr:

<a class="ajax" href="{link this, 'page' => $paginator->page + 1}">Další »</a>

v templatu VisualPaginatoru.
Pripadne muzete mi doporucit jiny zpusob abych nemusel pro kazdou sekci delat zvlast stejny template a vytvaret stejny Presenter a zaroven aby v link this byla adresa /domaci?

Snad jsem to napsal srozumitelne. Jeste pouzivam verzi Nette 0.9.7c stable pro PHP 5.2 s prefixy.

Predem dekuji za odpoved.

VaKvas
Začátečník | 111
+
0
-

Pokud jsem to pochopil, ta me napada routa

$router[] = new Route('<presenter>/[<sluzba>]', 'Test:default');

Zkus se podivat sem.

Editoval VaKvas (10. 8. 2011 10:40)