@Windramix

Как сделать несколько foreach внутри одного foreach?

Есть item (карточка врача) вывожу её через foreach так же в ней есть несколько пунктов которые нужно тоже выводить через foreach, раньше я делал максимум в одном foreach ещё 1 foreach, но в данной задачи нужно вывести 2 foreach внутри . в итоге оба они не хотят работать и работает только один(отключаю один из них работает другой)

Надеюсь я смог правильно объяснить =)
Первый - education
{set $items = json_decode($item.education, true)}
                             {foreach $items as $item}
                                 <div class="education__item">
                                     {$item.desc}
                                 </div>
                             {/foreach}

Второй - myDoctors

{set $items = json_decode($item.myDoctors, true)}
                                  {foreach $items as $item}
                                          <div class="swiper-slide">
                                              <div class="doctors__slider-item">
                                                  <img src="{$item.image}" alt="">
                                                  <div class="desc">
                                                      {$item.desc}
                                                  </div>
                                              </div>
                                          </div>
                                    {/foreach}


Полный код
{set $items = json_decode($_modx->resource.itemDoctors, true)}
                {foreach $items as $item}
                 <div class="doctors__item">
                     <div class="doctors__content">
                        <div class="doctors__left">
                             <div class="doctors__img">
                                 <img src="{$item.image}" alt="{$item.title}">
                             </div>
                         </div>
                     
                         <div class="doctors__right">
                             <div class="title">
                                 {$item.title}
                             </div>
                             <div class="item">
                                 <div class="specialization">
                                     <span>Специализация</span>
                                     {$item.specialization}
                                 </div>
                                 <div class="experience">
                                     <span>Опыт работы</span>
                                     {$item.experience}
                                 </div>
                             </div>
                             <div class="scrollbar education"> 
                             <span>Образование</span>
                             {set $items = json_decode($item.education, true)}
                             {foreach $items as $item}
                                 <div class="education__item">
                                     {$item.desc}
                                 </div>
                             {/foreach}  
                             </div>
                         </div>
                     </div>

                     
                     <div class="portfolio">
                         <div class="portfolio__one">
                              Смотреть работы <img src="assets/img/svg/arrow_back_ios.svg" alt="">
                         </div>
                         <div class="portfolio__two">
                              Скрыть работы <img src="assets/img/svg/arrow_back_ios.svg" alt="">
                         </div>
                     </div>
                     
                     
                     
                     <div class="doctors__slider">
                        <div class="swiper myDoctors">
                              <div class="swiper-wrapper">
                                  {set $items = json_decode($item.myDoctors, true)}
                                  {foreach $items as $item}
                                          <div class="swiper-slide">
                                              <div class="doctors__slider-item">
                                                  <img src="{$item.image}" alt="">
                                                  <div class="desc">
                                                      {$item.desc}
                                                  </div>
                                              </div>
                                          </div>
                                    {/foreach}  
                                </div>
                              </div>
                               <div class="group__navigation mt-25">
                                    <div class="inner container">
                                        <div class="button-prev-d"></div>
                                        <div style="width: initial;" class="clinic-pagination"></div>
                                        <div class="button-next-d"></div>
                                    </div>
                                </div>
                          </div>
                     </div>
                 {/foreach}
  • Вопрос задан
  • 149 просмотров
Решения вопроса 1
DanArst
@DanArst
Гриффиндор в моде при любой погоде!
Видимо данные хранятся в Migx. Проблема в том, что вы все приводите в одну переменную $items (еще и во вложенных циклах одни и те же переменные):
{set $items = json_decode($_modx->resource.itemDoctors, true)}
{set $items = json_decode($item.education, true)}
{set $items = json_decode($item.myDoctors, true)}


Соответственно просто задайте их разным переменным и все:
{set $items1 = json_decode($_modx->resource.itemDoctors, true)}
{foreach $items1 as $item}
   {set $items2 = json_decode($item.education, true)}
   {foreach $items2 as $item2}
     ...
   {/foreach}
   {set $items3 = json_decode($item.myDoctors, true)}
   {foreach $items3 as $item3}
     ...
   {/foreach}
{/foreach}
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы