4

我正在尝试使用 Yiibooster 让 TbEditableColumn 工作。我已按照此处的说明进行操作http://yii-booster.clevertech.biz/components.html#editable

我对这条线感到困惑

'editable' => array(
'url' => $this->createUrl('site/editable'),
'placement' => 'right',
'inputclass' => 'span3'
)

这是否意味着我应该已经有一个 actionEditable() 方法或需要创建一个?

我尝试在我的图像控制器中使用预先存在的 actionUpdate($id) 方法。

'editable' => array(
'url' => $this->createUrl('image/update', array('id'=>'1')),
'placement' => 'right',
'inputclass' => 'span3'

ATM 它会更新前端,但是当我刷新页面时,它不会保留其值。

在这个例子中,我对 id 进行了硬编码。

如果我需要创建一个 actionEditable 方法,有没有人这样做并且可以发布如何?

亲切的问候 :)

4

2 回答 2

3

以下对我有用。

在我的 admin.php 视图中,我有以下代码:

'editable' => array(
    'url' => $this->createUrl('image/editableSaver'),
    'placement' => 'right',
    'inputclass' => 'span3'
),

在我相应的控制器中,我有这个(根据@schmunk 的)评论。有细微的变化。

public function actionEditableSaver()
{
    Yii::import('bootstrap.widgets.TbEditableSaver');
    $es = new TbEditableSaver('Image');
    $es->update();
}

所以我需要改变

public function actionEditableSaver()
{
    Yii::import('path.to.editable.EditableSaver');
    $es = new EditableSaver('MyModel');
    $es->update();
}

public function actionEditableSaver()
{
    Yii::import('bootstrap.widgets.TbEditableSaver');
    $es = new TbEditableSaver('Image');
    $es->update();
}

对应于我的小部件名称中的 Tb 前缀(从http://yii-booster.clevertech.biz/getting-started.html下载)

我希望这对其他人有帮助。

于 2012-12-19T02:58:36.290 回答
2

到目前为止你是对的。该方法非常简单,因为有一个现有的组件。将以下代码放入您的控制器并调用image/editableSaver

public function actionEditableSaver()
{
    Yii::import('path.to.editable.EditableSaver');
    $es = new EditableSaver('MyModel');
    $es->update();
}
于 2012-12-18T08:25:53.227 回答