使用Yii2逐步增强

时间:2015-10-04 19:08:27

标签: jquery yii2 progressive-enhancement

我试图让我的网站同时使用js和不适用的js。我刚刚开始。所以我开始注册一个新用户。我有一个注册链接,它工作正常。

我还有一个JS版本,其中表单位于模态框中。

用户控制器

/**
* register via modal box
*/
public function actionJsRegister()
{
    // get js modal #id
    $js = '$("#create").modal("show")';
    // register js code
    $this->getView()->registerJs($js); 

    $model = new User();
    $userType = $model->getUserTypeDropDown();  

    if ($model->load(Yii::$app->request->post()) && $model->save()) {
        // set flash
        Yii::$app->session->setFlash('success', 'Account Created, please check your inbox');
        // send activation email
        return $this->redirect(['site/index']);
    } else {    
        return $this->render('jsCreate', [
            'model' => $model,
            'userType' => $userType,
        ]);
    }
}

1 - 该控制器是否可以作为代码?

2 - 如果没有启用js,我如何在导航栏中显示我的链接只显示常规版本?如果启用了模式版本,我将如何显示?

1 个答案:

答案 0 :(得分:1)

赞赏你建设渐进式增强!您的网站将更加健壮。

我无法专门讨论控制器代码,因为我没有使用过Yii2(虽然从逻辑上看它看起来很合理),但我可以讨论关于导航的第二个问题。最简单的方法是默认情况下存在导航栏,然后使用JavaScript劫持页面,将导航栏转换为模态。