Fuelphp - указатель маршрута с параметрами
Используя Fuelphp, я хотел бы иметь возможность использовать систему URL, аналогичную описанной здесь, в Stackru, чтобы получить доступ к определенным страницам.
Желаемое поведение: -stackru.com/questions -> страница с большим количеством вопросов -stackru.com/questions/1982 -> страница с конкретным вопросом
Вот мой контроллер:
class Controllers_Images extends Controller_Template
{
public function action_index($id=null)
{
if($id)
{
//Use Model_Image to find specific image
//Create appropriate view
}
else
{
//Use Model_Image to find many images
//Create appropriate view
}
}
}
Я могу получить доступ к "общей" странице с mysite.com/images/
- это направлено на action_index
функция. Я могу получить доступ к "конкретной" странице с mysite.com/images/index/1
, То, что я хотел бы сделать, это иметь возможность пропустить index
и в этом случае, чтобы mysite.com/images/1
работает. Прямо сейчас я получаю 404. Как мне настроить маршрутизацию для этого?
1 ответ
Пройдя немного побольше, я нашел решение, которое отлично работает:
class Controllers_Images extends Controller_Template
{
public function action_index()
{
//Use Model_Image to find many images
//Create appropriate view
}
public function get_id($id)
{
//Use Model_Image to find specific image
//Create appropriate view
}
}
В routes.php
:
return array(
'images/(:num)'=>'images/id/$1',
//other routing stuff...
);
При такой настройке URL "mysite.com/images/1" теперь отображает выбранное изображение соответствующим образом, как если бы вместо него использовалось "mysite.com/images/id/1". Не так уж и много, но это приятный интерфейс, что важно!