如何在Yii中将帖子链接放入CDetailview

时间:2014-02-07 13:42:23

标签: yii

我有一个使用CDetailView的视图页面,

<?php $this->widget('zii.widgets.CDetailView', array(
'data'=>$model,
'attributes'=>array(
    'id',
    'name',
    array(
        'label'=>'Keyword',
        'type'=>'html',
        'value'=>getKeywordsHtml($model),
    ),
)); ?>

函数getKeywordsHtml()在下面的同一文件中定义。

<?php
function getKeywordsHtml($model)
{
    $keywordsHtml='';

    foreach ($model->keywords as $keyword)
    {
        $keywordsHtml = $keywordsHtml.
                        CHtml::link($keyword->name,array('keyword/view', 'id'=>$keyword->id)).

                        CHtml::link(' [del] ',
                            array('problem/delkeyword', 'id'=>$model->id, 'kid'=>$keyword->id), 
                            array(
                                'submit'=>array(
                                    '/problem/delkeyword',
                                    'id'=>$model->id, 
                                    'kid'=>$keyword->id
                                ),
                            'class' => 'delete',
                            'confirm'=>'Are you sure?'
                            )
                        ).'<br>';
    }
    return $keywordsHtml;           
}
?>

我希望页面显示旁边带有del链接的关键字。

现在链接正常。它转到/ delkeyword&amp; id = 1,但确认窗口不起作用。所以它的帖子不起作用。

我在详细信息小部件之外尝试了以下代码,它运行正常。

<?php
    echo CHtml::link('keyword 1',array('keyword/view','id'=>1)).CHtml::link(' [del] ',array('problem/delkeyword','id'=>1, 'kid'=>1), array('submit'=>array('/problem/delkeyword', 'id'=>1, 'kid'=>1),'class' => 'delete','confirm'=>'Are you sure?')).'<br>';
?>

和html输出

在CDetailview之外工作:      [删除] 不能在CDetailview中工作:      [del]

那么我应该如何修改我的代码?

1 个答案:

答案 0 :(得分:0)

尝试将其放入删除部分

    CHtml::link("Delete", '#', array(
'submit'=>array('problem/delkeyword', 'id'=>$model->id, 'kid'=>$keyword->id), 'confirm' => 'Are you sure you want to delete?'));