Есть таблица категорий товаров с полями:
cat_id: индекс категории
cat_name: название категории
parentcat_id: индекс родительской категории
alias: часть адреса - транслитерация названия категории (может содержать и буквы и цифры).
Например она содержит категории:
cat_id | cat_name | parentcat_id | alias |
---|
1 | Каталог | 0 | catalog |
2 | Телевизоры | 1 | tele |
3 | Авто | 1 | avto |
4 | Авто BMW | 3 | bmw |
5 | Дизельные | 4 | dizel |
Уровней вложенности 4 (это на практике, а в теории бесконечно).
Все материалы категории выводятся контроллером CategoryController, action: view($alias)
То есть если ввести адрес:
- site.ru/catalog/tele - нужно отловить $alias=tele и передать в экшн
- site.ru/catalog/avto/bmw - $alias=bmw
- site.ru/catalog/bmw/dizel - $alias=dizel
Как будут выглядеть правила UrlManager для данного случая?