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

timofe

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

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

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

sivers

  • Живу я здесь
  • 2340
  • 317 / 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 имя_позиции_модуля}");
На связи в telegram @sivers
sivers @ inbox . ru
https://sivers.su/
*

timofe

  • Захожу иногда
  • 142
  • 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

  • Давно я тут
  • 520
  • 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

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

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

rsn

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

Модуль для опросов Advanced Poll не работает

Автор Escander

Ответов: 15
Просмотров: 898
Последний ответ 02.06.2023, 20:10:22
от kzalmatuy1
Один модуль влияет на другой, как?

Автор mag_num83

Ответов: 5
Просмотров: 202
Последний ответ 17.05.2023, 10:05:55
от sivers
Модуль «Материалы - Новости» выводит неправильное количество материалов

Автор goga_pgasovav

Ответов: 1
Просмотров: 263
Последний ответ 20.03.2023, 19:30:45
от goga_pgasovav
Как периодически показывать/скрывать модуль в указанные даты?

Автор Slava77

Ответов: 7
Просмотров: 369
Последний ответ 08.03.2023, 10:25:20
от ProtectYourSite
Модуль Яндекс карты выдает ошибку Warning: count(): Parameter must be an array

Автор 62411

Ответов: 0
Просмотров: 233
Последний ответ 19.02.2023, 13:34:54
от 62411