des1roer
@des1roer
ученье - свет, а неученье - приятный полумрак

Yii 2 не видит эшен?

контролер

<?php

namespace app\modules\myshop\controllers;

use app\modules\myshop\models\SignupForm;
use yii\web\Controller;

/**
 * Default controller for the `myshop` module
 */
class DefaultController extends Controller {

    /**
     * Renders the index view for the module
     * @return string
     */
    public function actionIndex() {
        return $this->render('index');
    }

    // Всплывшее модальное окно заполняем представлением signup.php формы с полями
    public function actionSignup() {
        $model = new SignupForm();
        //  $model = new \app\models\SignupForm();
        //$model->id =$userid;
        return $this->renderPartial('signup', [
                    'model' => $model,
        ]);
    }

// По нажатию в модальном окне на Отправить - форма отправляется администратору на почту     
    public function actionSubmitsignup() {
        $model = new SignupForm();
        $model->load(Yii::$app->request->post());

        if ($model->load(Yii::$app->request->post()) && $model->contact(Yii::$app->params['adminEmail'])) {

            //save the password
            $success = true;
            return json_encode($success);
        } else {
            return $this->renderPartial('signup', [
                        'model' => $model,
            ]);
        }
    }

}


структура

yFMzCf
'urlManager' => [
            'class' => 'yii\web\UrlManager',
            // Disable index.php
            'showScriptName' => false,
            // Disable r= routes
            'enablePrettyUrl' => true,
            'rules' => array(
                '<controller:\w+>/<id:\d+>' => '<controller>/view',
                '<controller:\w+>/<action:\w+>/<id:\d+>' => '<controller>/<action>',
                '<controller:\w+>/<action:\w+>' => '<controller>/<action>',
            //    'signup' => '/myshop/default/signup',
            //    'submitsignup' => '/myshop/submitsignup',
            ),
        ],
  • Вопрос задан
  • 787 просмотров
Решения вопроса 2
slo_nik
@slo_nik Куратор тега Yii
Попробуйте следующее
'<_m:[\w\-]+>' => '<_m>/default/index',
 '<_m:[\w\-]+>/<_c:[\w\-]+>' => '<_m>/<_c>/index',
 '<_m:[\w\-]+>/<_c:[\w\-]+>/<_a:[\w\-]+>' => '<_m>/<_c>/<_a>',
 '<_m:[\w\-]+>/<_c:[\w\-]+>/<id:\d+>' => '<_m>/<_c>/view',
 '<_m:[\w\-]+>/<_c:[\w\-]+>/<id:\d+>/<_a:[\w\-]+>' => '<_m>/<_c>/<_a>',

Допишите после основных правил.
Начните с первой строки, увидит действие модуля, тогда продолжайте.
Возможно надо будет подредактировать ссылки в навигации.
Ответ написан
Комментировать
@AlikDex
для экшенов контроллеров модуля надо правило несколько другое:
'<module:\w+>/<controller:\w+>/<action:\w+>' => '<module>/<controller>/<action>',

Это разумеется првило для всех.
кастомно будет несколько иначе. Например убрать из урла myshop:
'<controller:\w+>/<action:\w+>' => 'myshop/<controller>/<action>',
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

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