0 Пользователей и 1 Гость просматривают эту тему.
  • 5 Ответов
  • 3645 Просмотров
*

Tokyo

  • Захожу иногда
  • 87
  • 5 / 0
Как при помощи php вывести модуль в стороннем компоненте? хочу в компонент один вставить созданный mod_custom с инфой в одном месте
*

era

  • Администратор
  • 1587
  • 391 / 5
  • В туалете лучше быть пользователем, чем админом.
Re: Вывести модуль при помощи php
« Ответ #1 : 21.04.2011, 13:29:58 »
Примерно так попробуй:
Код
$item_mod = <тут ID модуля, из менеджера модулей>;

if ($item_mod) {
$modules =& JModuleHelper::_load();
$total = count($modules);

if ($total) {
for($i = 0; $i < $total; $i++) {
if($modules[$i]->id == $item_mod) {
$cur_mod =& $modules[$i];
break;
}
}
if (isset($cur_mod)) {
$document = &JFactory::getDocument();
$renderer = $document->loadRenderer('module');
echo $renderer->render($cur_mod, $cur_mod->params);
}
}
unset($cur_mod);
}

вместо ID модуля можно использовать позицию для модулей, типа 'my-component', для этого:
вместо
Цитировать
$item_mod = <тут ID модуля, из менеджера модулей>;
пишем имя позиции модулей.
+
вместо
Цитировать
         if($modules[$i]->id == $item_mod) {
делаем:
Цитировать
         if($modules[$i]->position == $item_mod) {
*

Tokyo

  • Захожу иногда
  • 87
  • 5 / 0
Re: Вывести модуль при помощи php
« Ответ #2 : 21.04.2011, 13:41:28 »
работает! спасибо. можно еще 1 вопрос? :

он выводит содерживое модуля, а как выводить и название? я там понял надо какой-то еще параметр указать?

вот в случае шаблона <jdoc:include type="modules" name="right" style="table" /> мне нравилось что в файле в папке шаблона html/modules.php можно было прописать индивидуальный стиль table

Код
function modChrome_table($module, &$params, &$attribs)
{
}

а где в ваше коде вставить этот table?
*

era

  • Администратор
  • 1587
  • 391 / 5
  • В туалете лучше быть пользователем, чем админом.
Re: Вывести модуль при помощи php
« Ответ #3 : 21.04.2011, 14:35:22 »
обрамляй "echo $renderer->render($cur_mod, $cur_mod->params);" вокруг - это и есть мм.м... тело модуля
*

Tokyo

  • Захожу иногда
  • 87
  • 5 / 0
Re: Вывести модуль при помощи php
« Ответ #4 : 22.04.2011, 00:27:39 »
так этот способ заголовок почему-то не выводит
*

era

  • Администратор
  • 1587
  • 391 / 5
  • В туалете лучше быть пользователем, чем админом.
Re: Вывести модуль при помощи php
« Ответ #5 : 22.04.2011, 14:02:20 »
потому-что заголовок выводит шаблон сайта.

здесь тебе ручками надо будет обрамлять как я и написал:
Цитировать
echo $renderer->render($cur_mod, $cur_mod->params);
заменить на
Код
?>
<table cellpadding="0" cellspacing="0" class="moduletable">
<tr>
<th valign="top">
<?php echo $cur_mod->title; ?>
</th>
</tr>
<tr>
<td>
<?php
echo $renderer->render($cur_mod, $cur_mod->params);
?>
</td>
</tr>
</table>
<?php
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Модуль отправки e-mail сообщений

Автор zt.Dan4ik

Ответов: 6
Просмотров: 3915
Последний ответ 05.02.2014, 10:12:45
от svetka_777
Модуль КУРС ВАЛЮТ J1.5 Native (Почти готов)

Автор Abix

Ответов: 168
Просмотров: 39952
Последний ответ 21.08.2011, 00:01:32
от DimNsk
Модуль определения позиций сайта в Google

Автор Виталик

Ответов: 6
Просмотров: 2305
Последний ответ 03.05.2011, 23:11:16
от dm888
Не могу установить ни один модуль корректно

Автор sin0ptik

Ответов: 2
Просмотров: 1695
Последний ответ 22.03.2011, 17:33:08
от sin0ptik
Как узнать в какой позиции выводится модуль?

Автор mic_2000

Ответов: 4
Просмотров: 2009
Последний ответ 23.06.2010, 00:12:56
от beagler