Jak na Redirect na určitou část webu (#)?
- Zuben45
- Člen | 268
Dobrý den,
vytvořil jsem si v sekcích webu komentáře s formulářem pro zadání
nového. Po odeslání formuláře se bez problému přesměruji zpět na danou
stránku. Ale potřeboval bych, abych se ještě dostal na určitou část (do
url přidat # (#ID_KOMENTARE) ), zkoušel jsem to takto:
$this->redirect("Gamelist:show",$values->section_id,Strings::webalize($values->section_name),"#".$values->comment_id);
Ale bezúspěšně, prosím nevíte jak na to ? Předem děkuji
- Zuben45
- Člen | 268
Tak mě před chvílí napadla taková blbůstka a ona funguje :)
Router:
$router[] = new Route('<presenter>/show/<id>-<nicename>[#<commentid>]', 'Homepage:show');
Presenter:
public function actionShow($id=0,$nicename="",$commentid="")
a redirect tedy:
$this->redirect('show',$values->section_id,Strings::webalize($values->section_name),$values->comment_id);
Myslíte, že to tak můžu nechat ? :)
Editoval Zuben45 (30. 12. 2013 2:38)
- thunderbuff
- Člen | 164
Máš to správně. Jen pro úplnost, kde to i nějak takhle (nepotřebuje to <commentid> v routeru)
<?php
$this->redirect('show', $values->section_id,Strings::webalize($values->section_name) . '#' . $values->comment_id);
?>
- Zuben45
- Člen | 268
thunderbuff napsal(a):
Máš to správně. Jen pro úplnost, kde to i nějak takhle (nepotřebuje to <commentid> v routeru)
<?php $this->redirect('show', $values->section_id,Strings::webalize($values->section_name) . '#' . $values->comment_id); ?>
Aha, to mě nenapadlo, díky moc :) Ušetřils mi úpravu presenterů a ještě řádek v routeru, ještě jednout díky :)
PS: No teď mě to přesměrovává místo # na %23 :), takže asi zase zpátky k routovacímu :D
Editoval Zuben45 (30. 12. 2013 3:28)
- MartinitCZ
- Člen | 580
Mě osobně funguje toto:
$this->redirect('Setting:User' . '#tab-form'); // Nette 2.2-dev