Presenter pro monitorovani odchozich odkazu a routa pro nej

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

Pres texy! pri parsovani textu kdyz zjistim ze jde o odkaz, tak chci tento odkaz dat jako argument presenteru, ktery se postara o zaneseni kliknuti na odkaz do statistiky a otevre ho do noveho okna…

akorat ze kdyz dam:

$link->URL = $presenter->link('Odkaz:external', array('url' => $link->URL));

kde v $link->URL je absolutni adresa, tak mi vyhodi „error: No route for Front:Odkaz:external(url=http://www.uiv.cz/clanek/110/1938)“ …, ale kdyz si tam dam svuj retezec, tak link vygeneruje korektne… v cem by mohla byt chyba?

Honza Kuchař
Člen | 1662
+
0
-

Asi máš špatně routy.

cuga
Člen | 210
+
0
-

routa funguje kdyz dam

$link->URL = $presenter->link('Odkaz:external', array('url' => 'bluf'));

tak se vygeneruje odkaz spravne…

Honza Kuchař
Člen | 1662
+
0
-

A co je v proměnné $link->URL?

Honza Kuchař
Člen | 1662
+
0
-

tak to vyzkoušej:

Debug::dump($link->URL);
Debug::dump($presenter->link('Odkaz:external', array('url' => $link->URL)));
Debug::dump("---------");

//EDIT: Kurna naucte se ladit, když v tom nette tak neuveritelne pomaha!

Editoval honzakuchar (14. 4. 2010 21:56)

cuga
Člen | 210
+
0
-
string(33) "http://www.uiv.cz/clanek/110/1938"
string(79) "error: No route for Front:Odkaz:external(url=http://www.uiv.cz/clanek/110/1938)"
string(9) "---------"

Editoval cuga (14. 4. 2010 22:01)

Honza Kuchař
Člen | 1662
+
0
-

Zkus tam napsat:

Debug::dump($presenter->link('Odkaz:external', array('url' => "http://www.uiv.cz/clanek/110/1938")));
cuga
Člen | 210
+
0
-

nepomohlo… problem mu delaji ty / v ceste… ze by nejaky regular v nette???

Honza Kuchař
Člen | 1662
+
0
-

nejspíš… Čte to tu někdo zkušenější? Nebo někdo, kdo ví co by to mohlo být?

Mikulas Dite
Člen | 756
+
0
-

A prachobyčejný urlencode by na to nestačil?

Honza Kuchař
Člen | 1662
+
0
-

Mikulas Dite napsal(a):

A prachobyčejný urlencode by na to nestačil?

To si má snad řešit nette samo, ne?

cuga
Člen | 210
+
0
-

no tak neporesilo… urlencode pomohl :) vdaka

Mikulas Dite
Člen | 756
+
0
-

honzakuchar napsal(a):

Mikulas Dite napsal(a):

A prachobyčejný urlencode by na to nestačil?

To si má snad řešit nette samo, ne?

Tak to snad asi i dělá, ale tohle je problém ještě před tím, než se o to snaží Nette – to si to rozloží, zpřehází a případně změní lokaci a až poté url formátuje pro výstup.

Honza Kuchař
Člen | 1662
+
0
-

Mikulas Dite napsal(a):

honzakuchar napsal(a):

Mikulas Dite napsal(a):

A prachobyčejný urlencode by na to nestačil?

To si má snad řešit nette samo, ne?

Tak to snad asi i dělá, ale tohle je problém ještě před tím, než se o to snaží Nette – to si to rozloží, zpřehází a případně změní lokaci a až poté url formátuje pro výstup.

Asi nechápu. :-(

cuga
Člen | 210
+
0
-

no kazdopadne tohle bych potreboval, protoze si chcu skladat odkaz ve smyslu

http://www.example.com/o-spolecnosti/certifikaty

kdy chci at se to smeruje na jeden presenter, kde podle mnozstvi prvku pole, na ktere se pres explode(‚/‘, …) rozpadne url… a kdyz dam napr. $url = „{$kategorie->url}/{$clanek->url}“ tak vyhodi chybu s „no route“ a urlencode mi misto lomitka hodi F20% nebo nejakou takovou prisernost :)

vite nekdo jak tohle poresit?

Editoval cuga (24. 4. 2010 23:11)

cuga
Člen | 210
+
0
-

kdo necte, nevi :) takze kdyby nekdo potreboval mit v parametru i lomitka, taaaaak:

Route::addStyle('id', NULL);
Route::setStyleProperty('id', Route::PATTERN, '.*?');

toz tak :)

Editoval cuga (25. 4. 2010 10:42)