plink – generovanie odkazu bez akcie

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

v sablone mam makro {plink :Eshop:Product: id ⇒ $value[‚id‘]}, kde eshop je modul a product presenter a id je parameter. Aktualne makro generuje toto → http://ddddev.sk/…ct/default/2

Ako dosiahnem toho aby to makro generovalo http://ddddev.sk/eshop/product/2 ?? To znamena action tam nechcem.

Oli
Člen | 1215
+
0
-

Správným nastavením routy. Může to vypadat zhruba takhle:

$router[] = new Route('<module eshop>/<presenter product>/<id>', [
	'action' => 'default'
]);

Jen si dej pozor aby jsi měl tuhle routu nad obecnější routou. Při procházení rout se berou od první po poslední. Při první routě, která vyhovuje se ta routa vezme a dál se neprochází. V DebugBaru vidíš jaká routa se ti matchla…

xrep
Člen | 51
+
0
-

Ale to uz tam prave mam ->

<?php
// ESHOP PRODUCT
$router[] = new Route('[<locale=en [a-z]{2}>/]eshop/product/<id>[/<slug>]', array(
	'module' => 'Eshop',
	'presenter' => 'Product',
	'action' => 'detail',
	'id' => NULL
));

/*
* frontend eshop router
*/
$router[] = new Route('[<locale=en [a-z]{2}>/]eshop/<presenter>/<action>/<id>[/<slug>]', array(
	'module' => 'Eshop',
	'presenter' => 'Home',
	'action' => 'default',
	'id' => NULL
));
?>

resp. defaultne volam detail. Testoval som teraz nahradit detail <⇒ default, s default to funguje s detail nie.

Inak vdaka za odpoved

Editoval xrep (28. 7. 2015 18:08)

xrep
Člen | 51
+
0
-

Ked to zavolám → {plink :Eshop:Product:detail id ⇒ $value[‚id‘]} dostanem presne to čo chcem :)