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

timofe

  • Захожу иногда
  • 120
  • 0 / 0
  • alex tim.
Вывести модуль в iframe
« : 08.12.2020, 16:13:18 »
Всем привет!

Стоит задача:
Есть страница, в которой выводится фреймом файл php
В этом файле текст и картинки, но нужно еще вывести один из модулей Joomla

Google толком не помог(
*

sivers

  • Завсегдатай
  • 1639
  • 226 / 0
Re: Вывести модуль в iframe
« Ответ #1 : 08.12.2020, 16:44:33 »
Стоит задача...
В своем пхп-скрипте подключить фреймворк сперва (на форме поищите фразу "подключить фреймворк" - много раз обсуждалось), затем подтянуть позицию модуля. Модуль должен быть прикреплен к этой позиции. Если у вас там несколько модулей в позиции, то создайте отдельную и подключите к ней клон модуля. Вывод позиции можно сделать так:
Код
    $doc = JFactory::getDocument();    
    $renderer = $doc->loadRenderer('modules');
    $options = array('style' => 'raw');
    $position = 'имя_позиции_модуля';
    echo $renderer->render($position, $options, null);
или так:
Код
echo JHtml::_('content.prepare', "{loadposition имя_позиции_модуля}");
На связи в телеге @sivers
*

timofe

  • Захожу иногда
  • 120
  • 0 / 0
  • alex tim.
Re: Вывести модуль в iframe
« Ответ #2 : 08.12.2020, 17:15:18 »
Спасибо!
Победа произошла так:

В корне сайта файл "iframe.php"
В нем:

<?php
define('_JEXEC', 1);
define('JPATH_BASE', $_SERVER['DOCUMENT_ROOT'] );
define('DS', DIRECTORY_SEPARATOR);
require_once(JPATH_BASE.DS.'includes'.DS.'defines.php');
require_once(JPATH_BASE.DS.'includes'.DS.'framework.php');
$app = JFactory::getApplication('site');
$app->initialise();
?>

<?php
$doc = JFactory::getDocument();   
    $renderer = $doc->loadRenderer('modules');
    $options = array('style' => 'none');
    $position = 'iframe';
    echo $renderer->render($position, $options, null);
?>


-----
Проверил, так же работает и не в корне сайта
« Последнее редактирование: 08.12.2020, 17:31:56 от timofe »
*

rsn

  • Давно я тут
  • 512
  • 34 / 3
Re: Вывести модуль в iframe
« Ответ #3 : 08.12.2020, 18:51:05 »
В своем пхп-скрипте подключить фреймворк сперва (на форме поищите фразу "подключить фреймворк" - много раз обсуждалось), затем подтянуть позицию модуля. Модуль должен быть прикреплен к этой позиции. Если у вас там несколько модулей в позиции, то создайте отдельную и подключите к ней клон модуля. Вывод позиции можно сделать так:
Код
    $doc = JFactory::getDocument();    
    $renderer = $doc->loadRenderer('modules');
    $options = array('style' => 'raw');
    $position = 'имя_позиции_модуля';
    echo $renderer->render($position, $options, null);
или так:
Код
echo JHtml::_('content.prepare', "{loadposition имя_позиции_модуля}");

Хорошее решение! @sivers, а с выводом конкретного модуля - наверняка же тоже есть вариант?
Сам не сталкивался, просто интересно. Есть мысли применить это в будущем.
Возможно, будет интересно: Интеграция с Ozon
*

sivers

  • Завсегдатай
  • 1639
  • 226 / 0
Re: Вывести модуль в iframe
« Ответ #4 : 08.12.2020, 23:20:27 »
а с выводом конкретного модуля - наверняка же тоже есть вариант?
Искал такой вариант как-то. Нашёл как тянуть модуль по его заголовку. Но это показалось неудобным. А вот как дергать по ИД - не нашёл простого способа. В итоге пользуюсь рендерингом позиции.

Кстати, при подключении фреймворка в своём скрипте инициализацию вроде бы делать не обязательно (последняя строчка).
На связи в телеге @sivers
*

rsn

  • Давно я тут
  • 512
  • 34 / 3
Re: Вывести модуль в iframe
« Ответ #5 : 09.12.2020, 07:25:18 »
Понял, спасибо, что поделились @sivers.
Возможно, будет интересно: Интеграция с Ozon
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Как по конкретному id вывести название статьи?

Автор Аня

Ответов: 4
Просмотров: 121
Последний ответ Сегодня в 14:32:42
от v42bis
Вывести определенный ТЕГ

Автор lgmax

Ответов: 2
Просмотров: 139
Последний ответ 30.04.2021, 12:53:05
от lgmax
Как вывести потоковое видео на сайт через api?

Автор V1RTUS

Ответов: 0
Просмотров: 86
Последний ответ 22.04.2021, 02:05:39
от V1RTUS
Своя позиция и модуль как картинка

Автор cirip

Ответов: 2
Просмотров: 159
Последний ответ 03.04.2021, 14:15:18
от cirip
Модуль материалы новости. Пропустить текущий материал ((php))

Автор Osprey

Ответов: 4
Просмотров: 288
Последний ответ 13.03.2021, 13:54:31
от Osprey