Получить отдельно каждое фото товара Есть решение

Необходимо получить отдельно каждое фото товара, к примеру получить первое по счету фото и вставить его в одно место страницы, потом получить второе по счету фото и вставить его в другое место на странице и т.д. Как это можно сделать?

Напишу для чего это нужно, необходимо фото вывести следующим образом:


На css или js не вижу как это можно сделать, поэтому хочу получить каждое фото в отдельности и вставить в нужный блок.

8 ответов

  • 1
    Алексей Webasyst 19 октября 2016 17:31 #

    На странице товара у вас сразу передаются все изображения товаров в {$product.images}

  • 1
    Виктор 20 октября 2016 03:39 #

    А как вывести отдельно первое, в другое место второе, а в третье третье изображение?

    То есть я понимаю, что нужно как-то вывести изображение, у которого переменная sort равна какому-то значению, но как это сделать правильно, не представляю...

  • 2
    Genasyst 20 октября 2016 12:34 # Решение
    {$images = []}
    {$im_counter = 1}
    {if $product.images}
    {foreach $product.images as $image}
        {$images[$im_counter] = $image}
        {$im_counter = $im_counter+1}
    {/foreach}
    {/if}

    Для вывода используйте номер изображения , например 3

    {$images[3]}


    ВАРИАНТ 2


    {if $product.images}
        {$images = array_values($product.images)}
    {/if}

    Тогда для получения нужного изображения используйте номер минус 1 , например 3

    {$images[(3-1)]}


  • 1
    Виктор 22 октября 2016 02:37 #

    Подскажите, а можно такое же сделать для альбома приложения "Фото"?

    {$photos = $wa->photos->photos("/album/1", "970")}


  • 1
    Genasyst 22 октября 2016 09:36 # Решение


    {$photos = $wa->photos->photos("/album/1", "970")}
    {$images = []}
    
    {$im_counter = 1}
    {if $photos}
    {foreach $photos as $image}
    {$images[$im_counter] = $image} {$im_counter = $im_counter+1} {/foreach} {/if}

    Для вывода используйте номер изображения , например 3

    {$images[3]}


    ВАРИАНТ 2


    {if $photos}
    {$images = array_values($photos)}
    {/if}

    Тогда для получения нужного изображения используйте номер минус 1 , например 3


    {$images[(3-1)]}

    • +1
      Виктор Виктор 22 октября 2016 12:51 #

      Наверно я что-то не так делаю, но у меня ни первый, ни второй код не работает, к примеру имею такой код:


      {$photos = $wa->photos->photos("/album/2", "970")}
      {$images = array_values($photos)}
      
      <section class="portfolio">
              <div class="container">
                  <div class="row">
                      <div class="portfolio-title">
                          <h2>Портфолио</h2>
                      </div>
                      <div class="portfolio-content">
                      
                          <div class="col-lg-4 col-md-4 col-sm-4 col-xs-12">
                          
                              <div class="portfolio-item">        
                                 
                                  <div class="portfolio-item-img-md">
                                      <a href="#">{$images[(2-1)]}</a>
                                      <div class="portfolio-descr">
                                          <div class="portfolio-descr-md">
                                              <h4>Название</h4>
                                              <p>краткое описание</p>
                                          </div><span class="val"></span>                                    
                                      </div>            
                                  </div>
                              
                                  <div class="portfolio-item-mid-wrap">
                                      <div class="portfolio-item-img-sm">
                                          <a href="#">
                                              {$images[(3-1)]}
                                          </a>
                                          <div class="portfolio-descr">
                                              <div class="portfolio-descr-sm">
                                                  <h4>Название</h4>
                                                  <p>краткое описание</p>
                                              </div><span class="val"></span>                                
                                          </div>
                                      </div>
                                      <div class="portfolio-item-img-sm">
                                          <a href="#">
                                              {$images[(4-1)]}
                                          </a>
                                          <div class="portfolio-descr">
                                              <div class="portfolio-descr-sm">
                                                  <h4>Название</h4>
                                                  <p>краткое описание</p>
                                              </div><span class="val"></span>                                
                                          </div>
                                      </div>
                                  </div>    
                                  
                                  <div class="portfolio-item-img-lg">
                                      <a href="#">
                                          {$images[(5-1)]}
                                      </a>
                                      <div class="portfolio-descr">
                                          <div class="portfolio-descr-lg">
                                              <h4>Название</h4>
                                              <p>краткое описание</p>
                                          </div><span class="val"></span>                                    
                                      </div>
                                  </div>
                                  
                              </div>
                          </div>
                          
                      </div>
                  </div>
              </div>
          </section>

      Что не так, можете меня поправить? Еще нюанс в том, что фото я вывожу на странице приложения "сайт", а не "фото", это имеет значение?

  • 1
    Genasyst 22 октября 2016 20:44 #

    Вы неправильно выводили отдельное фото, надо через спец метод

     {$photos = $wa->photos->photos("/album/1", "970")}
    
    
    {$images = array_values($photos)}
    
    <section class="portfolio">
            <div class="container">
                <div class="row">
                    <div class="portfolio-title">
                        <h2>Портфолио</h2>
                    </div>
                    <div class="portfolio-content">
                    
                        <div class="col-lg-4 col-md-4 col-sm-4 col-xs-12">
                        
                            <div class="portfolio-item">        
                               
                                <div class="portfolio-item-img-md">
                                    <a href="#">
                                    {$wa->photos->getImgHtml($images[1],  '970')}
                                        
                                    </a>
                                    <div class="portfolio-descr">
                                        <div class="portfolio-descr-md">
                                            <h4>Название</h4>
                                            <p>краткое описание</p>
                                        </div><span class="val"></span>                                    
                                    </div>            
                                </div>
                            
                                <div class="portfolio-item-mid-wrap">
                                    <div class="portfolio-item-img-sm">
                                        <a href="#">
                                            {$wa->photos->getImgHtml($images[2],  '970'  )}
                                        </a>
                                        <div class="portfolio-descr">
                                            <div class="portfolio-descr-sm">
                                                <h4>Название</h4>
                                                <p>краткое описание</p>
                                            </div><span class="val"></span>                                
                                        </div>
                                    </div>
                                    <div class="portfolio-item-img-sm">
                                        <a href="#">
                                            {$wa->photos->getImgHtml($images[3],  '970')}
                                        </a>
                                        <div class="portfolio-descr">
                                            <div class="portfolio-descr-sm">
                                                <h4>Название</h4>
                                                <p>краткое описание</p>
                                            </div><span class="val"></span>                                
                                        </div>
                                    </div>
                                </div>    
                                
                                <div class="portfolio-item-img-lg">
                                    <a href="#">
                                        {$wa->photos->getImgHtml($images[4],  '970')}
                                    </a>
                                    <div class="portfolio-descr">
                                        <div class="portfolio-descr-lg">
                                            <h4>Название</h4>
                                            <p>краткое описание</p>
                                        </div><span class="val"></span>                                    
                                    </div>
                                </div>
                                
                            </div>
                        </div>
                        
                    </div>
                </div>
            </div>
        </section>
    • +1
      Виктор Виктор 23 октября 2016 04:03 #

      Спасибо вам огромное за помощь! Все получилось!

      А как-то параметры выводимого изображения, такие как название изображения и краткое описание, можно получить?

Добавить ответ

Чтобы добавить комментарий, зарегистрируйтесь или войдите