Php Yii助推器TBButton柱未渲染图标

Php Yii助推器TBButton柱未渲染图标,php,yii,yii-extensions,Php,Yii,Yii Extensions,我使用Yii Booster并渲染其中的TbGridView和TbButtonColumn来渲染最右侧的按钮 当我渲染这个表时,除了视图按钮的图标不可见之外,一切都很好(其他的都不可见,但我不希望它们可见) 我尝试将我的页面与这里的示例进行比较-,但我无法找出实际显示图标图像的内容,以便找出页面上缺少的内容来显示按钮 有人知道问题的原因吗?我不确定从哪里开始调试这个。下面是为初学者呈现此小部件的代码- // $gridColumns $gridColumns = array(

我使用Yii Booster并渲染其中的TbGridView和TbButtonColumn来渲染最右侧的按钮

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

我尝试将我的页面与这里的示例进行比较-,但我无法找出实际显示图标图像的内容,以便找出页面上缺少的内容来显示按钮

有人知道问题的原因吗?我不确定从哪里开始调试这个。下面是为初学者呈现此小部件的代码-

    // $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,
    ));

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

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,我必须在布局中包含这些内容(也可以是视图文件)


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

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,我必须在布局中包含这些内容(也可以是视图文件)


我也有同样的问题。这就是为什么会发生这种情况:

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


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

    我也有同样的问题。这就是为什么会发生这种情况:

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



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

    是否有任何图标显示在图标的位置?没有,但HTML是按照示例呈现的。是否有任何图标显示在按钮/标签中?如果否,请尝试清空站点根目录/资产文件夹的路径。您说的“按钮/标签”是什么意思?屏幕上没有呈现任何内容。我已经尝试过清理资产文件夹,但我仍然得到了同样的结果。是否有任何图标显示在图标的位置?否,但HTML正在按照示例进行渲染。是否有任何图标显示在按钮/标签中?如果否,请尝试清空站点根目录/资产文件夹的路径。您说的“按钮/标签”是什么意思?屏幕上没有呈现任何内容。我已经尝试过清理资产文件夹,但我还是得到了同样的结果。嗨,Jorge,谢谢你的回复。生成的HTML不包含图像,我认为这就是问题所在。我无法让您的示例正常工作,因为它显示“属性”TbDataColumn.style“未定义”。奇怪的是,因为我们没有指定任何样式,您是否复制/粘贴或更改了某些内容?(样式作为html添加到对象中)。您使用的是上一个版本吗?htmlOptions中有一个样式?只需使用您的示例,删除空值,并像我一样使用模板系统,然后看看是否这样就可以了。”模板'=>'{view}',好的,可以试一试。谢谢你好,Jorge,谢谢你的回复。生成的HTML不包含图像,我认为这就是问题所在。我无法让您的示例正常工作,因为它显示“属性”TbDataColumn.style“未定义”。奇怪的是,因为我们没有指定任何样式,您是否复制/粘贴或更改了某些内容?(样式作为html添加到对象中)。您使用的是上一个版本吗?htmlOptions中有一个样式?只需使用您的示例,删除空值,并像我一样使用模板系统,然后看看是否这样就可以了。”模板'=>'{view}',好的,可以试一试。谢谢您是否尝试过按照Jorge的回答结尾添加核心YiBooster脚本?谢谢您的评论。我添加了核心脚本和图标显示!但他们也重写了一些css。试着弄明白…谢谢你,鹅和乔治!嘿,Bootstrap确实重写了CSS,这就是为什么我不太喜欢它,我设法“解决”这个问题的方法是在我的类前面加前缀,覆盖Bootstrap中声明的类,我不太喜欢附加!对财产很重要。这是引导错误,就像“侵入性的”。因此,如果您不喜欢呈现的H1,请在另一个加载到页面中的CSS文件中使用
    H1{font size:14px!important;}
    。+1我尝试了Jorge的答案,但没有成功。这是一个很容易遵循,简短和工程!更不用说这个解释很好,并且意识到bootstrap使用的是font-awesome.css。谢谢您是否尝试过按照Jorge的回答结尾添加核心YiBooster脚本?谢谢您的评论。我添加了核心脚本和图标显示!但他们也重写了一些css。试着弄明白…谢谢你,鹅和乔治!嘿,Bootstrap确实重写了CSS,这就是为什么我不太喜欢它,我设法“解决”这个问题的方法是在我的类前面加前缀并覆盖那些