Новости Joomla

Обновление модуля WT Quick links v.2.3

Обновление модуля WT Quick links v.2.3

Обновление модуля WT Quick links v.2.3.0Модуль позволяет создавать быстрые наборы элементов: ссылки на различные сущности на сайте Joomla: категории материалов, Virtuemart, JoomShopping, пункт меню или пользовательскую ссылку. Есть условия для исключений показа элементов списка.Вы можете создавать собственные макеты вывода модуля, создавая таким образом почти всё, что угодно: от простого списка ссылок до стены фотографий на главную страницу или ссылки-теги для перелинковки категорий интернет-магазина. Модуль позволяет выводить изображения, адаптивные изображения, видео, адаптивные видео. Также это могут быть не только ссылки, но и список вопросов FAQ, элементы Bootstrap Tabs, Accordion и т.д.v.2.3.0 Что нового?- Собственные макеты для ссылокТеперь для каждой ссылки можно указать собственный макет из папки

/tmpl/sublayout/. Для использования модуля в этом режиме, необходимо выбрать макет модуля -
default-sublayouts или создать собственный вариант этого макета. - Обработка плагинами контентаСодержимое поля Дополнительный текст для ссылки теперь обрабатывается плагинами контента.- Поле примечанияДобавлено поле примечания для ссылки. Это удобно ориентации в большой форме.- Рефакторинг кодаПроведена чистка и улучшения кода.
Страница расширенияGitHub#расширения #virtuemart #JoomShopping

Плагин вставки языковых констант в контент Joomla

Плагин вставки языковых констант в контент Joomla.Плагин позволяет вставлять значения языковых констант в статьи, модули и другой контент Joomla с помощью синтаксиса
{langos LANGUAGE_CONSTANT}.При создании мультиязычного сайта на Joomla вы часто сталкиваетесь с ситуацией:
Нужно изменить всего несколько слов в модуле или статье в зависимости от языка — но приходится создавать отдельные копии контента для каждой языковой версии. Это неудобно и требует лишних усилий.👩‍💻 Решением проблемы становится плагин Langos.Langos позволяет вставлять языковые константы прямо в контент с помощью простого синтаксиса:
{langos YOUR_LANGUAGE_CONSTANT}
Это работает как вызов
\Joomla\CMS\Language\Text::_('YOUR_LANGUAGE_CONSTANT'), но без необходимости программировать или редактировать шаблоны.Кроме того, плагин поддерживает загрузку языковых файлов конкретных расширений, например модулей или компонентов. Для этого просто укажите третий аргумент в шорткоде:
{langos MOD_FOOTER_LINE1, mod_footer}
Теперь плагин загрузит языковую константу из соответствующего языкового файла именно этого расширения.Ключевые особенности плагина🚀 Результаты работы плагина сохраняются в кэше, что положительно влияет на производительность сайта🔁 Совместим с Joomla Cache, JotCache и другими популярными системами кэширования🧩 Вставка языковых констант в любые элементы контента: статьи, модули и т.д.🌐 Полная интеграция с системой мультиязычности Joomla🔌 Работает «из коробки» с любыми стандартными типами контента🛠 Не требует навыков программирования🧪 Подходит для использования визуальными редакторами и не-программистами📦 Поддержка загрузки языковых файлов конкретных расширений🎯 Идеален для динамической замены текста в разных языкахСистемные требованияJoomla >=4.2 | 5.xPHP >= 7.4Разработчик плагина - участник нашего сообщества Артём Васильев (
@kernusr). Скачать плагин с GitHub и документация.#joomla #расширения

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

ilunga

  • Осваиваюсь на форуме
  • 41
  • 0 / 0
Доброго дня.

Вставляю модуль в шаблон компонента через модульную позицию.
Конкретнее: вставляю плеер в форумный профиль юзера, использую стандартную схему.

Код: php
<?php
jimport( 'joomla.application.module.helper' );
$module = JModuleHelper::getModules('our-module');
$attribs['style'] = 'xhtml';
echo JModuleHelper::renderModule($module[0], $attribs);
?>

Всё выводится корректно, без проблем.

Но необходимо изменить одну переменную (путь к именной папке юзера), которая задаётся внутри вставляемого модуля.
Поэтому в принимающем шаблоне я объявляю переменную ДО кода позиции:

Код: php
$userProfile = JFactory::getUser($profile->id)->username;

А в коде встраиваемого модуля устанавливаю условие, которое должно менять значение модульной переменной ($nmapdir), если модуль работает на странице профиля:

Код: php
if (isset($userProfile) ) {
   $nmapdir = 'mp3/' . $userProfile;
} else {
   ...
}

Я ожидаю, что при загрузке модуля в компонент уже объявленная выше переменная ($userProfile) будет прочитана, и сработает условие. Само по себе условие работает (проверял прямой вставкой переменной в код модуля).

Но загружаемый модуль не видит эту переменную в упор, если она находится в принимающем файле. Я пробовал её объявлять и как глобальную, вставлять в разные места - до, внутрь и после кода позиции, но безрезультатно.

Подскажите пожалуйста, как заставить встроенный в позицию шаблона модуль увидеть переменную из этого шаблона?
*

ilunga

  • Осваиваюсь на форуме
  • 41
  • 0 / 0
Как передать переменную из компонента в модуль
да, спасибо.

Но после применения этого метода возникла частная проблема в работе условия: оно не работает, если одновременно открыты две страницы с модулем (одна из которых в компоненте) - видимо, потому, что переменная присутствует на обоих?
*

Fedor Vlasenko

  • Живу я здесь
  • 3845
  • 733 / 7
  • https://fedor-vlasenko.web.app
Но после применения этого метода возникла
там несколько решений около 5. Пробуйте остальные. К примеру
Код: php-brief
//устанавливаем
$doc = JFactory::getDocument();
$doc->test = 'AAAA';
// и нужном месте выводить
$doc = JFactory::getDocument();
echo $doc->test; // AAAA'
*

ilunga

  • Осваиваюсь на форуме
  • 41
  • 0 / 0
там несколько решений около 5. Пробуйте остальные.
спасибо.
В силу моего очень поверхностного знания php, я мало понял вашу запись,
но решил эту проблему методом назначения пустого значения переменной в сессии после её использования.   
*

ilunga

  • Осваиваюсь на форуме
  • 41
  • 0 / 0
у меня остался по этой теме один соседний вопрос:

методом
Код: php
JFactory::getUser($profile->id)->username
удаётся получить только id, name, username, email.
Но не удаётся получить usertype и gid.

А мне нужно выводить модуль для всех групп, кроме одной (чей id=11).
Всё уже работает, только это условие хромает :(

Как получить usertype и gid в Joomla 3.x?

Посмотрел тут, но мало чего понял:
How to get a users usergroup?$user->get('usertype')depricate
« Последнее редактирование: 07.11.2015, 18:13:17 от ilunga »
*

passer

  • Завсегдатай
  • 1013
  • 75 / 3
Смотрите не через echo, а через var_dump()
Видимо usertype и gid не строка, а массив или обьект.
Код: php
var_dump(JFactory::getUser($profile->id)->usertype);
*

ilunga

  • Осваиваюсь на форуме
  • 41
  • 0 / 0
Смотрите не через echo, а через var_dump()
Видимо usertype и gid не строка, а массив или обьект.
это, конечно, так. Но такой код выдаёт NULL.
« Последнее редактирование: 07.11.2015, 18:39:30 от ilunga »
*

passer

  • Завсегдатай
  • 1013
  • 75 / 3
Код: php
var_dump(JFactory::getUser($profile->id));
*

ilunga

  • Осваиваюсь на форуме
  • 41
  • 0 / 0
Код: php
var_dump(JFactory::getUser($profile->id));
да, очень-очень спасибо.

Рабочий код получается типа такого:
Код: php
<?php $UserProfile = JFactory::getUser($profile->id);
if(in_array(11, $UserProfile->groups)): ?>

Осталась сущая малость - обратить условие: не группа id=11, а все  группы, кроме 11.
Но не знаю, как это сделать.
Или просто перечислить все группы?
« Последнее редактирование: 07.11.2015, 19:37:58 от ilunga »
*

passer

  • Завсегдатай
  • 1013
  • 75 / 3
Код: php
if(!in_array(11, $UserProfile->groups)):
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Пример создания модуля с прикреплением файлов

Автор Zelyonkin

Ответов: 7
Просмотров: 811
Последний ответ 02.08.2021, 17:04:15
от Zelyonkin
Отображение модуля меню на странице материала

Автор kunsaid

Ответов: 9
Просмотров: 890
Последний ответ 21.07.2021, 10:50:29
от kunsaid
[Решено] CSS-класс заголовка модуля

Автор schel4ok

Ответов: 36
Просмотров: 18310
Последний ответ 06.04.2021, 23:35:20
от Wak
Добавление модуля в шапку

Автор Bazaroff

Ответов: 8
Просмотров: 683
Последний ответ 18.01.2021, 19:59:58
от AlexB
Проблемы с ajax при выводе модуля

Автор Lemonez

Ответов: 6
Просмотров: 684
Последний ответ 21.12.2020, 05:16:55
от draff