Nefunkční homepage link obsahující element id #

Vojtha
Člen | 37
+
0
-

Ahoj,

tvořím web, který je částečně ve stylu „one page“, což znamená, že většina odkazů v menu vede na stejnou stránku, jen s jiným element id, např.
<a n:href="Homepage:default#questions">{_ui.menu.questions}</a>
A protože se jedná o defaultní presenter, adresy se generují jen jako např.
http://localhost/#questions (v případě serveru se to chová stejně).

Na úvodní stránce vše funguje, problém nastává, když generuji menu na nějaké podstránce v jiném presenteru, protože pak odkazy nefungují. Existuje nějaký způsob, jak toto efektivně řešit, např. nastavit Router tak, aby generoval vždy úplnou adresu?

Díky za pomoc.

F.Vesely
Člen | 369
+
0
-

Jak vytváříš a jak vypadá to špatné url na podstránce?

Vojtha
Člen | 37
+
0
-

Url vytvářím takto
<a n:href="Homepage:default#questions">{_ui.menu.questions}</a>
a výsledkem je
http://localhost/#questions .
Chtěl bych tam mít
http://localhost/homepage/default#questions ,
což mohu samozřejmě napsat natvrdo bez použití makra n:, ale nepřijde mi to moc čisté.

F.Vesely
Člen | 369
+
-1
-

Mělo by stačit v Router místo defaultní hodnoty ‚Homepage:default‘ dát jen ''.

Vojtha
Člen | 37
+
0
-

To jsem zkoušel, dostávám
Nette\InvalidArgumentException: Second argument must be array or string in format Presenter:action, '' given.

David Matějka
Moderator | 6445
+
+1
-

a co je na te adrese http://localhost/#questions nefunkcni?

Vojtha
Člen | 37
+
0
-

Výborně, vyřešeno. Až tenhle dotaz mě donutil se zamyslet nad tím, jestli není problém někde jinde.
Z nějakého důvodu v cache prohlížeče zůstala stará verze js s .preventDefault() na odkazech. Tudíž to nejelo, a já to mylně přičítal špatnému odkazu.

Díky za pomoc.

Newer
Člen | 47
+
0
-

A jak jsi to tedy vyresil? Resim to same…
:-)) Díky..

Vojtha
Člen | 37
+
0
-

No původně jsem měl chybu v tom, že jsem javascript, co měl být jen na homepage, načítal i na ostatních stránkách. A v něm bylo .preventDefault() nastavený u všech odkazů s #, takže to blokovalo standardní chování odkazu.