Twig 中没有重复的图像数组

Array of images without repetitions in Twig

我的目录里有很多图片(多了25张)。 使用 PHP 函数,我在数组 ( listImg[] ) 中列出图片来源 使用 Symfony,我 return 这个带有渲染树枝的数组。

我想在主页中有 9 张随机图片,在关于页面中有 12 张图片..

问题是图片重复...

我的PHP函数:

public function showImgDir(): array
    {
        $dir = "assets/img/tour";

        $ext_list = array("jpg", "jpeg", "png");
        $listImg = [];

        $picDir= opendir($dir);
        while ($file = readdir($picDir)) {
            if ($file === '.' || $file === '..') {
                continue;
            }
            
            $listImg[] = $dir . '/' . $file;
        }
        closedir($picDir); 
        return $listImg;
    }

在 Twig 中:

{% for a in 1..9 %}
    <img src="{{random(listImg)|imagine_filter('mini')}}"/>
{% endfor %}

我想用 do .. while with twig 来避免重复,但我不明白如何使用 'loop'

{% for a in 1..9 %}
    {{ loop.index }}  
{% endfor %}

你能帮帮我吗? (暂无JS解决方案)

谢谢:)

我使用随机播放(数组);在 return

之前
shuffle($listImg);
return $listImg;

在树枝上:

{% for a in 1..9 %}
    <img src="{{listImg[a]|imagine_filter('mini')}}"/>
{% endfor %}

有效! :)