这与我之前的问题有关。当我将鼠标悬停在图像上时,我想要为我的图像动态显示工具提示标题。我在上一个问题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可以帮我找到解决方案。感谢
答案 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;
},
],