Vytváření „hezkých“ odkazů zjevně nefunguje

eskedits
Člen | 2
+
0
-

Dobrý den, mám na Vás prosbu.

Chtěl bych mít URL v následujícím tvaru:
/neco/vse, nyní mám ale toto: /neco/?hledat=vse
Router:

$router->addRoute('neco/vse', 'MujPresenter:vse');

Presenter mám úplně prázdný, ale také ho sem tedy dám.

<?php
namespace App\Presenters;
use Nette;

class MujPresenterPresenter extends Nette\Application\UI\Presenter
{
	private $db;
	public function __construct(Nette\Database\Context $db)
	{
		$this->db = $db;
	}

	public function renderVse(): void
	{

	}
	public function renderDefault($hledat): void
	{

	}
}

A odkaz se pokouším vytvářet takto:

<a n:href="MujPresenter: vse">Test odkazu</a>

Bohužel, výsledek není stále takový, jaký bych chtěl. Koukal jsem na forum, kde se tyto problémy řešili, i na dokumentaci Nette, bohužel bez výsledku. Nutno dodat, že pokud ručně přejdu na neco/vse, tak mi to vypíše požadovaný obsah ze šablony.. Jen ten odkaz to dělá jiný. Díky za každou radu.

David Matějka
Moderator | 6445
+
+2
-

ahoj, mozna generujes jiny odkaz, nez zamyslis. routu mas pridanou pro MujPresenter a jeho akci „vse“. ale pri generovani generujes odkaz na akci „default“ (jelikoz za dvojteckou chybi nazev akce) a hodnotu „vse“ prirazujes do parametru „hledat“. pokud bys chtel vygenerovat odkaz na akci „vse“, tak musis zapsat MujPresenter:vse (bez mezery za dvojteckou)

eskedits
Člen | 2
+
0
-

David Matějka napsal(a):

ahoj, mozna generujes jiny odkaz, nez zamyslis. routu mas pridanou pro MujPresenter a jeho akci „vse“. ale pri generovani generujes odkaz na akci „default“ (jelikoz za dvojteckou chybi nazev akce) a hodnotu „vse“ prirazujes do parametru „hledat“. pokud bys chtel vygenerovat odkaz na akci „vse“, tak musis zapsat MujPresenter:vse (bez mezery za dvojteckou)

Přesně tak, bylo to tím. Vůbec mě toto nenapadlo, že i v odkazu jedna mezera může nadělat takovou paseku, kterou jsem nechtěl. Děkuji moc, tohle si dobře zapamatuji! :)