Joomla как подключить файл php

Как вставить PHP код в Joomla

Рано или поздно мы сталкиваемся с необходимостью оживить, улучшить и оптимизировать наш сайт, снабдив его динамическим содержимым. И здесь на помощь приходят различные методы и языки, наиболее популярные и широкоиспользуемые из них это CSS, JavaScript и PHP.

CSS определяет внешний вид элементов, их цвета, размеры, позиционирование на странице и, в некоторых случаях, анимацию.

Зачем же нужен PHP и в чем разница между JavaScript и PHP?

JavaScript – браузерный язык программирования, т.е. его исполняет сам браузер по ходу отображения страницы или различных действий пользователя (передвижение указателя, щелчки мыши, скроллинг экрана, нажатия клавиш – всё это события языка JavaScript). C помощью него мы можем прятать/отображать различные блоки на странице или же их изменять, и вообще любым образом манипулировать элементами HTML (подробнее см DOM — Document Object Model). JavaScript заключается в тэги и загружается полностью вместе со всем остальным содержимым веб-страницы.

PHP в отличии от JavaScript’a – серверный язык программирования, и результатом его выполнения (компиляции) является HTML-код, готовая веб-страница (которая зачастую может содержать фрагменты JavaScript’a). PHP выполняется один раз в момент загрузки страницы и отвечает собственно за то, какая страница или какое содержимое будет передано браузеру. Как только страница загрузилась, PHP закончил свою работу и включится снова лишь тогда, когда будет совершен переход на другую страницу (или обновление текущей по F5), либо обращение через Ajax.

Стоит также отметить, что ошибки при выполнении JavaScript’a не приведут к неработоспособности сайта (хотя последнее время довольно редко обходится без javascript-компонентов, которые, в результате ошибок в консоли, могут перестать работать), в то время как ошибки в коде PHP скорее всего «положат» сайт — будет просто белый экран. Поэтому разработчики Joomla решили обезопасить пользователей, запретив вставлять php-код непосредственно в материал. В том числе, и в целях безопасности от возможных атак. Вообще, задействовать PHP в Joomla целесообразнее через плагины, модули, компоненты, переопределения шаблонов и макетов (как именно – в следующих постах).

Но если вы точно и окончательно решили вставить код php в Joomla – могу посоветовать плагин, который снимает запреты и позволяет вставлять php-код непосредственно в материал (не забудьте отключить визуальные редакторы – они также будут обрезать вхождения JavaScript или PHP кода).

Плагин называется DirectPHP.

UPD.: Также можете обратить внимание на такое расширение, как Sourcerer.

После его установки и активации вы можете испробовать его в действии, поприветствовав мир всеми любимой фразой:

Читайте также:  Intel embedded raid linux

Однако более правильный путь — научиться писать модули и плагины и встраивать их прямо в материал методом (для модуля mod_login)

А также разобраться с переопределениями в компонентах и модулях.

Источник

Как вставить скрипт в Joomla

Дата публикации: 2016-06-20

От автора: приветствую Вас уважаемые читатели. Современные веб-сайты, активно используют JavaScript для реализации дополнительного функционала, непосредственно на стороне клиента. К примеру, слайдеры и галереи изображений, валидация информации и т.д. Поэтому в данном уроке мы поговорим о том, как вставить скрипт в Joomla используя различные способы.

Как Вы знаете за формирование дизайна пользовательской части сайта, отвечает шаблон. Соответственно именно в шаблоне осуществляется подключение основных библиотек, фреймворков, скриптов и стилей. Но шаблон формирует основную структуру сайта, а за отображение информации компонентов или модулей, отвечают их встроенные макеты, которые при необходимости могут переопределяться в шаблоне. Таким образом, необходимые, для конкретных расширений скрипты, могут подключаться непосредственно в макетах.

Из выше сказанного следует, что скрипты для joomla могут быть подключены в определенном файле шаблона, или макета конкретного расширения. И наиболее удобное место – это, конечно же, главный файл шаблона index.php, так как расширения доступны не на всех страницах сайта.

Поэтому, давайте рассмотрим, первый способ подключения скриптов в Joomla, который предусматривает ручное добавление определенного кода. Итак, открываем исходные файлы CMS Joomla и переходим в каталог templates.

Хотите узнать, что необходимо для создания сайта?

Посмотрите видео и узнайте пошаговый план по созданию сайта с нуля!

Источник

Joomla как подключить файл php

Довольно часто возникает необходимость внедрить PHP-код в Joomla-материал (калькулятор, простая форма и т.п.), сделать это непосредственно из админки не получится (ибо все что мы вставляем в поля при создании материалов считается HTML-кодом).
Краткая инструкция «как это сделать»:
1. Установить мамбот/плагин (в зависимости от версии Joomla) RD AddPHP fur Joomla )).
2. Сделать/найти/позаимствовать PHP-файл, закинуть его в, например, папку «php» в корне сайта.
3. В нужный материал вставить код вызова вашего файла: .
4. Готово.

А здесь тестовый пример php-файла (единствееное на что способен этот код — это сложение двух int or float чисел))):

Вот так вот коротенько, а сколько пользы.

Для интересующихся полный код мамбота:

defined( ‘_VALID_MOS’ ) or die( ‘Direct Access to this location is not allowed.’ );
$_MAMBOTS->registerFunction( ‘onPrepareContent’, ‘botAddPhp’ );
function botAddPhp( $published, &$row, $mask=0, $page=0 ) <
global $mosConfig_absolute_path;
// expression to search for
$regex = ‘/<(rdaddphp)\s*(.*?)>/i’;
if (!$published ) <
$row->text = preg_replace( $regex, », $row->text );
return;
>
// find all instances of mambot and put in $matches
$matches = array();
preg_match_all( $regex, $row->text, $matches, PREG_SET_ORDER );
foreach ($matches as $elm) <
parse_str( $elm[2], $args );
$phpfile=@$args[‘file’];
$output = «»;
if ( $phpfile ) <
$phpfile = $mosConfig_absolute_path . ‘/’ . $phpfile;
if (file_exists($phpfile)) <
ob_start();
include($phpfile);
$output .= ob_get_contents();
ob_end_clean();
> else <
$output = «File: $phpfile don’t exists»;
>
>
$row->text = preg_replace($regex, $output, $row->text, 1);
>
return true;
>

Читайте также:  Команды для ftp на linux

Источник

Вставка модуля Joomla в код шаблона или компонента

Для того, чтобы вставить работающий код php в любое место программного кода Joomla или в шаблон сайта или адмики, можно использовать прямую вставку php-кода или же, если требуется вставлять однотипные куски кода, можно их подружать из файлов, расположенных на сервере. Как сделать последнее подробно описано в → этой статье. Однако, изменение кода компонентов Joomla и/или её шаблонов связано с расходом времени на доступ до необходимых файлов, иногда расположенных вне зоны доступа из админки. В этой статье рассмотрим, как вставить модуль Joomla в код шаблона или компонента. Это позволит при необходимости быстро вносить требуемые правки через Менеджер модулей в админке Joomla.

Предварительная подготовка к вставке модуля Joomla в код шаблона или компонента

Для того, чтобы вставить модуль Joomla в код шаблона или компонента стандартными средствами CMS, требуется задать его позицию. Использовать стандартные позиции шаблона не всегда удобно, — они могут быть заняты под нужды шаблона. Поэтому первым делом нужно задать новую позицию в файле конфигурации шаблона templateDetails.xml . О том, как это сделать подробно описано → в этой статье.

После того, как позиция модуля прописана в файле конфигурации шаблона templateDetails.xml нужно присвоить её модулю. Как это сделать в админке можно прочитать → по этой ссылке.

Теперь, когда у модуля есть собственная позиция, его можно вызвать в любом месте программного кода Joomla.

Код для вставки модуля Joomla в шаблон или компонент

Код для вставки модуля Joomla в шаблон или компонент выглядит следующим образом:

Первая строчка jimport( ‘joomla.application.module.helper’ ); вызывает подключение класса module.helper . Она требуется лишь в том случае, если этот класс не был подключен ранее. Нет смысла в повторных определениях. Самым простым способом определить это — использовать код вызова модуля без это строчки.

Вторая строчка $module = JModuleHelper::getModules(‘position-N’); передаёт переменной $module заполняем массив модулей, опубликованных в позиции position-N .

Третья строчка $attribs[‘style’] = ‘none’; может принимать два значения:

  1. указываем стиль вывода модуля ‘none’ если не нужно выводить заголовок модуля;
  2. указываем стиль вывода модуля ‘xhtml’, если нужно вывести заголовок и его отображение включено в настройках модуля в админке.

Четвёртая строчка echo JModuleHelper::renderModule($moduleUp[0], $attribs); выдаёт первый модуль из этой позиции.

Как вариант, можно не сразу выдавать этот модуль, а передать его в переменную. А затем переменную вывести в нужном месте кода:

Есть ещё вариант, когда нужно вывести все модули из заданной позиции, тогда нужно использовать цикл для перебора всех значений массива $module :

Если требуется вывести только определённые модули из позиции position-N , нужно указать номер расположения модуля в этом массиве при его вызове $moduleUp[ N ] в первом случае, или ввести условия при переборе элементов массива в цикле во втором случае.

Читайте также:  Какие картриджи подойдут для hp deskjet 2050

Резюме

Таким образом, парой строчек кода можно управлять выводом модулей в практически любом месте шаблона или компонента Joomla 3. При этом не требуется создавать никаких дополнительных файлов для хранения php-кода. Модули, как наверное понятно всем, хранятся в базе данных сайта и управляются стандартными средствами через админку Joomla.

Заберите ссылку на статью к себе, чтобы потом легко её найти: выберите, то, чем пользуетесь чаще всего:

Спасибо за внимание, оставайтесь на связи!

Источник

Создание компонента Joomla с нуля. Часть 2. PHP файл

В прошлой статье мы создали компонент. Создали XMl файл, в котором прописали название компонента. Если упаковать данный файл в zip архив (упаковывать нужно именно XML файл и все содержимое папки, а не саму папку) то такой компонент легко устанавливается в Joomla. Однако он. очевидно, ничего не делает. Бизнес логику компонента выполняют php файлы. Минимум, это может быть всего один файл в корне компонента с названием компонента. К примеру, если наш компонент называется com_moy_component то название php файла должно быть таким moy_component.php

Упаковывает его в zip архив и устанавливать его заново. не обязательно. Если компонент с прошлого урока был у вас уже установлен, то просто добавляем к нему этот файл прямо не сервер и все работает. Работает это так примитивно, что по началу думаешь, а зачем же тогда нужна joomla. Если написать в файле

а затем войти на сайт по адресу http://sitename.ru/index.php?option=com_moy_component то вы сразу же увидите эту надпись. Вот и все, компонент работает. Теперь в нем можно прописывать любую необходимую логику. совсем не обязательно, что это будет связано с joomla. Вы вольны писать на обычном php, без какой либо привязки к API. В этом есть своя прелесть.

Конечно, в использовании API Joomla тоже есть свои плюсы. Это как выбрать какой лучший смартфон использовать, всегда придя в магазин электроники, все аппараты ведут себя на высоте. Но стоит ими попользоваться неделю, как все тормоза и глюки всплывают. Так и тут, как только вы напишите несколько строк своего компонента, вы сразу поймете, чего вам не хватает.

Ряд моментов. которые нужно уметь делать я перечислю.

Чтобы подключить необходимые скрипты, можно написать прямо в файле

А можно сделать это через API Joomla, чтобы файл был добавлен в head страницы. делается это так

CSS подключаются аналогично

Еще один момент. В joomla принято в каждом файле в самом начале прописывать такую конструкцию

это нужно для того, чтобы какой-нибудь предприимчивый программист, не сделал на своем сайте такое

Ну я думаю вы догадались, что с этим делать.

Источник

Поделиться с друзьями
КомпСовет
Adblock
detector