添加属性Html::img yii2



我向页面添加图像,并向其中添加一些属性

<?php
$data = [
[
'data-z-index' => 1,
'data-width'   => 300,
]
];
?>
<?php foreach ($posts as $i => $item) { ?>
<div class="item">
<?php if ($item->img) { ?>
<?= Html::img($item->img->getUrl(), $data[$i]) ?>
<?php } ?>
</div>
<?php } ?>

因此,在页面上,所有这些都对我有效,我得到了

<img src="//test.loc/storage/posts-image/1-2.jpg" alt="" data-z-index="1" data-width="300">

现在我还想添加一个alt属性,它将来自数据库

<?= Html::img($item->img->getUrl(), [$data[$i], 'alt' => $item->img_alt]) ?>

但现在属性格式正在更改,0出现在的开头

<img src="//test.loc/storage/posts-image/1-2.jpg" alt="post1" 0-data-z-index="1" 0-data-width="300">

可能是什么问题?

这是因为$data是一个数组。因此,您有一个嵌套数组作为选项。

尝试合并阵列:

array_merge($data[$i], ['alt' => $item->img_alt]);

最新更新