Для отображения аудиогалереи для начала нужно в панели управления сайтом создать страницу аудиогалереи, с произвольным адресом страницы (например /audiogallery
) и с шаблоном страницы Аудиогалерея (audios.html)
. Затем создать аудиогалерею, содержащую в себе хотя бы один альбом через страницу Аудиогалерея
в панели управления сайтом. Теперь в шаблоне audios.html в месте, где необходимо вывести аудиогалерею, нужно прописать следующий код:
{{widgetRenderByType(
'gallery', {
widget_name: 'audiogallery',
gallery_type: 'audio',
}
)}}
Также есть такая конструкция, позволяющая создавать галереи вручную:audiogallery
– имя виджета, указанное при создании аудиогалереи в панели управления сайтом.
{% set a = widgetDataByType(
'gallery', {
widget_name: 'audiogallery',
gallery_type: 'audio',
}
) %}
{{v_dump(a)}}
Полный вариант:
{% set album = xget('album', 0) %}
{% set album = album == '' ? 0 : album %}
{% set mfile = xget('mfile') %}
{% set mtype = xget('mtype') %}
{% set gallery = widgetDataByType('gallery', {
widget_name: 'audiogallery',
gallery_type: 'audio',
}).data %}
{% if not mtype %}
{% if album != 0 %}
{% set selaudios = [] %}
{% set selalbum = [] %}
{% for item in gallery %}
{% if item.pkid == album %}
{% set selalbum = item %}
{% set selaudios = item.content %}
{% endif %}
{% endfor %}
<table>
{% if selalbum.pkid == album %}
<tr>
<td><a href="{{UrlGetAdd(link(page.uri), 'album', selalbum.parent_pkid)}}">На уровень выше</a></td>
</tr>
{% endif %}
<tr><td></td></tr>
<tr>
<td>Альбомы</td>
</tr>
{% for item in gallery %}
{% if item.parent_pkid != 0 %}
{% if item.parent_pkid == album %}
<tr>
<td><a href="{{UrlGetAdd(link(page.uri), 'album', item.pkid)}}">{{item.title}}</a></td>
</tr>
{% endif %}
{% endif %}
{% endfor %}
</table>
{% if selaudios|length > 0 %}
<table>
{% for key, audio in selaudios %}
<tr>
<td><a href="{{UrlGetAdd(link(page.uri), 'album', selalbum.pkid, 'mfile', key, 'mtype', audio.type)}}">audiofile {{audio.name}}</a></td>
</tr>
{% endfor %}
</table>
{% else %}
Альбом пуст!
{% endif %}
{% else %}
<table>
<tr>
<td>Альбомы</td>
</tr>
{% for item in gallery %}
{% if item.parent_pkid == 0 %}
<tr>
<td><a href="{{UrlGetAdd(link(page.uri), 'album', item.pkid)}}">{{item.title}}</a></td>
</tr>
{% endif %}
{% endfor %}
</table>
{% endif %}
{% else %}
{% set selaudios = [] %}
{% set selalbum = [] %}
{% for item in gallery %}
{% if item.pkid == album %}
{% set selalbum = item %}
{% set selaudios = item.content %}
{% endif %}
{% endfor %}
<table>
<tr>
<td><a href="{{UrlGetAdd(link(page.uri), 'album', album)}}">Назад к списку</a></td>
</tr>
</table>
{% set link = '' %}
{% set ext = '' %}
{% for key, item in selaudios %}
{% if mfile == key %}
{% set link = item.link %}
{% set ext = item.link | getExtension %}
{% endif %}
{% endfor %}
<div style="text-align: center; margin: 0 auto; width: 650px; border: 1px dotted grey;">
<audio controls>
<source src="{{link}}" type="audio/mpeg" />
No audio support.
</audio>
</div>
{% endif %}