Выводите последние посты из Telegram-каналов на витрине магазина
Плагин позволяет выводить посты из публичных Telegram-каналов на вашей витрине Shop-Script. Плагин поддерживает разные настройки для каждой витрины и кэширование постов!
Выбор Telegram-канала
Укажите username публичного канала (например, @channel или channel) и выведите посты на витрине магазина.
Поддержка медиа-контента
Автоматическое отображение фотографий, видео и других вложений из постов Telegram-канала.
Настройки для каждой витрины
Создавайте индивидуальные настройки для каждой витрины - разные каналы, количество постов и заголовки.
Кэширование для быстрой загрузки
Настройте время кэширования постов, чтобы снизить нагрузку на Telegram API и ускорить отображение контента.
Плагин автоматически обрабатывает вложения постов - фотографии, видео и статистику просмотров.
Плагин выводит посты с текстом, медиа-вложениями и статистикой просмотров. Работает с публичными Telegram-каналами через Bot API!
Эффективная синхронизация постов
Плагин использует умный механизм синхронизации через Telegram Bot API метод (BotFather) getUpdates:
- Бот должен быть добавлен администратором в канал для получения обновлений
- При первом запросе устанавливается начальная точка синхронизации (last_update_id)
- При последующих запросах получает только новые посты, опубликованные после последней синхронизации
- Использует параметр offset для получения только новых обновлений (update_id + 1)
- Сохраняет посты в базу данных для быстрого доступа и кэширования
- Минимизирует нагрузку на Telegram API - запрашивает только новые обновления
Быстрый вывод постов при помощи хелпера
Простой вывод постов с дефолтным оформлением. Хелпер надо вставить в файл темы дизайна - index.html, category.html или другие шаблоны витрины.
{$wa->shop->ewshoptgpostsPlugin->render()}
Получение данных постов для кастомного вывода
Вы можете получить массив постов и настроек для создания собственного шаблона.
{assign var=data value=$wa->shop->ewshoptgpostsPlugin->getPosts(['count' => 3])}
Переменная {$data} будет иметь след. данные:
[
'settings' => [
'channel_name' => 'Название канала',
'channel_link' => 'https://t.me/...',
'title_text' => 'Заголовок блока',
'channel_initial' => 'Н'
],
'posts' => [
[
'id' => 123,
'date' => 1234567890,
'text' => 'Текст поста...',
'url' => 'https://t.me/channel/123',
'media' => [
'type' => 'photo', // или 'video'
'url' => 'https://...',
'thumbnail' => 'https://...'
],
'views' => 1500
]
]
]
Пример кастомного вывода постов
Вы можете создать свой шаблон для отображения постов из Telegram.
{assign var=data value=$wa->shop->ewshoptgpostsPlugin->getPosts()}
{if !empty($data.posts)}
<h2>{$data.settings.title_text}</h2>
{foreach $data.posts as $post}
<div class="tg-post">
<strong>{$data.settings.channel_name}</strong>
<p>{$post.text}</p>
{if !empty($post.media)}
<img src="{$post.media.url}" alt="">
{/if}
<a href="{$post.url}" target="_blank">Читать полностью</a>
</div>
{/foreach}
{/if}
Переопределение шаблона в теме дизайна
Для полной кастомизации внешнего вида вы можете переопределить базовый шаблон плагина в своей теме.
1. Скопируйте файл: plugins/ewshoptgposts/templates/actions/frontend/FrontendPosts.html 2. В корень активной темы с именем: ewshoptgposts_plugin.frontend_posts.html 3. Редактируйте файл темы - плагин автоматически использует его
После переопределения шаблона метод {$wa->shop->ewshoptgpostsPlugin->render()} будет использовать ваш кастомный шаблон.
Настройки для разных витрин
Плагин позволяет настроить отдельные параметры для каждой витрины вашего магазина:
- Разные Telegram-каналы для разных витрин
- Индивидуальное количество постов (от 1 до 100)
- Персональные заголовки блоков
- Настройка кэширования для каждой витрины
Витрины с настройками отображаются в интерфейсе зелёным цветом с символом ●. Если для витрины нет специфических настроек, используются общие (Основные).
Мы в социальных сетях
Узнавайте первыми о наших новых решениях и акциях в социальных сетях.
- Вконтакте - https://vk.com/easyweb_su
- Телеграм - https://t.me/easyweb_su