Yii 2在标签内容中呈现页面

时间:2015-02-18 05:50:09

标签: php tabs render yii2

我有一个Tabs小部件:

echo Tabs::widget([
    'items' => [
        [
            'label' => 'Add Staff', 
            'icon' => 'user',
            'content' => "Add Staff page loaded here",
            'active' => true
        ],
        [
            'label' => 'Store Configuration',
            'content' => 'Store Configuration page loaded here',
            //'headerOptions' => [...],
            'options' => ['id' => 'myveryownID'],
        ],
        [
            'label' => 'Transaction',
            'items' => [
                 [
                     'label' => 'Add Transaction',
                     'content' => 'Add Transaction page loaded here',
                 ],
                 [
                     'label' => 'View Transaction',
                     'content' => 'View Transaction page loaded here',
                 ],
            ],
        ],
    ],
]);

如何在Tab内容中呈现页面(如果可能,不重新加载整个页面)?可能吗?我试过这个:

'content' => "<?= $this->render('createbizstaff', ['searchModel' => $searchModel,'dataProvider' => $dataProvider,]); =>"

但它只会产生此错误:

Getting unknown property: yii\web\View::render

如果你有任何想法如何处理,请告诉我。

2 个答案:

答案 0 :(得分:5)

您正在尝试传递需要字符串的PHP表达式。 yii\web\View::render()返回一个字符串,因此您的代码应为:

'content' => $this->render('createbizstaff', [
    'searchModel' => $searchModel,
    'dataProvider' => $dataProvider,
]),

答案 1 :(得分:0)

尝试使用Pjax小部件。您可以加载该内容的一部分而无需重新加载整个页面。但是当它达到超时并且仍在加载时,它将重新加载整个页面。 查看这个家伙的教程。 http://blog.neattutorials.com/yii2-pjax-tutorial/