Routa pro handle – preklad x.com/do=Login na x.com/login
Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
- flexroad
- Člen | 117
Zdravim,
poradi mi nekdo jak z:
<a n:href="login!" class="ajax">Prihlasit</a>
udelat nejakou peknejsi adresu?
Naprilaklad:
http://www.example.com/login,
misto soucasneho
Muj HomepagePresenter:
/**
* Homepage presenter.
*/
class HomepagePresenter extends BasePresenter
{
/** @var string */
private $anyVariable;
public function handleLogin()
{
$this->anyVariable = 'changed value via ajax';
if ($this->isAjax()) {
$this->invalidateControl('ajaxChange');
}
}
public function renderDefault()
{
if ($this->anyVariable === NULL) {
$this->anyVariable = 'default value';
}
$this->template->anyVariable = $this->anyVariable;
}
}
Diky moc za nasmerovani!
@flexroad
- flexroad
- Člen | 117
@matej: Nemusim. Je to spise obecna otazka…
Stejny problem resim treba pri pouziti kdyby/facebook
Jak prelozit:
<a n:href="fbLogin-open!">Login using facebook</a>
napriklad na:
http://www.example.com/login/facebook
- David Matějka
- Moderator | 6445
tak „do“ je klasicky parametr, se kterym muzes udelat masku routy jako s kazdym jinym parametrem…
Editoval matej21 (29. 8. 2014 0:17)
- flexroad
- Člen | 117
@matej21 : Mohl bych poprosit o priklad?
<a n:href="fbLogin-open!">Login using facebook</a>
v soucasne chvili vraci mi to vraci:
http://www.example.com/account/login/do=fbLogin-open
Potreboval bych, aby to vratilo:
http://www.example.com/account/login/facebook
Resi se to pres filtry, nebo jak na to? Neni nekde nejaka konkretni ukazka? Nebo nemuze sem nekdo nejakou jednoduchou ukazku vlozit?
Diky moc,
@flexroad
- David Matějka
- Moderator | 6445
nejak takhle
new Route('<presenter>/<action>/<do>', array(
'do' => array(
Route::FILTER_TABLE => array(
'facebook' => 'fbLogin-open'
)
),
.....
));