gpt4 book ai didi

twitter-bootstrap - Yii booster - renderPartial 弹出窗口的数据内容?

转载 作者:行者123 更新时间:2023-12-02 00:09:14 24 4
gpt4 key购买 nike

我正在使用带有 YiiBooster 扩展的 Yii。我想要一个像这样的弹出窗口:

array(
'header' => '',
'value' => function($data)
{
$this->widget('bootstrap.widgets.TbButton', array(
'label'=>'Inne',
'type'=>'primary',
'size' => 'mini',
'htmlOptions'=>array(
'data-placement'=>'right',
'data-content'=> "Controller::renderPartial('_statButtons',
array('data' => $data->idProject));",
'rel'=>'popover'
),
));
}
),

这是在 GridView 的单元格内。我想使用 renderPartial 来呈现包含某些内容的文件,但上面的代码不起作用。我怎样才能实现它?

编辑:如果代码执行(我的代码或@Ruslans 代码),结果是:

Here is the text from the _statButtons partial file. End of this file.
<a id="yw2" class="btn btn-primary btn-mini" rel="popover"
data-placement="right" data-original-title="" title="">Inne</a>

最佳答案

下面的代码有效。我使用 PHP 5.3

'value' => function($data) use($controller)
{
$controller->widget('bootstrap.widgets.TbButton', array(
'label'=>'Inne',
'type'=>'primary',
'size' => 'mini',
'htmlOptions'=>array(
'data-placement'=>'right',
'data-content'=> $controller->renderPartial('_test',
array('data' => $data->title), true),
'rel'=>'popover'
),
));
}

其中 $controller 只是在呈现 CGridView 小部件之前重新分配 $this var。

$controller=$this;

因为在 PHP 5.3 中闭包无法访问 $this var

据我所知,PHP 5.4 可以访问$this

调用 Controller::renderPartial(.... - 糟糕的方法,因为 renderPartial 不是静态函数,而是静态调用的。它应该引发错误,除非你把它们关掉了。

关于twitter-bootstrap - Yii booster - renderPartial 弹出窗口的数据内容?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16439762/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com