Есть два уровня категорий
/programms
/computers/notebook
И в вхождения в них (скажем, товары):
/programms/123
/computers/notebook/1234
При чем товар может входить в несколько категорий, но его URL генерируется по одной из них (в many-to-many таблице категория-товар есть третья колона - main. Там 1 для одной главной категории и 0 для остальных).
Попробовал сделать:
1) В actionView категории передаются slug'и родительской категории и подкатегории.
2) В actionView товара передаются slug'и родительской категории и подкатегории и ID товара в конце.
Код: Выделить всё
'cat/<categorySlug:[\w_-]+>/<subcategorySlug:[\w_-]+>/<id:\d+>' => 'photo-item/view',
'cat/<categorySlug:[\w_-]+>/<id:\d+>' => 'photo-item/view',
'cat/<category:[\w_-]+>/<subcategory:[\w_-]+>' => 'photo-category/view-by-slug',
'cat/<category:[\w_-]+>' => 'photo-category/view-by-slug',
Т.е. на каждую ссылку на товар - 2 SQL запроса, что не есть хорошо.
Кто как выходил из такой ситуации?
Вижу один вариант - банально закешировать страницы, но не для этого я пробую перейти с drupal на yii