Sourcerer Pro - Расширение Joomla
Плагин Sourcerer Pro - это дополнение для Joomla, которое делает реальной вставку кода любого вида (JavaScript, CSS, HTML, PHP) прямо в контент сайта. Расширение умеет работать не только со статьями, а и с компонентами, модулями, разделами, категориями, тегами. Sourcerer весьма прост в использовании и открывает массу возможностей.

Описание расширения
У начинающих разработчиков часто возникают непреодолимые препятствия, когда необходимо вставить на страницу код статистики, модуль, форму электронной подписки. Такое явления встречается при работе с большинством текстовых редакторов Joomla, которые вырезают части кода JavaScript и HTML. Плагин Regular Labs Sourcerer избавляет пользователя от возникающих при этом ограничений.
Sourcerer в своей работе практически не требует никакой настройки. Интуитивно простой в управлении визуальный редактор оснащен кнопкой, при помощи которой можно вставить в чистом виде любой код. Для этого требуется только поместить код между тегами {source}{/source}. Также можно вводить теги непосредственно в текст материала. Данное расширение Joomla предоставляет возможность редактирования уже вставленного скрипта. Замечательной функцией является комбинирование в одной записи нескольких разновидностей кодов. Дополнение осуществляет автоматическое подсвечивание синтаксиса отдельными цветами, благодаря чему управлять элементами кода становится гораздо легче.
Sourcerer представляет собой оригинальный плагин Joomla, при помощи которого можно вставить любой код в материал сетевого ресурса. Использование PHP и прочих скриптов позволяет существенно расширить функции контента. Применение данного расширения даёт возможность сделать наполнение сайта более разнообразным и ярким.
Спецификации:
| Дата выхода: | 02-01-2008 | |
| Дата обновления: | 30-12-2025 | |
| Тип расширения: | Платный | |
| Лицензия: | GPL | |
| Тематика: | Усовершенствования | |
| Совместимость: | J3.x J4.x J5.x J6.x | |
| Включает в себя: | Плагин | |
| Языковые пакеты: |
|
|
| Разработчик: | Regular Labs | |
| Рейтинг: | ||
Скачивание по подписке!
Вам необходимо авторизоваться на сайте и приобрести клубную подписку!
Поделись с друзьями!
Видео Sourcerer Pro:
Руководство по Sourcerer Pro: как безопасно вставлять код в Joomla и проверять результат
Sourcerer Pro нужен не для того, чтобы превращать обычную статью Joomla в свалку фрагментов кода. Его сильная сторона в другом: он даёт контролируемый способ вставить HTML, CSS, JavaScript или PHP туда, где штатный редактор обычно режет теги, а разработчик не хочет ради небольшой задачи править шаблон, писать отдельный компонент или отключать фильтры для всех пользователей.
В этом руководстве разберём практический путь: что проверить перед установкой, как включить расширение, какие настройки безопасности пройти сразу после установки, как пользоваться тегами {source}, когда удобнее использовать кнопку редактора, где Pro-версия помогает с include-файлами и как диагностировать ситуации, когда код не выводится или вырезается редактором.
Материал рассчитан на администратора Joomla, вебмастера или разработчика, который уже понимает, что произвольный код в контенте - это зона повышенной ответственности. Поэтому здесь будет много проверок, ограничений и безопасных решений, а не только примеры вставки кода.
Где Sourcerer действительно решает задачу
Sourcerer относится к тому типу Joomla-расширений, которые легко использовать слишком широко. Если задача решается обычным модулем, переопределением шаблона или настройкой компонента, лучше сначала выбрать штатный путь. Но есть ситуации, где отдельный небольшой фрагмент кода в статье, модуле или другом контентном поле оказывается быстрее и прозрачнее.
Типичный пример - нужно добавить небольшой виджет, вычисляемую строку, блок интеграции, проверочный JavaScript, фрагмент CSS или PHP-вывод, который зависит от текущего пользователя, пункта меню или данных сайта. Обычный визуальный редактор может удалить <script>, <style>, нестандартные атрибуты или PHP. Sourcerer решает эту проблему через собственный синтаксис: код помещается между тегами {source} и {/source}, а системный плагин обрабатывает его во время вывода страницы.
Главная идея - не отключать защиту Joomla ради одного блока, а дать коду отдельный управляемый контейнер. Это особенно важно на сайтах, где с материалами работают несколько редакторов. Вместо глобального ослабления фильтров можно оставить фильтры редактора в разумном состоянии, а право использовать Sourcerer выдать только тем группам, которые понимают последствия.
Что можно вставлять через расширение
Официальная документация подтверждает четыре основных направления: HTML, CSS, JavaScript и PHP. В бесплатной версии доступны базовые возможности размещения кода и базовые настройки безопасности. Pro-версия добавляет более удобное подключение файлов, выбор метода include и расширенный контроль безопасности по областям сайта и группам пользователей.
На практике это означает несколько рабочих сценариев:
- Добавить HTML-разметку, которую редактор иначе упрощает или удаляет.
- Подключить короткий JavaScript-фрагмент для отдельной страницы, если это не требует полноценного расширения.
- Добавить CSS-правку для конкретного материала или аккуратно отправить CSS в head через механизмы Joomla.
- Вывести небольшую PHP-логику, например данные текущего пользователя или результат безопасного запроса.
- Подключить внешний PHP, CSS или JS-файл через Pro-синтаксис, когда код повторяется в нескольких местах.
Где Sourcerer не должен подменять разработку
Если фрагмент становится длинным, содержит бизнес-логику, работает с оплатой, меняет данные пользователей, зависит от сложных прав доступа или используется на многих страницах, его лучше вынести в отдельный модуль, плагин, компонент, переопределение шаблона или включаемый файл под контролем разработчика. Sourcerer удобен как мост между контентом и небольшим кодом, но не как замена архитектуре сайта.
Хороший признак: фрагмент можно объяснить в двух предложениях, проверить на одной странице и быстро отключить. Если для понимания кода нужен отдельный технический документ, держать его прямо в статье опасно.
Кому подходит расширение, а кому лучше выбрать другой путь
Перед установкой стоит честно ответить, кто будет пользоваться инструментом. Sourcerer Pro раскрывается там, где на сайте есть технический редактор или разработчик, а обычные авторы не получают права вставлять исполняемый код. Если же контент создают люди без технической подготовки, расширение может стать источником случайных поломок.
Подходящие роли
Расширение хорошо подходит вебмастерам, которые обслуживают Joomla-сайты и регулярно добавляют небольшие интеграции: счётчики, виджеты, блоки внешних сервисов, условные выводы, маленькие CSS-исправления. Оно также полезно разработчикам, которые хотят быстро проверить идею на тестовой странице перед переносом в нормальный модуль или шаблон.
Для агентства или технической команды Pro-версия интересна из-за security control. Можно разделить правила для статей, компонентов и прочих областей, а также различать CSS, JavaScript и PHP. Такой подход помогает не выдавать полный доступ к PHP тем, кому нужен только HTML или CSS.
Когда расширение может быть лишним
Если задача - повторять один и тот же текстовый блок в десятках статей, лучше посмотреть на инструмент для сниппетов. Если нужно вставлять модули в материалы, логичнее использовать расширение, которое работает именно с модулями и позициями. Если нужно изменить вывод компонента, часто безопаснее сделать переопределение шаблона Joomla. Если требуется сложная интеграция с API, хранение настроек, логирование и обработка ошибок, лучше писать отдельное расширение.
Слабое место любого инструмента для произвольного кода - соблазн оставить временное решение постоянным. Поэтому полезно вести список всех мест, где используется {source}, и периодически проверять, не пора ли перенести часть логики в более поддерживаемую форму.
Что проверить перед установкой на рабочий сайт
Подготовка важнее самой установки. Sourcerer работает с кодом, который может повлиять на страницу, безопасность, производительность и индексируемый контент. Поэтому первый запуск лучше делать на копии сайта или хотя бы на отдельной тестовой странице, где ошибку легко заметить и отключить.
Техническая совместимость
Официальная страница и документация указывают актуальные ветки Joomla и минимальные требования к окружению. В статье не будем привязываться к датам и точным номерам, потому что они меняются. Практическое правило проще: перед установкой откройте страницу продукта и страницу установки, проверьте совместимость с вашей веткой Joomla, версией PHP и базой данных, затем сравните это с фактическим окружением хостинга.
Если сайт переносился с Joomla 3 или давно не обновлялся, не устанавливайте расширение поверх старого набора плагинов без ревизии. Старые фрагменты кода могут использовать устаревшие классы, старые пути, несовместимые методы или небезопасные вызовы. В этом случае Sourcerer будет не причиной проблемы, а местом, где она проявится.
Резервная копия и тестовая страница
Перед включением PHP через Sourcerer сделайте резервную копию файлов и базы данных. Минимальный тестовый сценарий должен быть простым: создать скрытую статью, вставить безвредный HTML-фрагмент, сохранить, открыть страницу в публичной части, посмотреть исходный код и убедиться, что системный плагин обработал тег. Только после этого переходите к JavaScript и PHP.
Для тестовой страницы лучше использовать отдельный пункт меню, который не участвует в основной навигации. Так вы сможете проверить Itemid, шаблон, модули, кеш и поведение редактора без риска испортить посещаемую страницу.
Права редакторов
До установки решите, кто будет иметь право использовать код. Для обычных авторов и менеджеров контента чаще достаточно запретить PHP, а иногда и JavaScript. Если контент создают внешние редакторы, не стоит давать им доступ к Sourcerer только потому, что расширение установлено. В Pro-версии это особенно важно: расширенный контроль безопасности позволяет настроить разные уровни для статей, компонентов и прочих областей.
| Что решить | Почему это важно | Безопасное действие |
|---|---|---|
| Где будет использоваться код | Разные области Joomla обрабатываются в разном контексте. | Начать со статьи или тестового Custom HTML модуля, а затем расширять область. |
| Кто может вставлять PHP | PHP имеет доступ к данным сайта и серверному окружению. | Разрешать только доверенной технической группе. |
| Как откатить фрагмент | Ошибка в коде может сломать вывод страницы. | Хранить исходный код отдельно и знать, где удалить {source} block. |
| Включён ли кеш | Старый кеш может показывать прежний результат. | После теста очистить кеш Joomla и кеш шаблона или хостинга. |
Установка и первичная проверка в Joomla
Официальная документация описывает несколько способов установки: через Joomla installer, через вкладку Install from Web, через загрузку ZIP-пакета и через Regular Labs Extension Manager. Для Pro-версии чаще используется загрузка пакета или Regular Labs Extension Manager. В этом руководстве не разбираем покупку, ключи и личный кабинет: это не нужно для понимания функций и безопасной настройки уже имеющегося продукта.
Базовый путь установки
В Joomla 4, 5 и 6 общий путь установки расширений проходит через System и раздел установки расширений. Если используете ZIP-пакет, выберите Upload Package File и загрузите архив. Если ставите бесплатную версию через каталог, используйте Install from Web и найдите Sourcerer. После установки проверьте, что активны связанные плагины Regular Labs, особенно системный плагин Sourcerer и кнопка редактора.
- Откройте админ-панель Joomla под пользователем с правами установки расширений.
- Перейдите в
Systemи откройте установку расширений. - Установите пакет Sourcerer выбранным способом.
- Перейдите в управление плагинами и найдите Sourcerer.
- Убедитесь, что системный плагин опубликован.
- Откройте редактор статьи и проверьте наличие кнопки или пункта вставки кода.
Первый тест без риска
Первый фрагмент должен быть максимально простым. Не начинайте с внешнего сервиса, сложного JavaScript или запроса к базе. Проверьте, что сам механизм обработки работает.
{source}
<span class="sourcerer-test">Sourcerer test output</span>
{/source}
Сохраните материал, откройте его в публичной части сайта и проверьте, появился ли текст. Затем откройте исходный код страницы и посмотрите, нет ли вокруг блока диагностических HTML-комментариев Sourcerer. Эти комментарии могут быть полезны при отладке, а позже их можно отключить в advanced-настройках, если они мешают чистоте HTML.
Мини-итог: установка считается пройденной не после сообщения Joomla об успешной установке, а после проверки, что
{source}block действительно обработался на тестовой странице.
Настройка безопасности после установки
Этот раздел стоит пройти до того, как расширение начнут использовать в реальных материалах. Sourcerer Pro отличается от базового использования тем, что позволяет тоньше управлять областями и группами. Для инструмента, который может выполнять PHP, это не косметическая настройка, а основа эксплуатации.
Security - Default
В базовом блоке безопасности задаётся, какие типы кода вообще разрешены внутри Sourcerer tags. Если CSS, JavaScript или PHP не разрешены, соответствующий код будет удаляться. Это объясняет многие жалобы вида «я вставил код, а на сайте ничего не появилось».
Для типового сайта разумно начинать так:
- HTML оставить разрешённым, если задача именно во вставке разметки.
- CSS разрешать, когда есть понятный сценарий и контроль редакторов.
- JavaScript включать только при необходимости и проверять конфликт с шаблоном, кешем и политиками безопасности.
- PHP разрешать только доверенной технической группе, потому что он работает на серверной стороне.
В этом же блоке есть forbidden-функции и forbidden HTML tags. Не очищайте эти списки ради удобства. Если фрагмент не проходит из-за запрещённой функции, сначала спросите, почему эта функция нужна и нельзя ли решить задачу через штатный API Joomla или более безопасный код.
Security - Articles, Components и Other Areas
Pro-настройки разделяют поведение по областям. Articles и Categories отвечают за материалы и категории. Components относятся к основной области компонента. Other Areas покрывает оставшиеся места, например модули и head. Это полезно, потому что риск в разных областях не одинаковый.
В статьях часто работают редакторы, поэтому там лучше действовать строже. В компонентах могут быть формы и пользовательский ввод, поэтому официальная документация советует не разрешать Sourcerer в компонентах, куда могут публиковать контент пользователи публичной части. В модулях часто работает администратор сайта, но модуль может выводиться на многих страницах, значит ошибка будет масштабнее.
Безопасная схема для старта
Начните с минимального набора:
- Разрешите использование в статьях только для технической группы.
- Не разрешайте PHP авторам и редакторам, которые не проверяют код.
- Отключите Sourcerer в компонентах, где контент могут создавать пользователи сайта.
- Включайте
Enable in Headтолько если действительно добавляете CSS или JavaScript в head и понимаете, почему это нужно. - Оставьте HTML-комментарии на время диагностики, затем отключите их, если они больше не нужны.
Как проверить, что правила работают
Создайте тестового пользователя из группы, которой не должен быть доступен PHP. Попробуйте сохранить простую PHP-вставку в тестовом материале. Затем откройте страницу и исходный HTML. Если код удалён и виден диагностический комментарий, правило работает. Если PHP выполнился, значит security level настроен слишком мягко или тестовый пользователь входит в группу с более широкими правами.
Проверять права нужно не из-под Super User. Суперпользователь почти всегда маскирует проблемы делегирования. Настоящая проверка делается под ролью, которая будет работать с контентом каждый день.
Синтаксис, кнопка редактора и привычка работать без поломок
Документация Sourcerer подчёркивает простую схему: начальный тег {source}, код, закрывающий тег {/source}. Но в реальной Joomla важны детали: где именно вы вводите код, как редактор обрабатывает теги, есть ли лишняя разметка вокруг {source} и пользуетесь ли вы кнопкой редактора.
Почему лучше использовать кнопку редактора
В официальной документации Regular Labs рекомендует использовать editor button, потому что он открывает отдельный code editor и помогает не запоминать синтаксис вручную. В Joomla с редактором по умолчанию кнопки обычно находятся в верхней панели. В других редакторах, например JCE, они могут располагаться ниже поля ввода или внутри меню вставки CMS-контента.
Кнопка полезна не только при первой вставке. Если в материале уже есть блок {source}, можно выделить его вместе с тегами и нажать кнопку Sourcerer. Расширение откроет существующий код в popup, после чего вставит обновлённый блок обратно. Так меньше шансов оставить один закрывающий тег, испортить атрибут или получить невидимую разметку вокруг тега.
WYSIWYG view, а не HTML view
Официальная документация указывает важный нюанс: код через Sourcerer нужно размещать в WYSIWYG view, а не в HTML/Code view редактора. Это звучит необычно для тех, кто привык вставлять HTML в режим исходного кода, но для Sourcerer логика именно такая: плагин ищет свои теги в содержимом и уже затем обрабатывает код между ними.
Если редактор всё равно портит HTML-теги, используйте documented-подходы: настройте редактор, используйте кнопку Sourcerer или примените альтернативный double bracket syntax для HTML-тегов там, где это уместно. Например, вместо <span> можно использовать квадратный вариант, если редактор удаляет обычные угловые скобки.
Пример HTML и JavaScript
Для простого HTML-блока синтаксис выглядит так:
{source}
<div class="notice-box">
<strong>Important notice</strong>
<p>This block is rendered through Sourcerer.</p>
</div>
{/source}
Для JavaScript не забывайте, что сам script должен быть внутри script tags. Если эти теги запрещены в настройках Sourcerer или режутся редактором, код не сработает.
{source}
<script>
document.documentElement.classList.add('has-sourcerer-test');
</script>
{/source}
После сохранения проверьте не только видимый результат, но и исходный HTML. Если script отсутствует, проблема обычно в фильтре редактора, security level или настройках разрешённых тегов.
Что даёт Pro-версия в рабочих проектах
Название Pro в этой задаче важно не само по себе. Для практической работы решают три подтверждённые группы возможностей: упрощённое подключение файлов, выбор метода include и расширенные security settings. Именно они делают расширение удобнее на сайтах, где код повторяется, принадлежит разработчику и не должен лежать длинным фрагментом в теле статьи.
Include-файлы вместо длинного кода в статье
Если PHP-фрагмент занимает несколько строк и используется один раз, его можно оставить внутри {source}. Если код повторяется, содержит функции, классы или требует аккуратного хранения, лучше вынести его в отдельный файл. Официальная документация показывает обычный PHP include через JPATH_SITE, а Pro-версия добавляет короткий синтаксис через атрибут php или file.
{source php="myfiles/status-box.php"}{/source}
Такой подход читабельнее для редактора: в статье видно, что подключается файл myfiles/status-box.php, а сам файл можно хранить в согласованной папке, проверять в системе контроля версий и редактировать обычным редактором кода. В настройках Sourcerer есть Include Path, который задаёт путь относительно корня сайта для include-файлов.
Include Method: когда важны include_once и require_once
Если файл содержит только вывод HTML, обычного include часто достаточно. Но если файл объявляет функции или классы, повторное подключение на одной странице может привести к ошибке повторного объявления. Для таких случаев Pro-версия позволяет выбрать метод: include, include_once, require, require_once.
Практическое правило простое:
- Используйте
include, если файл необязателен и содержит простой вывод. - Используйте
include_once, если файл может подключаться несколько раз и содержит функции или классы. - Используйте
require, если без файла страница не должна продолжать работу. - Используйте
require_once, если файл обязателен и не должен подключаться повторно.
В статье лучше не хранить секреты, пароли и ключи внешних сервисов. Даже если технически PHP может обратиться к внешней базе, это не значит, что такую конфигурацию надо размещать в контентном поле. Секреты должны храниться вне материалов и не попадать в руки редакторов.
CSS и JavaScript в head
Для CSS и JavaScript документация описывает два подхода. Базовый путь - использовать Joomla document functions через $doc или $document, которые Sourcerer создаёт при необходимости. Pro-версия добавляет короткие атрибуты css и js для подключения файлов в head.
{source css="media/site/custom/special-page.css"}{/source}
{source js="media/site/custom/special-page.js"}{/source}
Не вставляйте в статью полноценные <html>, <head> или <body> структуры. Joomla уже формирует документ. Если внешний фрагмент содержит полный HTML-документ, нужно взять только содержимое, которое действительно должно оказаться внутри страницы, а ресурсы подключать штатными механизмами.
Практический пример: блок статуса для авторизованного пользователя
Теперь соберём пример, который показывает смысл Sourcerer без лишнего риска. Цель - вывести в материале небольшой блок: для гостя показать нейтральное сообщение, а для авторизованного пользователя - приветствие с именем. Это демонстрирует PHP-доступ к объекту пользователя, но не меняет данные и не делает запросов к внешним сервисам.
Цель
Нужно добавить на закрытую или служебную страницу блок, который помогает проверить, видит ли Joomla текущего пользователя внутри Sourcerer. Такой пример пригоден как тест после установки и как заготовка для более сложной логики, если её позже перенести в отдельный файл.
Подготовка
Убедитесь, что системный плагин Sourcerer опубликован, PHP разрешён для вашей технической группы, а тестовая страница не находится в активном меню для обычных посетителей. Если на сайте включён кеш, временно очистите его перед проверкой и после сохранения материала.
Шаги
- Откройте тестовую статью в админ-панели Joomla.
- Нажмите кнопку Sourcerer в редакторе или вставьте
{source}block вручную, если уверены в синтаксисе. - Добавьте короткий PHP-фрагмент, который читает
$user. - Сохраните материал и откройте его в публичной части сначала как гость, затем как авторизованный пользователь.
{source}
<?php
if ($user->guest) {
echo '<div class="notice-box">Please sign in to see the member note.</div>';
} else {
echo '<div class="notice-box">Welcome, ' . htmlspecialchars($user->name, ENT_QUOTES, 'UTF-8') . '</div>';
}
?>
{/source}
Проверка
В режиме гостя должен появиться гостевой текст. После входа под пользователем должен появиться вариант с именем. Если всегда виден гостевой текст, проверьте, действительно ли открываете страницу в том же браузерном сеансе, где выполнен вход. Если на странице ничего нет, смотрите исходный код: иногда Sourcerer оставляет комментарий, из которого понятно, что PHP запрещён настройками безопасности или в коде есть ошибка.
Нюанс
В примере используется htmlspecialchars, чтобы имя пользователя не выводилось как сырой HTML. Это обычная безопасная привычка при выводе пользовательских данных. Sourcerer даёт доступ к объектам Joomla, но не отменяет правила безопасного вывода.
Практический вывод: сначала проверяйте самый маленький рабочий фрагмент, затем переносите повторяемую логику в include-файл и ограничивайте права на PHP.
Практичные идеи применения на разных типах Joomla-сайтов
Sourcerer Pro не должен использоваться вместо каждого модуля и каждого шаблонного переопределения. Но у него есть несколько честных сценариев, где он помогает быстро решить точечную задачу. Ниже не список «можно всё», а карта применений, которые опираются на подтверждённые функции: HTML, CSS, JavaScript, PHP, editor button, include-файлы и security control.
Для контентного сайта
На информационном сайте Sourcerer полезен для точечных блоков: встраиваемый виджет, оформление служебного предупреждения, небольшой JavaScript для конкретной страницы, временная проверка данных пользователя. При этом повторяемые блоки лучше постепенно выносить в сниппеты, модули или include-файлы.
Проверка результата простая: открыть материал как гость, как авторизованный пользователь, в исходном коде убедиться, что лишние {source} теги не остались видимыми, затем очистить кеш и повторить проверку. Если страница индексируется, стоит оценить, не попадает ли служебный код или динамический вывод в поисковый фрагмент. В настройках есть параметр удаления из поиска, который помогает не отдавать Sourcerer-содержимое в результаты поиска Joomla, если это нужно.
Для сайта с редакторами
Здесь ключевой сценарий - разграничение. Редакторы могут готовить текст, но не обязаны иметь право на PHP. Техническая группа вставляет блок через кнопку редактора, а затем оставляет пояснение в заметке материала или во внутренней документации: что делает фрагмент, где его отключить, какой результат считается нормальным.
Если редактор случайно выделит часть {source} block и сохранит материал, код может перестать обрабатываться. Поэтому полезно использовать editor button для редактирования существующего блока и не править теги вручную в длинных материалах.
Для каталога или проекта с повторяемыми вставками
Если один и тот же PHP или CSS нужен в нескольких местах, Pro include-синтаксис уменьшает количество копий. Вместо пяти одинаковых больших блоков в статьях можно оставить пять коротких вызовов одного файла. Это облегчает поддержку: исправление делается в одном месте, а страницы получают обновлённый вывод после очистки кеша.
Проверка здесь двойная. Сначала убедитесь, что путь к файлу задан верно и файл не выводит полную HTML-структуру. Затем проверьте страницу, где include вызывается больше одного раза. Если внутри файла есть функции, выбирайте include_once или require_once, иначе можно получить ошибку повторного объявления.
Для разработчика на этапе прототипа
Разработчик может использовать Sourcerer как быстрый стенд: проверить API Joomla, вывести данные текущего пользователя, протестировать document functions для CSS/JS. Но после проверки нужно решить, останется ли код в Sourcerer или будет перенесён в отдельное расширение. Если фрагмент стал зависеть от параметров, языков, прав доступа и обработки ошибок, он уже вышел за рамки простой вставки.
Проверка результата: что смотреть после сохранения
После вставки кода нельзя ограничиваться визуальным «страница открылась». Нужно проверить путь обработки: сохранился ли код, не повредил ли его редактор, разрешён ли тип кода настройками Sourcerer, не отдаёт ли кеш старую версию и не нарушена ли структура HTML.
Проверка в админ-панели
Откройте материал после сохранения и убедитесь, что теги {source} и {/source} остались целыми. Проверьте, нет ли внутри самих тегов лишней разметки. Официальная диагностика отдельно отмечает: Sourcerer может обрабатывать markup между тегами, но сами теги должны быть чистыми. Если редактор вставил <span> внутрь {source}, плагин может не распознать блок.
Проверка в публичной части
Откройте страницу в обычном режиме, затем в приватном окне. Для пользовательского PHP проверьте разные состояния: гость, зарегистрированный пользователь, редактор, администратор, если это имеет смысл. Для JavaScript откройте консоль браузера и посмотрите ошибки. Для CSS проверьте, не перебивает ли шаблон ваши стили более специфичными правилами.
Проверка исходного HTML
Просмотр исходного кода помогает отличить три ситуации. Если {source} виден как текст, плагин не обработал тег. Если кода нет вообще, его мог удалить редактор или security settings. Если код есть, но не работает, ищите ошибку в самом фрагменте, порядке загрузки, конфликте JavaScript, CSS-специфичности или кешировании.
Проверка кеша и повторного вывода
Joomla cache, кеш шаблона, оптимизатор, CDN или серверный кеш могут показывать старый результат. После изменения Sourcerer block очистите кеши, затем проверьте страницу повторно. Если код подключает файл, убедитесь, что обновляется сам файл и что браузер не держит старую версию CSS или JavaScript.
Безопасные улучшения без правки ядра
Для Sourcerer лучший «лайфхак» - не менять код расширения и не править ядро Joomla. Улучшения должны быть обратимыми: отдельный CSS-файл, отдельный PHP include, документированное место хранения, ограниченные права и понятная проверка. Ниже два безопасных подхода, которые основаны на официальной логике Sourcerer и стандартной практике Joomla.
Вынести оформление в отдельный CSS-файл
Если блок используется в нескольких материалах, не дублируйте <style> в каждой статье. Создайте файл, например media/site/custom/sourcerer-notice.css, подключайте его через Pro quick syntax или через document functions. Это проще сопровождать и легче откатить: удаляете вызов или возвращаете предыдущую версию файла.
{source css="media/site/custom/sourcerer-notice.css"}{/source}
Проверка: откройте исходный HTML и убедитесь, что CSS-файл подключён. Затем измените одно безопасное правило в файле, очистите кеш и проверьте, что изменение применилось. Откат: удалить {source css="..."} из материала или вернуть прежнюю версию CSS-файла.
Хранить повторяемый PHP в include-файле
Если блок содержит больше пары строк PHP, вынесите его в файл и подключайте через Sourcerer Pro. Не храните в этом файле секреты, не подключайте произвольные пути из пользовательского ввода и не выводите пользовательские данные без экранирования. Для файлов с функциями используйте include_once или require_once.
{source include_once="myfiles/member-status.php"}{/source}
Проверка: откройте две страницы, где файл подключается, и убедитесь, что вывод одинаковый. Затем вызовите этот файл дважды на тестовой странице. Если ошибок повторного объявления нет, выбранный метод подходит. Откат: заменить вызов на статический HTML или удалить {source} block.
Документировать места вставки
Создайте внутренний список: страница, материал, назначение блока, тип кода, владелец, дата последней проверки в вашей системе учёта. В самой статье даты не нужны, но внутри проекта полезно знать, где живут такие фрагменты. Это особенно важно перед обновлениями Joomla, шаблона, PHP и Regular Labs extensions.
Как сопровождать вставки после первого запуска
Самая частая проблема с инструментами для вставки кода появляется не в день установки, а через несколько месяцев: никто уже не помнит, зачем был добавлен фрагмент, какой пользователь имеет право его менять, почему он находится именно в статье и можно ли его удалить. Поэтому Sourcerer Pro лучше внедрять не как разовую кнопку «вставить код», а как небольшой процесс сопровождения.
Этот процесс не требует сложной архитектуры. Достаточно держать под контролем четыре вещи: список мест использования, владельца каждого фрагмента, способ проверки результата и правило переноса временного кода в нормальное решение. Тогда расширение остаётся полезным инструментом, а не скрытым слоем логики, который ломается при очередном обновлении.
Вести реестр {source} blocks
Если на сайте один тестовый блок, реестр может показаться лишним. Но как только блоков становится больше трёх, список экономит время. Запишите URL страницы, ID материала или модуля, тип кода, краткое назначение, имя ответственного человека и способ отключения. Для include-файлов добавьте путь к файлу и информацию, где он используется.
Такой реестр особенно помогает при миграции сайта, смене шаблона или обновлении PHP. Вы заранее видите, какие фрагменты нужно проверить руками. Без списка приходится искать {source} по базе или вспоминать, в каком модуле когда-то был добавлен script.
Что фиксировать в реестре
- Материал, модуль, категория или компонентная область, где находится вставка.
- Тип кода: HTML, CSS, JavaScript, PHP или include-файл.
- Задача фрагмента: виджет, проверка пользователя, оформление блока, подключение файла, служебный вывод.
- Группа пользователей, которой разрешено менять этот фрагмент.
- Проверка результата: что должно быть видно в публичной части или в исходном HTML.
- Условие переноса: когда код должен стать модулем, шаблонным переопределением или отдельным расширением.
Проверять вставки после обновлений
Обновления Joomla, PHP, шаблона и Regular Labs extensions могут изменить окружение, в котором выполняется код. Это не значит, что обновления опасны. Наоборот, для такого расширения важно держать систему актуальной. Но после обновления нужно проверить места, где выполняется пользовательский PHP или загружается JavaScript.
Сначала откройте тестовую страницу с простым блоком Sourcerer. Если она работает, переходите к реальным вставкам. Для PHP-фрагментов смотрите error log и диагностические комментарии. Для JavaScript проверьте консоль браузера. Для CSS убедитесь, что шаблон или оптимизатор не изменили порядок загрузки стилей. Если используется include-файл, проверьте права на файл и путь относительно корня сайта.
Историческая уязвимость, зафиксированная в NVD для старых версий Sourcerer, не должна превращать руководство в тревожный список. Практический вывод спокойнее: не держите старые пакеты, обновляйтесь из официального источника, ограничивайте PHP доверенной группой и не разрешайте Sourcerer в областях, где контент может создавать непроверенный пользователь.
Отделять временный прототип от постоянной логики
Sourcerer удобен для прототипа: быстро проверить вывод, понять, нужен ли модуль, показать заказчику небольшой динамический блок. Но временный прототип должен иметь срок жизни. Если код пережил несколько редакций страницы и стал частью бизнес-процесса, его стоит перевести в поддерживаемую форму.
Признаки, что пора переносить:
- Фрагмент используется на нескольких страницах и копируется вручную.
- Код содержит функции, классы, запросы к базе или условия по ролям.
- Результат важен для заявок, оплаты, доступа к материалам или персональных данных.
- Редакторы боятся открывать материал, потому что внутри длинный PHP.
- После каждого обновления сайта этот блок проверяется отдельно и часто требует правки.
Первый шаг переноса не обязан быть большим. Часто достаточно вынести код в include-файл, оставить в статье короткий вызов и добавить файл в систему контроля версий. Следующий шаг - оформить его как модуль или плагин, если фрагмент получил настройки, права доступа и повторное использование.
Согласовать Sourcerer с кешем и оптимизацией
Если сайт использует кеш Joomla, кеш шаблона, серверный кеш или CDN, вставки могут вести себя не так, как ожидает редактор. Динамический PHP может отработать один раз, а затем посетители будут видеть закешированный результат. JavaScript-файл может обновиться на сервере, но браузер продолжит брать старую копию. CSS может попасть в объединённый файл и задержаться там до очистки кеша.
Для простых HTML и CSS это обычно не страшно. Для пользовательского вывода, который зависит от текущего посетителя, кеш нужно проверять особенно внимательно. Не добавляйте через Sourcerer персонализированный вывод на страницу, которая агрессивно кешируется для всех гостей, пока не понимаете, как именно работает кеш на вашем сайте.
Минимальная проверка после изменения: очистить кеш Joomla, очистить кеш шаблона или оптимизатора, открыть страницу как гость и как авторизованный пользователь, проверить исходный HTML. Если результат зависит от пользователя, сравните два разных браузерных сеанса. Это помогает поймать ситуацию, когда код технически работает, но кеш показывает не тот результат не той аудитории.
Документировать ограничения для редакторов
Даже если редакторы не имеют права вставлять PHP, они могут случайно испортить блок при редактировании длинного материала. Добавьте простое внутреннее правило: блоки между {source} и {/source} редактирует только техническая группа; если нужно изменить текст вокруг блока, не выделять и не форматировать сами Sourcerer tags; если блок нужно удалить, сначала спросить владельца фрагмента.
Хорошая практика - оставлять рядом с материалом служебную заметку в вашей системе управления задачами, а не внутри публичного HTML. В заметке укажите, что блок делает и где проверить результат. Это снижает риск, что новый редактор воспримет {source} как лишний текст и удалит его вместе с полезной логикой.
После такой организации Sourcerer Pro остаётся небольшим, понятным инструментом: он помогает вставить код там, где это оправдано, но не превращается в непроверяемый слой сайта. Именно это отличает безопасное использование от хаотичного накопления фрагментов.
Если Sourcerer Pro не работает: симптомы, причины и исправления
Диагностику лучше вести по цепочке. Не начинайте с переписывания кода, пока не проверили публикацию плагина, чистоту тегов, фильтры редактора и security settings. Официальная FAQ Regular Labs как раз группирует проблемы вокруг этих причин.
{source}, сохранён ли код, разрешён ли тип кода, нет ли ошибки в самом PHP или JavaScript.Теги {source} видны на странице
Симптом: посетитель видит {source} и {/source} как обычный текст. Возможная причина - системный плагин Sourcerer не опубликован, не сработал в этой области сайта или теги повреждены редактором.
Что проверить: откройте управление плагинами, найдите системный плагин Regular Labs Sourcerer и убедитесь, что он опубликован. Затем откройте материал и проверьте, что в самих тегах нет лишних HTML-обёрток. Если проблема только в одном компоненте или модуле, проверьте, разрешена ли обработка в этой области.
Как исправить: опубликовать плагин, заново вставить блок через editor button, очистить кеш. Если теги изменялись вручную, проще удалить блок и вставить его снова через popup Sourcerer.
Код пропадает после сохранения
Симптом: в редакторе код был, после сохранения часть HTML, script или style исчезла. Возможная причина - фильтр редактора или настройки безопасности Sourcerer. Joomlashack tutorial и официальная FAQ отдельно подчёркивают, что Joomla по умолчанию не предназначена для свободной вставки JavaScript и PHP в статьи.
Что проверить: используете ли editor button, не вставляете ли код в неправильный режим редактора, разрешены ли нужные теги в Sourcerer settings, не запрещён ли этот тип кода для группы автора материала.
Как исправить: использовать кнопку Sourcerer, настроить редактор на допустимый уровень фильтрации для доверенной группы, включить нужный тип кода только в Sourcerer security settings. Если редактор системно портит HTML, попробуйте double bracket syntax для HTML-тегов или другой редактор с более управляемыми фильтрами.
JavaScript не выполняется
Симптом: код сохранён, но действие на странице не происходит. Возможные причины - забыты <script> tags, JavaScript запрещён security settings, код загружается раньше нужного элемента, есть конфликт с шаблоном или оптимизатором.
Что проверить: исходный HTML, консоль браузера, наличие script tags, настройки JavaScript security level, кеш и минификацию. Если код нужно добавить в head, используйте documented-подход через document functions или Pro quick syntax для JS-файла, а не вставляйте <head> внутрь материала.
Как исправить: добавить корректные script tags, разрешить JavaScript только доверенной группе, очистить кеш, временно отключить объединение/минификацию для проверки. Если JavaScript отвечает за критичную функцию сайта, вынесите его в отдельный файл и подключайте контролируемо.
PHP не выполняется или выдаёт ошибку
Симптом: PHP не выводит результат, страница показывает ошибку или Sourcerer сообщает о проблеме в HTML-комментарии. Возможные причины - PHP запрещён, забыты <?php ?> tags, ошибка синтаксиса, повторное объявление функции, устаревший код после обновления Joomla/PHP.
Что проверить: разрешён ли PHP для автора и области, есть ли открывающий и закрывающий PHP tag, нет ли parse error, не подключается ли один и тот же файл несколько раз. Для файлов с функциями используйте include_once или require_once.
Как исправить: сначала заменить фрагмент на простейший echo, чтобы отделить проблему Sourcerer от проблемы кода. Затем постепенно вернуть логику. Если ошибка связана с устаревшим API Joomla, не лечите её отключением предупреждений - обновите код.
Вставка ломает структуру страницы
Симптом: после вставки уезжает вёрстка, исчезают блоки, валидатор показывает неверную вложенность. Возможная причина - в материал вставлен целый HTML-документ или таблица/блок оказался внутри параграфа, который добавил редактор.
Что проверить: есть ли в коде <html>, <head>, <body>, не окружён ли {source} block лишними <p>, <span> или <div> так, что структура ломается. В advanced-настройках есть опция strip surrounding tags, которая может помогать при подобных ситуациях.
Как исправить: вставлять только содержимое, которое должно быть внутри тела страницы, подключать CSS/JS через head-механизмы Joomla, удалить лишнюю обёртку вокруг Sourcerer tags, проверить HTML после сохранения.
После обновления поведение изменилось
Симптом: блок раньше работал, после обновления Joomla, PHP, шаблона или расширения вывод изменился. Возможные причины - старый код использовал устаревшие классы, изменились права, отключился плагин, включился другой редактор или кеш показывает старый результат.
Что проверить: состояние системного плагина, release notes Regular Labs, совместимость версии расширения, error log, пользовательскую группу автора материала, наличие старых include-файлов. У Sourcerer были security-исправления в старых ветках, поэтому держать расширение обновлённым особенно важно.
Как исправить: обновить расширение из официального источника, проверить код на тестовой странице, заменить устаревшие вызовы Joomla API, очистить кеш. Если сайт долго не обновлялся, переносите критичные вставки в отдельные файлы и проверяйте их как обычный код.
Вопросы, которые стоит решить до активного использования
Можно ли дать Sourcerer Pro обычным авторам сайта?
Можно только после настройки прав, но в большинстве случаев обычным авторам не нужен доступ к PHP и JavaScript. Лучше оставить им стандартный редактор, а право на Sourcerer выдать технической группе. Если авторам нужен повторяемый блок, чаще безопаснее дать сниппет или модуль, а не произвольный код.
Чем Pro-версия полезнее бесплатной именно в работе?
По официальной странице, Pro добавляет include-файлы с коротким синтаксисом, выбор include method и advanced security settings. На практике это важно, когда код повторяется, хранится в файлах и должен быть доступен только выбранным группам или областям сайта.
Почему код есть в статье, но не виден на сайте?
Проверьте четыре вещи: опубликован ли system plugin, целы ли {source} tags, разрешён ли тип кода в настройках безопасности, не показывает ли кеш старую страницу. Если речь о PHP или JavaScript, дополнительно смотрите диагностические комментарии Sourcerer, error log и консоль браузера.
Можно ли вставлять через Sourcerer полный HTML-документ?
Нет, в контент Joomla не следует вставлять полноценные структуры <html>, <head> и <body>. Нужно брать только содержимое, которое должно быть внутри страницы, а CSS и JavaScript подключать через documented-механизмы Joomla или Pro quick syntax.
Влияет ли Sourcerer на скорость сайта?
Сам факт использования расширения не равен проблеме скорости. Влияет то, какой код вы вставляете: тяжёлый JavaScript, внешние сервисы, повторные запросы к базе, несколько include-файлов на странице. Проверяйте конкретный фрагмент, кеш и сетевые запросы, а не делайте общий вывод по названию расширения.
Нужно ли отключать HTML-комментарии Sourcerer?
Во время отладки они полезны, потому что помогают понять, почему код не обработан. На рабочем сайте после проверки их можно отключить, если вы не хотите видеть служебные комментарии в исходном HTML. Не отключайте их до первой диагностики, иначе потеряете простой источник подсказок.
Что делать, если редактор JCE или другой редактор меняет код?
Используйте кнопку Sourcerer, проверьте фильтры редактора и права группы, попробуйте documented double bracket syntax для HTML-тегов, если проблема именно в удалении угловых скобок. Если редактор системно вмешивается в код, храните более сложные фрагменты в include-файле, а в статье оставляйте короткий вызов.
Когда лучше не использовать Sourcerer Pro?
Не используйте его как замену компоненту, модулю или шаблонному переопределению, если логика стала сложной, критичной для бизнеса или зависит от многих параметров. Sourcerer удобен для точечных вставок и прототипов, но долгоживущий сложный код лучше оформлять как поддерживаемую часть проекта.
Когда Sourcerer Pro будет удачным выбором
Sourcerer Pro стоит использовать, если вам нужен контролируемый способ вставлять код в Joomla content, есть доверенный технический пользователь, понятна область применения и настроены ограничения по группам. Особенно хорошо расширение показывает себя в точечных задачах: вставить фрагмент HTML, подключить CSS/JS к конкретной странице, вывести небольшой PHP-результат или подключить повторяемый include-файл.
Перед активным использованием пройдите короткую проверку: установите расширение из официального источника, включите только нужные плагины, настройте security levels, создайте тестовую страницу, проверьте HTML, JavaScript и PHP по отдельности, затем решите, какие фрагменты можно оставить в статье, а какие лучше вынести в файл или отдельное расширение.
Если после чтения вы понимаете, где будет использоваться код, кто сможет его редактировать и как вы проверите результат, можно получить версию для Joomla и протестировать расширение на безопасной копии сайта. Если такой ясности пока нет, начните не с установки, а с карты задач: какие блоки действительно требуют кода, какие решаются модулем, а какие лучше оформить через шаблон или отдельное расширение.
Соседние материалы | ||||
|
BdThemes Shortcode Ultimate - Расширение Joomla | JCH Optimize Pro - Расширение Joomla |
|
|



Комментарии