Yii-booster TbButtonColumn不呈现图标

时间:2013-05-27 11:08:28

标签: php yii yii-extensions

我正在使用Yii-Booster并在其中渲染TbGridView和TbButtonColumn以在最右边渲染按钮。

当我渲染这个表时,一切都很好,除了视图按钮的图标不可见(其他都没有,但我不期望它们)。

我已尝试将我的网页与此处的示例进行比较 - http://yiibooster.clevertech.biz/components.html#tables,但我无法发现实际显示图标图像的内容,以便发现我页面上缺少的内容以显示按钮。

有谁知道可能导致问题的原因?我不知道从哪里开始调试这个。这是为初学者呈现此小部件的代码 -

    // $gridColumns
    $gridColumns = array(
        array('name'=>'nick_name', 'header'=>'Interests Sets'),
        array(
            'htmlOptions' => array('nowrap'=>'nowrap'),
            'class'=>'bootstrap.widgets.TbButtonColumn',
            'viewButtonUrl'=>'Yii::app()->createUrl("friend/filter", array("friend_id"=>$data->id))',
            'updateButtonUrl'=>null,
            'deleteButtonUrl'=>null,
        )
    );

    $this->widget('bootstrap.widgets.TbGridView', array(
        'type'=>'striped',
        'dataProvider'=>$gridDataProvider,
        'template'=>"{items}",
        'columns'=>$gridColumns,
    ));

2 个答案:

答案 0 :(得分:3)

这是我开始工作的一个例子:

array(
          'class'=>'bootstrap.widgets.TbButtonColumn',
          'htmlOptions'=>array('style'=>'width: 50px'),
          'template'=>'{delete}', //Only shows Delete button
          'buttons'=>array(            
            'delete' => array(
              'label'=>'Terminar sesión',
            ),
          ),
          'deleteConfirmation'=>'Está seguro que desea terminar la sesión seleccionada?',
          'deleteButtonUrl'=>'$this->grid->owner->createUrl("productSession/delete", $data->primaryKey)'
        ),

要调试您的问题,只需查看生成的HTML即可。它将有一个指向图像的路径,复制该路径并将其粘贴到您的浏览器中,如果您无法访问该图像,则会出现问题,看看您的路径是否配置良好并具有读取权限。

编辑:

实际上,图标是在CSS中添加的,而不是在HTML中添加:

<td style="width: 50px">
<a class="delete" href="/smartworkspace/index.php/productSession/delete/username/admin/product/docusearch" rel="tooltip" title="" data-original-title="Terminar sesión">
<i class="icon-trash"></i>
</a>
</td>

要加载YiiB css,我必须在我的布局中包含这些(也可以是视图文件)

<?php Yii::app()->bootstrap->registerCoreCss(); ?>
<?php Yii::app()->bootstrap->registerCoreScripts(); ?>
<?php Yii::app()->bootstrap->registerYiiCss(); ?>

答案 1 :(得分:2)

我有同样的问题。这就是它发生的原因:

  1. 如果你查看yiibooster网站上的图标,你会发现font-awesome.css用于显示图标,这意味着图标根本不是图像。
  2. 如果你检查你的图标,你可能找不到font-awesome.css,这就是图标没有显示的原因。
  3. 以下是解决方案: 您需要使用以下代码注册FontAwesomeCss :(除非必要,否则不应添加此行,您可以将其添加到任何位置,例如在_form.php文件中)

    的Yii ::应用程序() - &GT; bootstrap-&GT; registerFontAwesomeCss();