Generování relativního odkazu v šabloně bez presenteru

medunrad
Člen | 27
+
0
-

Ahoj,

je nějakým způsobem možné generovat relativní url v šabloně, která nemá svůj presenter?

Něco jako:

{link :Presenter:action}

Zatím se mi nepodařilo přijít na žádný použitelný způsob.

Při pokusu o výše zmíněné dostávám Presenter name must be alphanumeric string,

díky :-)

CZechBoY
Člen | 3608
+
+1
-

Zkus {plink}

ale spíš si myslim že budeš muset předat presenter do šablony.

Jak ji vůbec vytváříš nebo co to je vlastně za šablonu?

Editoval CZechBoY (17. 1. 2019 16:06)

medunrad
Člen | 27
+
0
-

CZechBoY napsal(a):

Zkus {plink}

ale spíš si myslim že budeš muset předat presenter do šablony.

Jak ji vůbec vytváříš nebo co to je vlastně za šablonu?

Dky za radu, ale {plink} se chová úplně stejně.

Šablonu si vytvářím pomocí \Nette\Application\UI\ITemplateFactory, který předhodím cestu k latte souboru.

$template = $this->templateFactory->createTemplate();
$template->setFile($templateFile);

Předat presenter do šablony? Můžeš to prosím rozvést?

medunrad
Člen | 27
+
0
-

CZechBoY napsal(a):

https://phpfashion.com/…lech-a-nette

Jestli narážíš na

$latte->addProvider('uiControl', $this->linkGenerator);

tak bohužel, to nefunguje. Resp. umí generovat absolutní odkazy, nicméně i jak je v ukázce uvedené, neumí to generovat relativní url.

Phalanx
Člen | 310
+
+1
-

@medunrad Proč tam nechceš celou URL? Ptám se, protože mě zajímá, při které situaci tohle může nastat.
Jinak v nejhorším můžeš URL rozsekat za pomocí https://doc.nette.org/cs/http/urls (možná by to šlo navěsit i na latte makro)

Editoval Phalanx (17. 1. 2019 19:45)

medunrad
Člen | 27
+
0
-

Phalanx napsal(a):

@medunrad Proč tam nechceš celou URL? Ptám se, protože mě zajímá, při které situaci tohle může nastat.
Jinak v nejhorším můžeš URL rozsekat za pomocí https://doc.nette.org/cs/http/urls (možná by to šlo navěsit i na latte makro)

Mám několik tvarů domény např. m.doména.cz a doména.cz. Takhle to je pro několik jazykových mutací a já bych chtěl vždy generovat odkaz na doména.cz (resp. jazyková mutace), tzn. nikdy na to m.doména.cz

Díky za tip na Url, nicméně to použít nemohu, protože kvůli cachování mám daná id, která potřebuju ke složení odkazu, k dispozici až v šabloně.

Ještě mě napadlo to řešit např. filtrem, nicméně při určování správné domény musím přistupovat do db a tyto url vypisuju do feedu, kde je spoustu položek, bylo by to tedy dost pomalé a neefetivní.

Editoval medunrad (18. 1. 2019 8:05)

CZechBoY
Člen | 3608
+
0
-

Tak cache můžeš přesunout z šablony do modelový vrstvy, ne?