Получение: "Маршрут с именем" imageAdd "not found" для определенного маршрута - PullRequest
0 голосов
/ 27 апреля 2019

Я получаю эту ошибку в Zend3 для маршрута, который определен в моем файле module.config.php, где определены мои маршруты.

Вот ссылка на мой файл представления, который вызывает ошибку:

    <p>
        <a href="<?= $this->url('property/imageAdd', ['p_id' => $property->p_id]) ?>">Add Image</a>
    </p>

Вот мой маршрутизатор:

    'router' => [
        'routes' => [
            'property' => [
                'type' => Segment::class,
                'options' => [
                    'route'     => '/property',
                    'defaults' => [
                        'controller'    => Controller\ListController::class,
                        'action'        => 'forsale',
                    ],
                    'constraints' => [
                        'action'    => '[a-zA-Z][a-zA-Z0-9_-]*',
                    ],
                ],
                'may_terminate' => true,
                'child_routes'  => [

                    'detail' => [
                        'type' => Segment::class,
                        'options' => [
                            'route'     => '/detail[/:p_id]',
                            'defaults'  => [
                                'action' => 'detail',
                            ],
                            'constraints' => [
                                'p_id'      => '[1-9]\d*',
                            ],
                        ],
                    ],

                    'add' => [
                        'type' => Literal::class,
                        'options' => [
                            'route'     => '/add',
                            'defaults'  => [
                                'controller'    => Controller\WriteController::class,
                                'action'        => 'add',
                            ],
                        ],
                    ],

                    'imageAdd' => [
                        'type' => Segment::class,
                        'options' => [
                            'route'     => '/imageAdd[/:p_id]',
                            'defaults'  => [
                                'controller'    => Controller\WriteController::class,
                                'action'        => 'imageAdd',
                            ],
                            'constraints' => [
                                'p_id'      => '[1-9]\d*',
                            ],
                        ],
                    ],             
                ],
            ],
        ],
    ],

Буду признателен за любую помощь, которую вы можете предоставить, я с нетерпением жду вашего ответа.

1 Ответ

0 голосов
/ 05 июня 2019

Вы должны просто определить свой родительский маршрут "свойства" как тип Literal, а не как тип сегмента. Этого должно быть достаточно для обеспечения доступа к дочерним маршрутам.

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