0

我正在使用 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,
    ));
4

2 回答 2

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(); ?>
于 2013-05-27T12:47:16.517 回答
2

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

  1. 如果你查看 yiibooster 网站上的图标,你会发现 font-awesome.css 用于显示图标,这意味着图标根本不是图像。
  2. 如果您检查您的图标,您可能找不到 font-awesome.css,这是图标未显示的原因。

这是解决方案:您需要使用以下代码注册 FontAwesomeCss:(除非必要,否则不应添加此行,您可以将其添加到任何地方,例如在 _form.php 文件中)

Yii::app()->bootstrap->registerFontAwesomeCss();

于 2013-05-27T14:57:43.097 回答