【问题标题】:Yii Booster popover over text rather than buttonYii Booster 弹出文本而不是按钮
【发布时间】:2013-09-22 16:34:03
【问题描述】:

Yii 助推器documentation 展示了如何在按钮上制作弹出框。我想在锚元素而不是按钮上创建一个。本质上,我想将弹出框与 Yii 的 tooltip 结合起来。有谁知道怎么做?

这是弹出框的代码:

$this->widget(
'bootstrap.widgets.TbButton',
array(
    'label' => 'Top popover',
    'type' => 'primary',
    'htmlOptions' => array(
        'data-title' => 'A Title',
        'data-placement' => 'top',
        'data-content' => "And here's some amazing content. It's very engaging. right?",
        'data-toggle' => 'popover'
    ),
));

如果有办法将其更改为不呈现按钮,而只是呈现锚点,则问题将得到解决,但我在代码中找不到任何可用于执行此操作的内容。

更新

根据 Sergey 的回答,这就是我所说的:

echo CHtml::Link("$detail->text", null, 
array(
'rel' => 'popover',
'data-trigger' => "hover",
'data-title' => "$header",
'data-content' => "$body"
));

这与我需要的很接近,但由于某种原因,hove 不起作用,只显示点击,也只显示内容而不是标题。

【问题讨论】:

    标签: php twitter-bootstrap yii yii-extensions


    【解决方案1】:

    你可以使用 CHtml:

    <?php echo CHtml::Link('<i class="icon-info-sign"></i>', null, [
        'rel' => 'popover',
        'data-trigger' => 'hover',
        'data-title' => 'Your title',
        'data-content' => 'Your content',
    ])?>
    

    更新: 对于引导程序 2.3.2:

    <?php Yii::app()->clientScript->registerScript("", "$('.ipopover').popover();", CClientScript::POS_READY) ?>
    <?php echo CHtml::Link('<i class="icon-info-sign"></i>', null, array(
        'class' => 'ipopover',
        'data-trigger' => 'hover',
        'data-title' => 'Your title',
        'data-content' => 'Your content',
    ))?>
    

    【讨论】:

    • 这已经接近我需要的了,但我不能像你一样让它工作。我会发布我在上面放的内容,以防我放错了。
    • 嗨,谢尔盖,关于我的代码为什么不起作用的任何想法?我只对您的进行了微小的调整,并且完全有必要进行调整,因为我的 PHP 版本不接受数组的方括号。非常感谢任何帮助。
    • 更新了 Bootstrap 2.3.2 的帖子
    • 我升级到最新版本的 Yii Booster,但它现在抛出错误'CClientScript 及其行为没有名为“registerClientScript”的方法或闭包'
    • 它像以前一样给出一个弹出框,但仍然没有标题,它仍然不会在悬停时触发,只有在点击时触发。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-05-22
    • 1970-01-01
    • 1970-01-01
    • 2011-06-03
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多