Nefunguje n:href s proměnnou v url fragmentu

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

Ahoj. Mám výpis uživatelských komentářů pod článkem. Každý komentář dostane od id atributu své id z databáze: id=„comment-{$comment_id}“. Dále je u každého komentáře odkaz, který obsahuje jak atribut for směřující na již uvedené id, tedy for=„comment-{$comment_id}“, tak i makro n:href s tímto id uvedeným v části fragment url, ale nefunguje mi ani n:href=„Presenter:action#comment-{$comment_id}“ (se složenými závorkami), ani n:href=„Presenter:action#comment-$comment_id“ (bez složených závorek). Rád bych, aby když uživatel klikne na tento odkaz, aby se mu stránka načetla znovu, byla nasměřovaná přímo na tento komentář a v url bylo např: example.cz/articles/some-article#comment-256. Prostě něco v podobném duchu, jako tady na fóru nebo kdekoli jinde.

Ještě by se asi hodilo dodat, že mi to hlásí:
Parse Error – syntax error, unexpected ‚:‘
a tou dvojtečkou je myšlena dvojtečka v Presenter:action.


Takže ono to fachá, já to akorát chtěl zjednodušit a ukázal jsem vám to trochu jinak, než jsem to doopravdy měl. Ve skutečnosti jsem tu proměnnou měl v poli, takže zápis by pak byl: id=„comment-{$comment[‚comment_id‘]}“, jako id komentáře; dále for=„comment-{$comment[‚comment_id‘]}“; a dále n:href=„Presenter:action#comment-{$comment[‚comment_id‘]}“, popř. n:href=„Presenter:action#comment-$comment[‚comment_id‘]“. Zde je právě ten problém v onom makru n:href, kde je to pole uvedeno. V obyčejných HTML atributech se to pole vyhodnotí a dosadí se na dané místo správná hodnota, ale u n:href to s polem nefunguje. Není to chyba v Nette?


Editoval fary (10. 8. 2013 11:40)

priman
Člen | 7
+
0
-

Co použít

<a href="{link Presenter:action}#comment-{$comment_id}">
fary
Člen | 155
+
0
-

To jo, ale právě ten problém je v tom, že mě to nefunguje s tím polem. Se samotnou proměnou jo.

priman
Člen | 7
+
0
-

Bude nejlepší, když ukážeš konkrétní latte kód, který nefunguje a ideálně i výstup z {dump $comment} obsahujici ty id komentaru

h4kuna
Backer | 740
+
0
-

Já jsem si to zkusil a mě to funguje, přesně podle příkladu co jsi uvedl.

{var $comment_id = 5}

<a n:href="Home:default#comment-$comment_id">ahoj</a>

Vygeneruje //localhost/skeleton/web/#comment-5

Nette 2.0.10

Editoval h4kuna (2. 8. 2013 21:15)