2012-07-10 4 views
6

Например, ссылка:маршрутизации, неограниченное число параметров

/shop/phones/brend/apple/display/retina/color/red 

где:

phones - category alias 
brend  - name of attribute; apple - attribute value 
display - name of attribute; retina - attribute value 
color  - name of attribute; red  - attribute value 

Атрибуты могут быть любое количество. Заказ также может быть другим.

Начало маршрута ясно:

/shop/{category} 

И что делать дальше непонятно.

В Symfony 1, набор в конце звездочку («/ магазин /: категория/*»), и все, что не было четко обозначено, и прийти в паре

name -> value 

Вопрос: как описать маршрут в symfony 2?

ответ

10

Маршрут:

my_shop: 
    pattern: "/{path}" 
    defaults: { _controller: "MyShopBundle:Default:shop" } 
    requirements: 
    path: "^shop/.+" 

, а затем вы можете просто разобрать $ путь в контроллере:

class DefaultController extends Controller { 
... 
    public function shopAction($path) { 
     // $path will be 'shop/phones/brend/apple/display/retina/color/red' 
     ... 
    } 
... 
} 
Смежные вопросы