Ссылка для фото

Ссылка для фото для приложения «Фото»

Добавляет ссылку в каждое фото

Отзывов пока нет

Бесплатно

Установить плагин «Ссылка для фото» можно с помощью приложения «Инсталлер» в бекенде вашего Вебасиста.

Ваш отзыв
Установок
300+
Разработчик

Этот плагин является инструментом разработчика и предназначен для опытного пользователя. Он позволяет создать дополнительную ссылку на изображение в приложении "Фото". Это, в свою очередь, открывает возможность построения слайдеров, каруселей, списков с картинками, портфолио, услуг и прочего. Родная ссылка фото ведет на страницу с ограниченными возможностями, но дополнительная ссылка может вести куда угодно. В том числе и за пределы нашего сайта.

Сразу же после установки плагина, в каждом фото появится форма для сохранения ссылки.

Чтобы воспользоваться этой ссылкой в теме дизайна, необходимо воспользоваться хелпером:

Хелперы

{if $wa->photos && class_exists('photosLinkPlugin')}
    {photosLinkPluginHelper::getUrl($photo.id)}
{/if}

где:
$photo.id - id нужного фото. На выходе мы сразу получаем сохраненную ссылку.

{if $wa->photos && class_exists('photosLinkPlugin')}
    {$link = photosLinkPluginHelper::getLink($photo.id)}
{/if}

где:
$photo.id - id нужного фото.

На выходе мы получаем массив $link

где:
$link.url - Сохраненная ссылка.
$link.target - Цель ссылки. Может принимать два значения: "_blank" - новое окно, "_self" - свое окно.

Пример

{if $wa->photos && class_exists('photosLinkPlugin')}
    {$link = photosLinkPluginHelper::getLink($photo.id)}
    {if !empty($link)}
        <a href="{$link.url}" target="{$link.target}">Здесь может быть картинка или что-то еще</a>
    {/if}
{/if}

Пример для встраивания в тему

Настройки theme.xml:

<setting var="portfolio_use_photos" control_type="checkbox">
    <value>0</value>
    <name locale="en_US">Use Photos app</name>
    <name locale="ru_RU">Использовать приложение Фото</name>
    <description locale="en_US">If you select this option, all settings below regarding specific portfolio items will not be used. The portfolio list will be automatically generated from the photo album whose number you specify.</description>
    <description locale="ru_RU">Если выбрать эту опцию, все настройки ниже, касающиеся конкретных пунктов портфолио, не будут использованы. Список портфолио будет автоматически сгенерирован из фотоальбома, номер которого вы укажете.</description>
</setting>
<setting var="portfolio_photos_album" control_type="text">
    <value>1</value>
    <name locale="en_US">Album number</name>
    <name locale="ru_RU">Номер фотоальбома</name>
</setting>
<setting var="portfolio_use_photos_link" control_type="checkbox">
    <value>0</value>
    <name locale="en_US">Use <![CDATA[<a href="https://www.webasyst.com/store/plugin/photos/link/" target="_blank">Link for the photo</a>]]> plugin</name>
    <name locale="ru_RU">Использовать плагин <![CDATA[<a href="https://www.webasyst.ru/store/plugin/photos/link/" target="_blank">Ссылка для фото</a>]]></name>
    <description locale="en_US"><![CDATA[If you use the Photos application to generate a portfolio, then in order to specify a link to each portfolio object, install the free plug-in <a href="https://www.webasyst.com/store/plugin/photos/link/" target="_blank">Link for the photo</a> so that each portfolio item can lead to a specific page.]]></description>
    <description locale="ru_RU"><![CDATA[Если вы используете для генерации портфолио приложение Фото, то, для того, чтобы указать ссылку на каждый объект портфолио, установите бесплатный плагин <a href="https://www.webasyst.ru/store/plugin/photos/link/" target="_blank">Ссылка для фото</a> чтобы каждый пункт портфолио мог вести на определенную страницу.]]></description>
</setting>

Генерация массива изображений для темы:

{if $theme_settings.portfolio_use_photos && !empty($theme_settings.portfolio_photos_album) && is_numeric($theme_settings.portfolio_photos_album)}
{$portfolio_hash = "/album/{$theme_settings.portfolio_photos_album}"}
{$portfolio_photos = $wa->photos->photos($portfolio_hash, "500")}

{foreach $portfolio_photos as $key => $portfolio_photo}
    {$portfolio_items[$key] = [
        'src' => $portfolio_photo.thumb_500.url,
        'url' => $portfolio_photo.frontend_link,
        'h' => $portfolio_photo.name,
        'caption' => $portfolio_photo.description
    ]}

    {if $wa->photos && class_exists('photosLinkPlugin') && $theme_settings.portfolio_use_photos_link}
        {$portfolio_link = photosLinkPluginHelper::getLink($portfolio_photo.id)}
        {if !empty($portfolio_link)}
            {$portfolio_items[$key]['url'] = $portfolio_link.url}
            {$portfolio_items[$key]['target'] = $portfolio_link.target}
        {else}
            {$portfolio_items[$key]['url'] = '#'}
            {$portfolio_items[$key]['target'] = '_self'}
        {/if}
    {/if}
{/foreach}
    Здесь можно сгенерировать обычные статические данные из настроек.
{else}

Проект на github: https://github.com/itfrogs/wa-photos-link
Уважаемые коллеги разработчики, буду очень рад принять ваш pull-request, если сочтете, что данный проект нуждается в доработках.

Ещё продукты разработчика

Все продукты этого разработчика