Redirect na vytvořenou položku

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

Dobrý den,

řeším situaci, kdy si uživatel vytvoří vlastní galerii a po vytvoření bych ho rád přesměřoval na ní.
Akorát pro

<?php
$this->redirect('Galery:detail ' . $nazevGalerie);
?>

Přitom routu mám nastavenou takhle

<?php
$container->router[] = new Route('galerie/<uri>', array('presenter' => 'Galery','action' => 'detail'));
?>

Pokaždé mě pošle někam, že nenašel routu. Je to asi triviální dotaz, ale nemohu na to nikde najít odpověd. Děkuji

přitom když si v šabloně udělám

<a n:href="Galery:detail $galery['uri']">
tak to funguje

Editoval Kaiz (19. 8. 2012 0:17)

vvoody
Člen | 910
+
0
-

Redirect bere argumenty až ako druhý parameter.

$this->redirect('Galery:detail',$nazevGalerie);
Kaiz
Člen | 25
+
0
-

Děkuji moc, toho jsem si nikdy nevšiml a už pár krát mě to štvalo.
A mám ještě jeden dotaz. Jdou v latte při generování odkazů používat kotvy?
Protože,

<a n:href='Presenter:akcie#kotva'>
mi nešlo
vvoody
Člen | 910
+
0
-

Malo by to presne tak fungovať ak dokumentácia neklame :D. Aké url to vygeneruje?

Kaiz
Člen | 25
+
0
-

Jemu tam vadí ten znak pro kotvu (#).

Kód z laděnky ( parse error )

<?php
 <a href="<?php echo htmlSpecialChars($_control->link("Galery:detail", array($galery['uri']#kotvaa)))
?>
vvoody
Člen | 910
+
0
-

S tým už ja asi nepomôžem. Ešte sem keď tak pastni kód toho linku zo šablóny aj s tým parametrom uri, nech je vidno ako ho tam vkladáš.

Kaiz
Člen | 25
+
0
-

V šabloně to vypadá následovně

<a n:href="Galery:detail $galery['uri']#kotva">
A ještě menší dotaz na routu. Mám js, který posilá nějaká data na upload.php .
Jak si napsat routu, aby mi to dávala třeba na Galery:addPictures?
Zatím jsem tam napsal natvrdo url, ale až budu chtít změnit routování.
Tak to budu muset hledat a to se mi moc nechce.

Editoval Kaiz (19. 8. 2012 1:18)

vvoody
Člen | 910
+
0
-

No jasne :) typujem že takto to bude fungovať

<a n:href="Galery:detail#kotva $galery['uri']">

K tej route, veľmi som to nepochopil. Ten js to posiela na php script ktorý nebeží pod Nette?

22
Člen | 1478
+
0
-

@kaiz: nemůžeš dát kotvu za parametr..

<a href="{link Homepage:#test $id}">Test</a>
Kaiz
Člen | 25
+
0
-

Zkouším ty kotvy a následující kód

<a n:href="Article:#$article['articleUri'] $article['webPageUri']">
   {$article['headline']}
</a>
Article:default je kam, #$article['articleUri'] je kotva a $article['webPageUri'] parametr, jaký článek se má vykreslit
vvoody
Člen | 910
+
0
-

Medzi kotvu a presenter dopíš akciu (show/default… neviem ako ju máš nazvanú)

Kaiz
Člen | 25
+
0
-

No akce je default ciže,

<a n:href="Article:default #$article['articleUri'] $article['webPageUri']">
            {$article['headline']}
</a>
vvoody
Člen | 910
+
0
-

No a funguje či nie? Ak nie, tak aký link to generuje?

Kaiz
Člen | 25
+
0
-

Právě že to nejde. Hází to
Parse Error

syntax error, unexpected ‚:‘
Zkouší to přeložit na tohle:

<?php
 <a href="<?php echo htmlSpecialChars($_control->link(Article:default#$article['articleUri'], array($article['webPageUri']))) ?>
?>
vvoody
Člen | 910
+
0
-

Vynechaj úvodzovky vo vnútri hranatých zátvoriek.

Kaiz
Člen | 25
+
0
-

Wow, bylo to tím, díky moc. To by mě nenapadlo