Плагин Shortcode Ultimate Plugin For Joomla

Подскажите, как добавить к форме обратной связи соглашение о конфиденциальности?
 
Доброго времени суток!
Можно ли как-то сделать так, чтобы Спойлер или Drawer не перекрывали при развороте футер, а наоборот, "растягивали" его. Что-то никак не могу победить возникшую проблему.

Ниже скрин, если развернуть, то видно, как Drawer или спойлер перекрывает низ страницы и нет возможности прокрутить вниз.

Для просмотра ссылки Войди или Зарегистрируйся

На этом скрине не развернутый спойлер и видно футер.

Для просмотра ссылки Войди или Зарегистрируйся

Кто-то сталкивался с подобным?
Буду безкрайне рад любому совету!
Заранее спасибо!
 
Скорее всего это вопрос не к плагину, а к вашим CSS. Начните со значения position блока с контентом.

В 3.7.1 не отображается Разделитель. Пробовал на чистом шаблоне Joomla 3.7.5, вставляет только код в страницу и всё, ошибок в консоли тоже нет.
HTML:
<div class="sp-divider clearfix" style="margin-top:18px; margin-bottom:18px; border-top:0;"></div>
 
Последнее редактирование модератором:
Как установить размер миниатюры в портфолио?
 
Подскажите плз, как вставить шорткод в php
 
Подскажите плз, как вставить шорткод в php
Попробуйте просто вывести в темплейте <?='[shortcode]'; ?> Если не работает - копируйте стили (классы css) и структуру с уже выведенного шорткода.
 
Подскажите плз, как вставить шорткод в php

Для вывода любого шорткода в любом месте php кода нужно сделать следующее
  1. создать новый модуль с типом "HTML код";
  2. в нём разместить нужный шорткод или группу шорткодов. Важно! Не забыть в вкладке "Осн. параметры" включить "Обработка плагинами в положение" Да.
  3. Сохранить и закрыть редактирование модуля.
Далее, реализуете вывод содержания модуля. Для этого в нужном вам месте файла php размещаете код
Код:
jimport( 'joomla.application.module.helper' ); / /подключаем требуемый класс
$module = JModuleHelper::getModules('nazvanie_modula'); //заполняем массив модулями, опубликованных в позиции nazvanie_modula
$attribs['style'] = 'none'; //указываем стиль вывода модуля
JModuleHelper::renderModule($module[0], $attribs); //выводим первый модуль из заданной позиции
 
Для вывода любого шорткода в любом месте php кода нужно сделать следующее
  1. создать новый модуль с типом "HTML код";
  2. в нём разместить нужный шорткод или группу шорткодов. Важно! Не забыть в вкладке "Осн. параметры" включить "Обработка плагинами в положение" Да.
  3. Сохранить и закрыть редактирование модуля.
Далее, реализуете вывод содержания модуля. Для этого в нужном вам месте файла php размещаете код
Код:
jimport( 'joomla.application.module.helper' ); / /подключаем требуемый класс
$module = JModuleHelper::getModules('nazvanie_modula'); //заполняем массив модулями, опубликованных в позиции nazvanie_modula
$attribs['style'] = 'none'; //указываем стиль вывода модуля
JModuleHelper::renderModule($module[0], $attribs); //выводим первый модуль из заданной позиции
Как все сложно то. Не проще в любом другом месте, где плагин работает нормально, например в статье материалов Joomla, вставить шорткод, посмотреть, какой html код он генерирует, и скопировать получившееся в php файл.
 
Так действительно проще, но работает далеко не со всеми шорткодами. Например, с очень востребованным шорткодом "Модальная ссылка" так сделать не получится, т.к. под этот html контент каждый раз генерится несколько кусков js и css, которые для оптимизации производительности еще и разбросаны в правильные для них места.
Но и с модулем городить тоже далеко не всегда получится, особенно когда в него надо данные передать.
В связи с этим вопрос: как можно с помощью Joomla API принудительно включить обработку плагинами для произвольной области страницы? Это было бы простым универсальным решением.
 
Покопался в API и сам себе отвечу. Просто в php вставляем код:
PHP:
$text = 'ЗАМЕНИТЕ НА КОД, КОТОРЫЙ ВАМ СГЕНЕРИЛ SHORTCODE ULTIMATE ДЛЯ ВСТАВКИ В КОНТЕНТ';
$plgRender = new stdClass;
$params = new JObject;
$plgRender->text = $text;
JPluginHelper::importPlugin('content');
$dispatcher =& JDispatcher::getInstance();
$dispatcher->trigger('onContentPrepare', ['com_content.article', &$plgRender, &$params]);
echo $plgRender->text;
Проверял на шаблоне карточки товара Virtuemart. Для удобства можно из этого запилить функцию.
 
Последнее редактирование:
Назад
Сверху