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

timofe

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

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

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

sivers

  • Завсегдатай
  • 1568
  • 216 / 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

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

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

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

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

rsn

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

Как вывести заголовок страницы браузера в произвольном месте через php?

Автор kiev

Ответов: 4
Просмотров: 72
Последний ответ 12.02.2021, 16:50:57
от kiev
Как в хлебных крошках вывести заголовок страницы?

Автор zahar_92

Ответов: 4
Просмотров: 108
Последний ответ 10.02.2021, 09:20:25
от zahar_92
Вывести на странице категории товары только первой подкатегории Virtuemart3?

Автор Damarkuzz

Ответов: 1
Просмотров: 88
Последний ответ 01.02.2021, 01:13:48
от Damarkuzz
Модуль Yandex map

Автор baren

Ответов: 6
Просмотров: 166
Последний ответ 11.01.2021, 14:36:32
от baren
Как вывести товары имеющие уникальное имя в VirtueMart 3?

Автор Damarkuzz

Ответов: 2
Просмотров: 95
Последний ответ 07.01.2021, 15:24:40
от Damarkuzz