Clicky

Jump to content


Photo
- - - - -

Routing

2 replies to this topic

  • Please log in to reply

#1 Zepco

Zepco

    Senior Mastah

  • Moderator
  • 1,583 posts
  • Skąd:Kielce

Posted 12 February 2012 - 09:55 AM

Na początek by się bardziej zapoznać z Fuel'em tworzę sobie małą stronkę z listą zakupów.  Generalnie mam to tak zrobione, że mam dwa kontrolery 'products' i 'shops' i tabele o tej samej nazwie.
I chciałem, żeby dla produktów były linki w stylu host.ltd/add, host.ltd/edit itp. a dla sklepów normalnie host.ltd/shops/add...
W KO3 załatwiłbym tak:

Route::set('products_manage', '/<action>(/<id>)',
array(
'action' => 'add|edit|delete|change_status',
'id' => '\d+',
))
->defaults(array(
'controller' => 'products',
'action' => 'add',
'id' => null,
));

Route::set('shops', '/shops/(<action>(/<id>))',
array(
'action' => 'list|add|edit|delete',
'id' => '\d+',
))
->defaults(array(
'controller' => 'shops',
'action' => 'list',
'id' => null,
));

Route::set('products', '<shop>(/<page>)',
array(
'action' => '[a-zA-Z_]+',
'id' => '\d+',
))
->defaults(array(
'controller' => 'products',
'action' => 'list',
'shop' => 'any'
'page' => null,
));


Jest jakiś sposób, żeby to w miarę łatwo zapisać w Fuel'u?
Zależy mi na reverse routing żeby utworzyć linki, ale jak zrobię coś w stylu.

	':shop/:page' => array(
'products/list/$1/$2',
'name' => 'products_list',
),


to dla linku
	<?php echo Html::anchor(
Router::get('products_list'),
'Produkty'
); ?>


Zamiast parametry :shop i :page zostawić puste, to tworzy link host.ltd/:shop/:page. :/
Także do każdego pobranego routingu musiałbym dodawać tablicę ustawiającą te zmienne. A chciałem jeszcze by można było operować na tym co już jest w adresie tak jak to było w KO3.0 i paginacji, która podmieniała sobie tylko segment z parametrem <page> a reszta była bez zmian.

OŚWIADCZENIE: Ja, niżej podpisany, świadomy wszystkich konsekwencji tego posta postanawiam go dopuścić do użytku publicznego, albowiem bo gdyż aczkolwiek uważam, że nie wyrządzi on (znaczy: post) krzywdy nikomu innemu niźli mnie samemu (czyli autorowi posta).
-- Zepco --


#2 mck

mck

    Jestę Blogerę

  • Admin
  • 1,544 posts

Posted 12 February 2012 - 12:29 PM

W dokumentacji jest uwaga, że reverse routing nie działa dla tras zawierających regex, więc musisz to rozegrać po swojemu.

#3 Zepco

Zepco

    Senior Mastah

  • Moderator
  • 1,583 posts
  • Skąd:Kielce

Posted 12 February 2012 - 13:14 PM

Chyba będę musiał. Szukam nawet sposobu na przeniesienie tego co oferuje KO ale w taki sposób, by nie naruszać core.

OŚWIADCZENIE: Ja, niżej podpisany, świadomy wszystkich konsekwencji tego posta postanawiam go dopuścić do użytku publicznego, albowiem bo gdyż aczkolwiek uważam, że nie wyrządzi on (znaczy: post) krzywdy nikomu innemu niźli mnie samemu (czyli autorowi posta).
-- Zepco --





0 user(s) are reading this topic

0 members, 0 guests, 0 anonymous users