@T_verdisla_V
Начинающий

Не могу разобраться с маршрутами?

В зенде у меня несколько модулей, в каждом есть конфигурационный файл с маршрутами к контроллерам, которые находятся в этих файлах. Меня интересуют модули application и shop. Вот их конфиги:
application/module.config.php
return [
    'router' => [
        'routes' => [
            'home' => [
                'type' => Literal::class,
                'options' => [
                    'route'    => '/',
                    'defaults' => [
                        'controller' => Shop\Controller\IndexController::class,
                        'action'     => 'index',
                    ],
                ],
            ],
            'application' => [
                'type'    => Segment::class,
                'options' => [
                    'route'    => '/application[/:action]',
                    'defaults' => [
                        'controller' => Controller\IndexController::class,
                        'action'     => 'index',
                    ],
                ],
            ],
        ],
    ],


shop/modul.config.php
'router' => [
        'routes' => [
            'shop' => [
                'type'    => Segment::class,
                'options' => [
                    // Change this to something specific to your module
                    'route'    => '[/:action][/:id]',
                    'constraints' => [
                        'action' => '[a-zA-Z][a-zA-Z0-9_-]*',
                        'id'     => '[0-9]+',
                    ],
                    'defaults' => [
                        'controller'    => Controller\IndexController::class,
                        'action'        => 'index',
                    ],
                ],

Так вот когда я вывожу на экран:
<div class="img-thumbnail">
        <img src="<?= $this->url('home', ['action'=>'file'], 
                                ['query'=>['name'=>$file]]); ?>">
</div>

у меня должна появиться картинка, но вместо этого значек изображения, и url изображения такой
zblog.local/?name=logo.png
т.е. он не видит action который должен вывести его на экран, подскажите что не так с маршрутом в ?
  • Вопрос задан
  • 64 просмотра
Пригласить эксперта
Ответы на вопрос 1
Keanor
@Keanor
Ведущий разработчик
роут home литеральный, он не принимает параметров action и controller, используйте для этого роут application
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы