В настоящее время я пытаюсь настроить параметр маршрутизации в Symfony2, чтобы /cms
перенаправлял на /cms/role/view
. Тем не менее, передача значений по умолчанию не работает должным образом.
/ SRC / MyProject / CMSBundle / Ресурсы / конфигурации / routing.yml
MyProjectCMS_specific:
pattern: /cms/{page}/{option}
defaults: { _controller: MyProjectCMSBundle:Main:index, page: role, option: view }
requirements:
_method: GET
/ SRC / MyProject / CMSBundle / контроллер / MainController.php
<?php
namespace MyProject\CMSBundle\Controller;
use Symfony\Bundle\FrameworkBundle\Controller\Controller;
use Sensio\Bundle\FrameworkExtraBundle\Configuration\Route;
class MainController extends Controller
{
public function indexAction($page, $option)
{
$response = null;
/* Switch statement that determines the page to be loaded. */
return $response;
}
}
?>
Проблема в том, что когда я пытаюсь перейти к `localhost / app_dev.php / cms ', выдается следующая ошибка:
Controller "MyProject\CMSBundle\Controller\MainController::indexAction()" requires that you provide a value for the "$page" argument (because there is no default value or because there is a non optional argument after this one).
500 Internal Server Error - RuntimeException
Однако, если я попытаюсь посетить localhost/app_dev.php/cms/role
или localhost/app_dev.php/cms/role/view
, это даст мне правильную страницу. Я попытался добавить маршрут по умолчанию к /cms
, но он все равно выдает мне ту же ошибку. Как это возможно и как я могу это исправить?
Заранее спасибо.