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

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

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


<form action="абсолютный адрес страницы на которой оубликован php-код" method="post">
<table border=0 cellspacing=0 cellpadding=2>
<tr>
<td>
Первое слагаемое:
</td>
</tr>
<tr>
<td>
<input type="text" name="p" value="<?php echo $_REQUEST['p'] ?>"><br />
</td>
</tr>
<tr>
<td>
Второе слагаемое:
</td>
</tr>
<tr>
<td>
<input type="text" name="v" value="<?php echo $_REQUEST['v'] ?>"><br />
</td>
</tr>
<tr>
<td>
<input type="submit" name="submit" value="Рассчитать"/>
</td>
</tr>
<tr>
</table>
</form>
<?php
echo $_REQUEST['p'].'<br>';
echo $_REQUEST['v'].'<br>';
echo 'Сумма:' .($_REQUEST['p'] + $_REQUEST['v']);
?>

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


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;
}

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

__________________________________________________________________________________________________________________

скачать joomla | обновление joomla | модуль joomla | администрирование | seo продвижение | joomla магазиншаблоны сайтов

обратная связь 

При копировании материала ссылка на сайт joomla4.ru обязательна.