Проблема маршрутизации с FuelPHP

Я использую FuelPHP для создания простого веб-приложения с фотогалереей. Все фотографии должны принадлежать галерее и могут принадлежать только одной галерее. Учитывая, что фотография должна существовать как компонент галереи, я хочу, чтобы моя структура URL выглядела примерно так:

Чтобы проиндексировать все фотографии в галерее #4
/admin/galleries/4/photos

Редактировать фото 17 в галерее 2
/admin/galleries/2/photos/edit/17

...так далее. Довольно очевидная картина. Я добавил следующую строку в мой routes.php чтобы начать вещи

admin/galleries/:gid/photos' => array('admin/photos/index')

... но в гостях /admin/galleries/4/photos дает мне 404. Мысли? Есть ли другой шаблон маршрутизации, который я должен использовать?

2 ответа

Решение

Вот как я бы в итоге написал это:

// To edit photo 17 in gallery 2
'admin/galleries/(\d+)/photos/edit/(\d+)' => 'admin/photos/edit/$1/$2',

// To index all photos in gallery #4
'admin/galleries/(\d+)/photos' => 'admin/photos/index/$1',

Это при условии, что ваш контроллер выглядит примерно так:

class Controller_Photos extends \Controller {
    public function action_index($gallery) {
    }

    public function action_edit($gallery, $photo) {
    }
}

Как создать эту ссылку? использование

\Uri::create

или же

Router::get()
Другие вопросы по тегам