Вывод названия альбома Есть решение
Помоги разобраться, как вывести название альбома и ссылку на него.
Вывод необходимо сделать на странице товара используя плагин «Управление полями дополнительных параметров».
У товара есть доп. параметр (в котором я пишу ID альбома)
$product.params.photo_album
Так вот пытаюсь вывести название альбома с ID 4 и ссылку на него, следующим образом.
{if isset($product.params.prod___photo_album)} {if $wa->photos} {$photos = $wa->photos->photos("/album/{$product.params.prod___photo_album}", "300x300,1000x0", 11)} {$albums = $wa->photos->albums("/album/{$product.params.prod___photo_album}")} <div class="title"> {foreach $albums as $a} <a href="{$a.url}"> {$a.name} </a> {/foreach} </div> <div class="mb-5"> <div class="product-gallery"> <div class="row"> {foreach $photos as $photo} <a class='fancybox-open gallery-item gallery-item_a col-lg-2 col-md-3 col-4' data-caption='{if $photo.description}{$photo.description}{/if}' data-fancybox='gallery' data-fancybox-group='thumb' data-number='$photo.id' href='{$photo.thumb_1000x0.url}'> <img class="fancybox-images" alt='{$product.name|escape}' title='{$product.name|escape}' src='{$photo.thumb_300x300.url}'> </a> {/foreach} <a href="/gallery/" class="gallery-item gallery-item_link-gallery col-lg-2 col-md-3 col-4 justify-content-center d-flex align-items-center"> <img src='{$wa_static_url}wa-data/public/photos/18/00/18/18.300x300.jpg' alt="Галерея"> <div class="justify-content-center d-flex align-items-center w-100 h-100 position-absolute"> <div class="link-gallery_title"> Больше фотографий<br />в нашей галереи<br /> <span class="link-gallery_desc">перейти</span> </div> </div> </a> </div> </div> </div> {/if} {/if}
Фотографии альбома ID 4 выводятся, а название и ссылка нет.
Подскажите где копать.
8 ответов
Кто-нибудь сталкивался с такой проблемой? =)
Непонятно что именно вы хотели получить, но код
{$albums = $wa->photos->albums("/album/{$product.params.prod___photo_album}")}
вернёт строчку html со всеми публичными альбомами.
Вызов {$albums = $wa->photos->albums(false)} вернёт массив альбомов, из которого уже сможете выбрать нужный или показывать все.
Данная конструкция выводит все альбомы:
Данная конструкция не выводит не чего:
или
Получить необходимо следующее. Товар имеет дополнительную характеристику {$product.params.prod___photo_album} (где я пишу ID фотоальбома), мне необходимо вывести на странице товара, название и ссылку на альбом ID которого указан в доп.характеристики.
Получаете все альбомы
Выводите его данные
{$album = ifset($albums, $product.params.prod___photo_album, false)}
{if $album}
{$album.name}
{/if}
Большое спасибо!
Плохой подход, особенно если фотоальбомов будет очень много.
Получаем запросом огромный массив данных и методом перебора ищем в нём нужный объект. Неужели нет ничего более нормального?
Место название выводит почему-то символ «<»