Yii2数据工具提示网格视图中的图像

时间:2016-07-29 08:29:41

标签: gridview yii2 tooltip yii2-basic-app

这与我之前的问题有关。当我将鼠标悬停在图像上时,我想要为我的图像动态显示工具提示标题。我在上一个问题Click here中解释了关系。现在我想为这些图像添加数据工具提示。我的代码在

之下
  [
        'label' => 'Hazards',  
        'format' => 'raw',   
        'value' => function ($data) {
             $images = '';

    // append all images
            foreach($data->getPictogramName() as $name)     
                foreach ($data->getPictogramUrl() as $url)                   
                $images = $images.Html::img($url,['alt'=>'','width'=>'30','height'=>'30', 'data-toggle'=>'tooltip','data-placement'=>'left','title' => $name ,'style'=>'cursor:default;']);
            return $images;

        }
  ],

问题是当我遍历名称时。每个图像显示两次。有一些循环问题。 any1可以帮我找到解决方案。感谢

1 个答案:

答案 0 :(得分:1)

如果您的网址表也有名称,那么您还必须返回包含名称的网址。

尝试修改getPictogramUrl函数,如下面的代码段。

public function getPictogramUrl()
{
    $url = [];
    foreach($this->getPictogramPath() as $path):
       $url[] = [\Yii::$app->request->BaseUrl.'/web'.$path,$this->name]; 
    endforeach;
    return $url; // returning al urls
}

然后在你看来

[
    'label' => 'Hazards',  
    'format' => 'raw',   
    'value' => function ($data) {

        $images = '';
        // append all images
        foreach($data->getPictogramUrl() as $url):
            $images = $images.Html::img($url[0],['alt'=>'','width'=>'30','height'=>'30', 'data-toggle'=>'tooltip','data-placement'=>'left','title' => $url[1],'style'=>'cursor:default;']);
        endforach; 
        return $images;
    },
],