Symfony 3 URL-адрес вопроса - PullRequest
0 голосов
/ 30 мая 2018

Привет, я приду за очень простой вопрос (я думаю), но я не нашел ответа или подобного случая.Я использую Symfony 3 и пытаюсь создать второе меню для панели администрирования.

Однако у меня есть проблема с тем, как я должен объявить относительный URL в моем "href", для моего главного меню яраньше делали так

{{ url ( 'admin' ) }} 

и это работало.Дело в том, что теперь у меня есть подпапки и много уровней в моем URL.

URL, который я пытаюсь достичь, - это myapp / admin / gameadmin, этот URL работает, когда я иду на него, но когда я пытаюсь поставитьэто в 'href' У меня есть сообщение об ошибке, которое говорит, что маршрут не работает.

я объявил это так ->

{{ url(admin/gameadmin) }}

Я пробовал с другим символом -> admin:gameadmin, admin \ gameadmin ... и т.д. и с путем вместо URL, я не знаю, не является ли это хорошим способом объявить это или у меня есть проблема с моими контроллерами.

В моем комплекте это организовановот так:

   ->Controllers(folder)
        ->admin(folder) (You can also find my main controllers on this level)
           ->admingamecontroller (Where the page I try to reach is  routed)

Я надеюсь, что дал вам всю информацию, спасибо за вашу помощь и извините за мой английский!

1 Ответ

0 голосов
/ 30 мая 2018

Параметр url не является URL-адресом как таковым (например, admin / gameadmin), это имя маршрута, определенное в вашем файле routing.yaml или в аннотации вашего контроллера.

Есливаше действие выглядит примерно так:

/**
 * @Route("/admin/gameadmin", name="gameadmin")
 */
public function gameAdminAction()
{
    ...
}

Затем, чтобы сгенерировать маршрут, вы должны сделать следующее:

{{ url('gameadmin') }}

При этом все ссылки на вашем сайте будутв актуальном состоянии, если вы измените URL-адрес gameadmin, если вы не изменили имя маршрута.

Я предлагаю вам прочитать эту документацию на веб-сайте Symfony: https://symfony.com/doc/current/bundles/SensioFrameworkExtraBundle/annotations/routing.html

Редактировать: Как указано user254319 , если вы не используете аннотации, вам придется отредактировать файл конфигурации routing.yaml.

gameadmin:
    path:       /admin/gameadmin
    controller: App\Controller\Admin\AdminGameController::gameadminAction

Имя маршрута - это ключ yaml:gameadmin.

Связанная документация Symfony: https://symfony.com/doc/current/routing.html

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...