Как установить действие по умолчанию для модуля SocialEngine - PullRequest
0 голосов
/ 02 октября 2018

Я создал модуль с двумя контроллерами: Index и Pay.Есть действия для обоих контроллеров, то есть
Index -> indexAction
Pay -> indexAction, callbackAction и т. Д.
Я определил маршруты в файле manifest.php модуля, хотя кажется, что он определяет маршруты в этом файлене имеет значения, так как все эти маршруты работают правильноПроблема в том, что когда я просматриваю корень модуля, т.е. http://example.com/pgateway,, выполняется только определенное действие от моего второго контроллера (PayController-> callbackAction).Почему это так и как я могу сделать так, чтобы IndexController-> indexAction был страницей по умолчанию при просмотре example.com/pgateway?

Мои определения маршрутов (manifest.php):

'routes' => [
    'pay_general' => [
        'route' => 'pgateway/:controller/:action/*',
        'defaults' => [
            'module' => 'pgateway',
            'controller' => 'pay',
            'action' => 'index',
        ],
        'reqs' => [
            'controller' => '\D+',
            'action' => '\D+',
        ],
    ],
    'pay_callback' => [
        'route' => 'pgateway/:controller/:action/*',
        'defaults' => [
            'module' => 'pgateway',
            'controller' => 'pay',
            'action' => 'callback',
        ],
        'reqs' => [
            'controller' => '\D+',
            'action' => '\D+',
        ],
    ],
],

1 Ответ

0 голосов
/ 03 октября 2018

маршрут должен быть уникальным, в каждом определении.:action означает, что он будет работать как со значениями, так и с пустыми.В случае пустого он будет использовать значения по умолчанию.В вашем случае последний маршрут переопределяет.

Попробуйте удалить pay_callback, он будет работать как в pay_general.

Соглашение заключается в управлении одним маршрутом для контроллера и управлении соответственно.

...