Yii2使用按钮链接到另一个页面


Yii2 Page link to another with the use of button

这是我第一次使用Yii2,所以我对它的工作原理感到困惑。我的views/people/card.php中有这个卡片页面。但是我只能通过web/people/card访问该页面。为什么?

我可以使用控制器将card.php中的按钮链接到_card.php(无需更改url),但我如何将_card.php中的按钮连接到_data.php

我的控制器

 public function actionCard()
 {
  $dataProvider = new ActiveDataProvider([
     'query' => People::find(),
  ]);
  $model = '';
    if (Yii::$app->request->post() && isset($_POST['card'])) {
     if(isset($_POST['selection'])){
        $model = People::find()->select('id, name, ic')->where(['id' => $_POST['selection']])->all();
        $content = $this->renderPartial('_card',['model'=>$model]);
        $selection = implode(',', $_POST['selection']);
}
      return $this->render('_design', [
     'dataProvider' => $dataProvider,
     'model' => $model,
      ]);
  }

首先,您只能通过web/people/card访问页面。因为这是yii管理的路线(这是一种可能的路线方式,你可以在本指南中看到更多

第二,如何将_card.php中的按钮链接到_data.php?(在另一个控制器中)为此,您也可以使用上面的路由规则。在这种情况下,您应该将控制器名称添加到路线(控制器/视图)中,例如:

 $content = $this->renderPartial('data/_data',['model'=>$model]);

但是记住,使用来自不同控制器的视图不是一个好的实践。