Вопрос по джумле. Как сделать "модуль"

Статус
В этой теме нельзя размещать новые ответы.

KidOk

Создатель
Регистрация
6 Янв 2008
Сообщения
25
Реакции
0
Как вставить на место обычного модуля свой скрипт (PHP).
Если я просто создаю в модулях сам модуль, и вставляю туда скрипт. Он на главной странице просто его отображает =)
А как сделать чтобы скрипт там функцианировал.
 
А ты попробуй не через редактор ТиниМайс, а через простой ХТМЛ редактор...Измени в Меню юзеры
 
я клонировал модули : )
берёшь любой модуль из папки modules, копируешь его и переименовываешь вместе с xml. Потом исправляешь. Важно, чтоб xml был корректным.
Например вот mod_my.php:
PHP:
<?php require('die.php');

if (!defined( 'MY_MODULE' )) {
	/* обеспечивает запуск функции только один раз */
	define( 'MY_MODULE', 1 );

	defined('BR') or define ('BR', "\n");

	require_once 'my/tree.php';
	require_once 'my/firmscat.php';
	function my_catalog(){
		$F = new CFirmsCat();
		$tree = new CTree();
		$tree->Generate($F->GetFullCat());
	}

	function my_sun(){?>
		<div id="sun"></div>
	<?php }

	function my_picture(){
	?>
		<div id="picture">
			<div id="pictxt"><span style="color:orange">/</span><span style="color:blue">/</span><span style="color:purple">/</span> здесь нет границ <span style="color:lime">/</span><span style="color:yellow">/</span><span style="color:orange">/</span></div>
		</div>
	<?php
	}

	function my_rbc(){
		global $mosConfig_live_site;
	?>
		<div id="rbc"><img src="<?php echo $mosConfig_live_site; ?>/modules/my/cbr.php" width="88" height="41" alt="Курс доллара ЦБ РФ" /></div>
	<?php
	}
}//ifndef

$item = $params->get('item');

switch ($item) {
case 'picture'	: my_picture(); break;
case 'sun'	: my_sun(); 	break;
case 'rbc'	: my_rbc(); 	break;
case 'catalogue': my_catalog();	break;
default:
	echo 'strange...';
}

?>

В него потом можно добавлять новые и новые функции. Они через админку выбираются.
Вот xml:
PHP:
  <?xml version="1.0" encoding="utf-8" ?> 
- <mosinstall type="module" version="1.0.0">
  <name>MyModule</name> 
  <author>MoMoRez</author> 
  <version>0.1</version> 
- <files>
  <filename module="mod_my">mod_my.php</filename> 
  </files>
- <params>
  <param name="item" type="text" default="" label="Что будем показывать" description="Только надо знать точное значение, т.к. всё прописано в коде %Р" /> 
  </params>
  </mosinstall>

param name="item" как раз связывает параметр из админки с параметром, попадающим в модуль ($item = $params->get('item');)
Можно всё это загнать в zip (или не загонять) и проинсталлить как обычный модуль. А потом просто добавлять новые функции, если потребуется.
 
ну вообще то лучше свой модуль с нуля писать .. а как правильно хмл написать ето просто глянуть в любой хмл файлик в папке modules .. если знаеш пхп то создать уже пхп-ный файлик не составить никакого труда, а чтоб ево еще можно было роинсталировать так ето просто заархивовать зипом и всьо остальное дело техники (тоисть админки)
 
Я делал немного по другому...
Берешь любой модуль из папки modules (состоит из 2 файлов: php и xml) и php засовываешь то, что тебе нужно, в xml в нужных местах правишь имя файла php и будет тебе счастье. Главное не забыть заменить имена файлов в содержимом и все будет работать. Таким макаром я уже более 50 нужных мне модулей сделал, в т.ч. и для сапы.
 
Я делал немного по другому...
Берешь любой модуль из папки modules (состоит из 2 файлов: php и xml) и php засовываешь то, что тебе нужно, в xml в нужных местах правишь имя файла php и будет тебе счастье. Главное не забыть заменить имена файлов в содержимом и все будет работать. Таким макаром я уже более 50 нужных мне модулей сделал, в т.ч. и для сапы.

выложи модуль для сапы - если не сложно, плиз )
 
Альтернатива, или вариант из каменного века :) : делаешь через wrapper. То есть пихаешь свой скрипт куда небуд, потом врапперром даешь силку прям на скрипт.
 
Возьми подуль mod_php и будет тебя счастье.
 
Статус
В этой теме нельзя размещать новые ответы.
Назад
Сверху