スマートカスタムフィールドを使用した際に、繰り返し処理を複数使用しました。
その際にグループ名は分けて、フィールド名は同じというふうにはできないのでしょうか?
現状グループは別々でフィールド名を統一するとバグが起きます。(片方のフィールドに入れた内容しか表示されない)
例えばグループ名は[big_slider]と[normal_slider]の2つのスライダーのグループを作成したとして、
フィールド名は[slider_img]に統一したいです。
理由としては下記のようなtwigコンポーネントのitemsにsliderのオブジェクトをそのまま渡して、使用したいからです。
twig
1{% macro slider(items,extraClass,options = {}) %} 2{% set default_options = { 3 target_number:"", 4 img_w:"", 5 img_h:"", 6 thum_w:"200", 7 thum_h:"100", 8 layout:1, 9 slider_img: 10}%} 11 12{% set options = default_options|merge(options) %} 13 {% if items %} 14 <div class=" {{ "t-detailSlides" ~ " " ~ extraClass}}"> 15 <!-- メインスライダー--> 16 <div class="swiper-container slider" data-swiper='{{'detailSlide' ~ options.target_number}}'> 17 <div class="swiper-wrapper"> 18 {% for item in items|slice(0,5) %} 19 <div class="swiper-slide"> 20 <img src="{{Image(item.slider_img).src|resize(options.img_w, options.img_h)}}" alt="{{item.alt ? item.alt :""}}"> 21 </div> 22 {% endfor %} 23 </div> 24 </div> 25 <!-- サムネイル --> 26 {% if options.layout == 1 %} 27 <div class="swiper-container | mt-[2rem] mx-[1.5rem] pc:mx-[4rem] | t-detailSlides__thumbnail t-detailSlides__thumbnail--center" data-swiper='{{'thumbnail' ~ options.target_number}}'> 28 <div class="swiper-wrapper"> 29 {% for item in items|slice(0,5) %} 30 <div class="swiper-slide h-[6.2rem] pc:h-auto"> 31 <img class="object-cover w-full h-full" src="{{options.thum_w ? Image(item.slider_img).src|resize(options.thum_w, options.thum_h) : Image(item.slider_img)}}" alt="{{item.alt ? item.alt :""}}"> 32 </div> 33 {% endfor %} 34 </div> 35 </div> 36 {% elseif options.layout == 2 %} 37 <div class="swiper-container | mt-[2rem] t-detailSlides__thumbnail" data-swiper='{{'thumbnail' ~ options.target_number}}'> 38 <div class="swiper-wrapper"> 39 {% for item in items|slice(0,5) %} 40 <div class="swiper-slide "> 41 <div > 42 <img class="object-cover w-full h-full" src="{{Image(item.slider_img).src|resize(options.thum_w, options.thum_h)}}" alt="{{item.alt ? item.alt :""}}"> 43 </div> 44 </div> 45 {% endfor %} 46 </div> 47 </div> 48 {% endif %} 49 </div> 50 {% endif %} 51{% endmacro %}
あなたの回答
tips
プレビュー