惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

Y
Y Combinator Blog
有赞技术团队
有赞技术团队
J
Java Code Geeks
H
Hackread – Cybersecurity News, Data Breaches, AI and More
美团技术团队
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
Hugging Face - Blog
Hugging Face - Blog
人人都是产品经理
人人都是产品经理
酷 壳 – CoolShell
酷 壳 – CoolShell
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
C
Check Point Blog
博客园 - 【当耐特】
The GitHub Blog
The GitHub Blog
Recent Announcements
Recent Announcements
The Cloudflare Blog
Microsoft Azure Blog
Microsoft Azure Blog
腾讯CDC
Vercel News
Vercel News
IT之家
IT之家
MyScale Blog
MyScale Blog
博客园_首页
Martin Fowler
Martin Fowler
WordPress大学
WordPress大学
罗磊的独立博客

Все публикации подряд на Хабре

Ловим музу за клавиатуру: как айтишнику стать автором Что умеет Midjourney в 2026? Мой немного грустный разбор этого шикарного инструмента Никто не любит писать тесты, но ИИ может исправить это IPv8 выглядит как мечта. Поэтому почти наверняка не взлетит Производители вернули в продажу материнки с DDR3. Что происходит? Управление агентом с телефона через Telegram теперь в KodaCode От координации к лидерству: как меняется роль руководителя разработки Я сделала родителям бизнес вместо пенсии: зарабатываем 70 тысяч, мама не даёт продать В три раза быстрее приемка товара и оптимизация трудозатрат на 73%: как «РСТ-Инвент» помог Gulliver Group ИИ-шечный мир победил? О влиянии искусственного интеллекта на игропром Кремль снижает давление на Телеграмм пока Европа строит интернет по паспорту Как CEO, CTO и CIO за 8 часов собрали ИИ-директора, который умеет держать позицию под давлением Как (не) потерять домен за выходные Вместо 8 разных VPS: как я организовал практику студентам на одном сервере Почему твой Open Source проект не замечают? R&D: искусство управления неопределенностью в разработке AI-дефляция: вакансий для разработчиков больше, а рост зарплат — худший за 15 лет Мы отдали управление роботами OpenClaw. Что из этого вышло Галактический ID: система идентификации для всех форм разумной жизни Шесть основ бизнес-анализа: начинаем с вопроса «Кто в игре?» Код-ревью, в котором дело не в коде Данные переехали. Команда — нет Системной подход к сдаче OSWE в 2025 Почему комната управления реактором покрашена в цвет морской пены 4 YAML-файла вместо PySpark: как аналитикам строить пайплайны без разработчиков LLM-агент для поиска свободных доменов: автоматизируем подбор Когда, зачем и как правильно начинать новую сессию в Claude Code? Как я заставил нейросеть писать макросы для FreeCAD Анатомия ИИ‑агента для подбора персонала. От тысячи резюме к топ‑10 за минуты Опыт разработчика как экономика внимания
Набор шорткодов для Joomla
voronkovich · 2026-05-10 · via Все публикации подряд на Хабре

Уровень сложностиПростой

Время на прочтение3 мин

Охват и читатели479

Обзор

Приветствую, коллеги!

После нашумевшей публикации о плагине Joomla Shortcoder я получил множество вопросов (в математике такое множество называется «пустым») о том, как быстро начать использовать шорткоды в Joomla для типовых задач: вставить видео с YouTube или Rutube, документ Google Docs или просто сгенерировать «рыбу» для вёрстки. Поэтому сегодня я хочу представить вам Joomla Shortcodes — плагин, который содержит набор готовых шорткодов для вставки контента от популярных сервисов.

Кое-что о безопасности

В прошлой статье я забыл упомянуть одно из ключевых преимуществ использования шорткодов — безопасность (при правильной реализации, разумеется).

По умолчанию редактор Joomla (как и многих других CMS) блокирует теги script и iframe, чтобы предотвратить атаки вроде XSS или clickjacking. Шорткоды решают эту проблему без риска: в контенте остаётся лишь безопасный текстовый сниппет: {youtube}, {gist}, а финальный HTML генерируется на стороне сервера с полным контролем допустимых параметров. В итоге, вы получаете функциональность <iframe> или <script>, не открывая двери для потенциально опасного кода.

Установка

Процесс не отличается от установки любого расширения Joomla:

  1. Скачайте последний релиз-архив (.zip) с GitHub Releases.

  2. Перейдите в админ-панель: «Система» → «Установка» → «Расширения».

  3. Загрузите скачанный архив.

  4. Активируйте плагин «Content - Shortcodes» через «Система» → «Управление» → «Плагины».

Можно использовать CLI:

php cli/joomla.php extension:install https://github.com/PopArtDesign/joomla-shortcodes/archive/refs/tags/v1.2.0.zip

После этого все описанные ниже шорткоды станут доступны в любом тексте, который обрабатывается плагинами контента (статьи, категории, модули и т.д.).

Вставим!

YouTube

Вставка видео с YouTube, до «деградации серверов», была весьма востребованной функцией. Шорткод {youtube} поддерживает все основные параметры: авто-воспроизведение, отключение звука, начальное и конечное время, соотношение сторон и любые атрибуты для <iframe>.

{youtube https://www.youtube.com/watch?v=kBddBRQ-xic width=800 height=600}

Также можно передать URL видео внутри тега:

{youtube autoplay start=1:00 end=3:00 aspect-ratio=4/3}
https://www.youtube.com/watch?v=kBddBRQ-xic
{/youtube}

Формат времени: hh:mm:ss (час:минута:секунда). Можно просто указать количество секунд.

Параметры width и height применяются к обёртке <div>. Соотношение сторон можно указать через атрибут aspect-ratio. По умолчанию используется соотношение 16 / 9.

Если требуется изменять aspect-ratio в зависимости от размера экрана, можно использовать CSS-переменную --embed-video-aspect-ratio:

:root {
    --embed-video-aspect-ratio: 4 / 3;
}

@media(min-width: 768px) {
    :root {
        --embed-video-aspect-ratio: 16 / 9;
    }
}

Vimeo

Вставка видео Vimeo работает по тому же принципу:

{vimeo https://vimeo.com/123456789 autoplay start=30 end=60}

Rutube

Для российских пользователей добавлена поддержка Rutube:

{rutube https://rutube.ru/video/0a7e6d2a7c2b5f6a5b1c3d0b1e0a7b1c/ autoplay}

Google Docs

Вставка документов Google (Docs, Sheets, Slides) теперь одной строкой:

{googledocs}https://docs.google.com/document/d/a-valid-id/edit{/googledocs}

{googledocs https://docs.google.com/spreadsheets/d/a-valid-id/edit width=800 height=600}

GitHub Gist

Вставка сниппетов кода из GitHub Gists:

{gist https://gist.github.com/user/12345}

{gist https://gist.github.com/user/12345 file=example.php}

PDF

Просмотр PDF-файлов прямо на странице:

{pdf}https://example.com/document.pdf{/pdf}

{pdf /another.pdf width=600 height=800}

Высота по умолчанию — 75vh, что делает просмотр удобным на мобильных устройствах.

Lorem Ipsum

Генерация текста-«рыбы» для макетирования:

{lorem}                          — полный текст Lorem Ipsum
{lorem words=50}                 — 50 слов
{lorem p 3}                      — три параграфа
{lorem ul 3,5 words=5,10}        — список с 3–5 пунктами по 5–10 слов
{lorem img width=300 height=200} — изображение-заглушка 300×200

Для изображений используется встроенная GD-библиотека PHP, так что не нужны внешние сервисы.

Repeat

Повтор содержимого заданное число раз (или случайное количество из диапазона):

{repeat 3}Hello, World! {/repeat}

{repeat 1,3}Beetlejuice! {/repeat}

Я предполагал использовать этот шорткод в паре с {lorem}, когда последний ещё не поддерживал HTML-теги. Сейчас {repeat} не выглядит очень полезным и, возможно, в будущем будет удалён.

Планы и развитие

  • Добавление шорткодов для Яндекс.Карт, VK Video

  • Шорткоды для Bootstrap-компонентов (аккордеоны, табы, модальные окна)

  • Интеграция с Joomla Custom Fields для ещё более гибкой работы с контентом

Если у вас есть идеи или вы хотите предложить pull request — вот репозиторий.

Благодарю за внимание! Буду рад вашим комментариям.

P.S. Если вы ещё не читали первую часть — рекомендую начать с неё, чтобы понять философию Shortcoder и принципы работы с шорткодами в Joomla.