Как вставить PHP код в Joomla
Рано или поздно мы сталкиваемся с необходимостью оживить, улучшить и оптимизировать наш сайт, снабдив его динамическим содержимым. И здесь на помощь приходят различные методы и языки, наиболее популярные и широкоиспользуемые из них это CSS, JavaScript и PHP.
CSS определяет внешний вид элементов, их цвета, размеры, позиционирование на странице и, в некоторых случаях, анимацию.
Зачем же нужен PHP и в чем разница между JavaScript и PHP?
PHP в отличии от JavaScript’a – серверный язык программирования, и результатом его выполнения (компиляции) является HTML-код, готовая веб-страница (которая зачастую может содержать фрагменты JavaScript’a). PHP выполняется один раз в момент загрузки страницы и отвечает собственно за то, какая страница или какое содержимое будет передано браузеру. Как только страница загрузилась, PHP закончил свою работу и включится снова лишь тогда, когда будет совершен переход на другую страницу (или обновление текущей по F5), либо обращение через Ajax.
Но если вы точно и окончательно решили вставить код php в Joomla – могу посоветовать плагин, который снимает запреты и позволяет вставлять php-код непосредственно в материал (не забудьте отключить визуальные редакторы – они также будут обрезать вхождения JavaScript или PHP кода).
Плагин называется DirectPHP.
UPD.: Также можете обратить внимание на такое расширение, как Sourcerer.
После его установки и активации вы можете испробовать его в действии, поприветствовав мир всеми любимой фразой:
Однако более правильный путь — научиться писать модули и плагины и встраивать их прямо в материал методом (для модуля mod_login)
А также разобраться с переопределениями в компонентах и модулях.
Как вставить php код. Конструкция включений в PHP include
Конструкция include предназначена для включения файлов в код сценария PHP во время исполнения сценария PHP.
В отличие от конструкции require конструкция include позволяет включать файлы в код PHP скрипта во времявыполнения сценария. Синтаксис конструкции include выглядит следующим образом:
В результате мы получим вывод, состоящий из 10 цифр: «12345678910». Из этого мы можем слелать вывод, что каждый из файлов был включен по одному разу прямо во время выполнения цикла! Если мы поставим теперь вместоinclude require, то сценарий сгенерирует критическую ошибку (fatal error). Сравните результат.
PHP преобразует сценарий во внутреннее представление, анализируя строки сценария по очереди, пока не доходит до конструкции include. Дойдя до include, PHP прекращает транслировать сценарий и переключается на указанный в include файл. Таким образом из-за подобного поведения транслятора, быстродействие сценария снижается, особенно при большом колличестве включаемых с помощью include файлов. С require таких проблем нет, поскольку файлы с помощью require включаются до выполнения сценария, то есть на момент трансляции файл уже включен в сценарий.
Таким образом, целесообразнее использовать конструкцию require там, где не требуется динамическое включение файлов в сценарий, а конструкцию include использовать только с целью динамического включения файлов в код PHP скрипта.
Конструкция include поддерживает включения удаленных файлов (начиная с версии PHP 4.3.0). Например:
! Конструкция include позволяет включать удаленные файлы, если такая возможность включена в конфигурационном файле PHP.
Включения удаленных файлов
PHP позволяет работать с объектами URL, как с обычными файлами. Упаковщики, доступные по умолчанию, служат для работы с удаленными файлами с использованием протокола ftp или http.
Если «URL fopen-оболочки» включены в PHP (как в конфигурации по умолчанию), вы можете специфицировать файл, подключаемый с использованием URL (через HTTP), вместо локального пути. Если целевой сервер интерпретирует целевой файл как PHP-код, переменные могут передаваться в подключаемый файл с использованием URL-строки запроса, как в HTTP GET. Строго говоря, это не то же самое, что подключение файла и наследование им области видимости переменных родительского файла; ведь скрипт работает на удалённом сервере, а результат затем подключается в локальный скрипт.
Для того, чтобы удаленное включение файлов было доступно, необходимо в конфигурационном файле (php.ini)установить allow_url_fopen=1.
Обратите внимание: Версии PHP для Windows до PHP 4.3.0 не поддерживают возможность использования удаленных файлов этой функцией даже в том случае, если опция allow_url_fopen включена.
Как вставить php код в joomla (2, 3)
Всем пользователям, кто знаком с joomla известно, что вставить php в joomla довольно проблематично. Как только доходит дело до сохранения материала, редактор joomla просто вырезает или экранирует этот код и в результате вставленный код PHP, java, и т.д. не работает.
С его помощью можно легко вставлять любой код в материал или модуль, причем в любом месте.
При установке плагина, в редакторе появляется дополнительная кнопка «вставить код»:
Плагин обрабатывает все свои теги в коде вашего сайта. Вы можете вставлять произвольные скрипты и код html, javascript, css и php код в joomla (включая, собственные теги этих языков) между тегами Sourcerer:
Плагин считывает весь код между своими тегами и отделяет его от html-разметки страницы. Так что Sourcerer позволяет размещать PHP и любой HTML код стиля (включая CSS и JavaScript) прямо в ваш контент! Не только в ваших статьях, но и в секциях, категориях, модулях, компонентах, мета-тегах, и т.д. Теперь вы можете просто разместить оригинальные коды прямо в редакторе WYSIWYG.Единственное, что вам нужно сделать, это окружить код с тегами Sourcerer. Проще простого!
Рекомендую хостинг которым я пользуюсь
В одной из прошлых статей я Вам поведал о том как вставить модуль в материал Joomla 2.5-3.x
В этой статье я расскажу Вам как вставить модель не просто в материал, а вообще в любое место компонентов Joomla 2.5-3.x будь то стандартный компонент материалов Joomla, Joomshopping или Virtuemart. не имеет значение что это будет за компонент.
Каждый найдет свое применение этой информации, я, например, использовал этот метод вставки модуля рекламы Google Adwords в область сразу после заголовка статьи и непосредственно перед выводом комментариев.
Вы можете сказать что Вам это не нужно, и вам вполне хватает возможности вставлять модуль внутрь материала вставками типа
В общем каждый найдет свои причины использования этого метода вставки модуля, или не найдет и отвергнет его как нечто бесполезное.
Для тех кого интересует возможность вставки модуля в код любого компонента Joomla 2.5-3.x и пишется эта статья.
Ну что ж друзья, давайте наконец-то
вставим Джумле модуль 😀
Вставку модуля в компонент мы будем рассматривать на примере стандартного компонента материалов COM_CONTENT. Но вставкой модуля в материал Joomla мы заниматься не будем. Я придумал задачку чуток поинтереснее. Давайте вставим наш модуль с рекламой в блог после каждого третьего материала.
Для нашего эксперимента я создал обычный текстовый модуль и задал ему, несуществующую в активном шаблоне, позицию position-748
Далее, откроем в текстовом редакторе файл
/components/com_content/views/category/tmpl/blog.php
или если Вы все всегда делаете правильно, тот наверняка вы переопределили шаблоны вывода компонента и нужный файл уже будет по адресу
/templates/ВАШ_ШАБЛОН/html/com_content/category/blog.php
Необходимый нам код шаблона вывода материалов блога выглядит так:
Продолжаем наполнять наш сайт материалами, сегодня будем создавать статью под названием Контакты. Посмотрите на нее на сайте-образце. Из нового здесь присутствует карта Google.
Итак, создаем материал под названием Контакты (contact). Копируем текст материала, кроме карты, форматируем и сохраняем статью:
В 5 уроке мы говорили, что модуль отвечает за то, в каком месте сайта или страницы будет отображаться информация. Значит для его использования нам необходимо модуль создать и указать, где его отображать.
и нажимаем на кнопку Новый:
Ставим галочку у Special HTML и нажимаем кнопку Следующая:
Копируем этот код, вставляем его в параметры нашего модуля и сохраняем:
Таким образом, мы создали модуль с кодом карты (map1), а в статье указали, где этот модуль надо отобразить (loadposition). Сохраняем нашу статью. В следующем уроке мы создадим меню и увидим, как выглядят страницы нашего сайта, а пока подведем итог этого урока:
Чтобы вставлять в Joomla html/JavaScript-код, необходимо:
Если этот сайт оказался вам полезен, пожалуйста, посмотрите другие наши статьи и разделы.
Модуль HTML-код Joomla – подробное описание и использование, урок 33
От автора
Продолжаем изучать модули Joomla. Вспоминаем, что модули это расширения системы для размещения дополнительной информации на сайте вокруг основного материала сайта.
Модуль HTML-код Joomla
Модуль HTML-код Joomla сайта позволяет пользователю разместить на сайте любую информацию, которую можно вставить в виде HTML-кода.
Это не значит, что информацию нужно вводить только в виде HTML-кода. Если на сайте включен и используется визуальный редактор, то информацию можно внести через HTML-редактор (WYSIWYG).
Напомню, что выбор редактора сайта осуществляется на вкладке Общие настройки>>>Сайт. По умолчанию, на Joomla возможны три выбора редактора: Без редактора, Core Mirror, TinyMCE. Подробно в уроке: Общие настройки
Каталог модуля
Каталог модуля: /modules/mod_custom/
Зачем нужен модуль HTML-код
Возможности модуля HTML-код выходят далеко за рамки размещения текстовой информации на сайте. Перечислю, для чего можно использовать этот тип модуля:
Вставить произвольный текст
Текст можно вставить в модуль в виде HTML-кода или в виде текста. Для вставки HTML-кода редактор нужно переключить в текстовой режим. Простой текст нужно вставить в редакторе WYSIWYG в режиме «Визуальный».
Если вставить простой текст в текстовом режиме, то система сама форматирует текст в стиль по умолчанию.
Вставить картинку
Этот модуль позволяет быстро показать картинку на сайте, картинку с текстом, картинку в виде ссылки. Для вставки картинки используется визуальный редактор со всеми возможностями оформления картинки (ссылка, alt текст, окружающий текст и т.п.).
Вставить рекламный код
Если вы используете редактор TinyMCE, то по умолчанию, это редактор запрещает теги script, applet и iframe. Чтобы использовать HTML модуль для вставки таких тегов, нудно в настройках плагина TinyMCE в строке «Запрещенные теги» вместо запрета script, applet и iframe написать произвольный запрет, например cms.
Важно! В настройках плагина TinyMCE разрешайте запрещающие теги script, applet и iframe в наборе кнопок для Super Users (Набор 0).
Если по какой-либо причине вам не удается разрешить запрещающие теги script, applet и iframe действуйте по старой схеме. То есть, вы должны временно изменить свой редактор по умолчанию на «Нет редактора», создать пользовательский HTML-модуль и затем сменить редактор обратно на TinyMCE.
Если вы используете сторонний редактор, например JCE, то можно переключиться в режим HTML, ввести код, сохранить и вернуться к нормальному виду.
HTML-модуль можно использовать для показа рекламы на сайте. Рекламный код script, вставляется в HTML модуль, только в текстовом редакторе. Для этого используется режим «Нет редактора» или заранее на TinyMCE нужно разрешить запрещающие теги script.
Модули HTML с рекламным кодом НЕЛЬЗЯ редактировать в визуальном редакторе. Для редакции кода нужно заранее переключиться на текстовой редактор.
Вставить видео
Embed видео в тегах iframe можно вставить в HTML код используется режим «Нет редактора» или заранее на TinyMCE нужно разрешить запрещающие теги iframe в наборе кнопок для Super Users.
Также не забудьте поменять параметры размеров видео на width=»100%» height=»». Тогда видео не выйдет за рамки модуля.
Напомню, что в редакторе TinyMCE есть кнопка прямой вставки видео по URL или коду. Её можно использовать и в модуле HTML.
Вставить счетчик посещений сайта Яндекс. Метрика, Google Analytics и др.
Чтобы вставить счетчик посещаемости сайта нужно используется режим «Нет редактора» или заранее на TinyMCE нужно разрешить запрещающие теги script в наборе кнопок для Super Users. Позицию для модуля со счетчиком посещаемости нужно выбрать footer.
Вставить форму сторонней подписки
Формы сторонних подписок вставляются аналогично. Если форма подписки на чистом HTML, например, форма подписки FeedBurner, то код подписки вставляется с выключенным редактором. Если ф коде подписки есть script. То нужно заранее разрешить запрещающие теги script в наборе кнопок для Super Users в настройках плагина TinyMCE.
Другие HTML коды. Используя модуль HTML кода можно вставить на сайт другие формы, соблюдая правила изложенные выше.
Настройки модуля HTML-код
Основные настройки
Заголовок (1). Это название модуля, которое будет отображаться на сайте для этого модуля, если включен пункт «Показать заголовок».
Другие настройки модуля
Создавая HTML-модуль, не забываем обо всех настройках этого модуля доступных для всех модулей Joomla.












