这是我第一次使用Yii2,所以我对它是如何工作感到困惑。我的views/people/card.php
中有此卡页。但是我只能通过web/people/card
访问该页面。为什么?
我可以使用控制器将card.php
中的按钮链接到_card.php
(不更改网址),但如何将_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,
]);
}
答案 0 :(得分:0)
首先您只能通过网络/人/卡访问该页面。因为这是由yii管理的路线(是可能的路由方式之一,您可以看到更多in this guide
其次,如何将_card.php中的按钮链接到_data.php? (在另一个控制器中) 也可以使用上面的路由规则。在这种情况下,您应该将控制器名称添加到路径(控制器/视图),例如:
$content = $this->renderPartial('data/_data',['model'=>$model]);
但请记住,使用来自不同控制器的视图不是一个好习惯。