Новости Joomla

Вышел WT Quick links v.2.4.0 - релиз модуля для Joomla

Вышел WT Quick links v.2.4.0 - релиз модуля для Joomla.Это модуль-конструктор для быстрого создания набора элементов. Это могут быть ссылки на компоненты Joomla, пункт меню или пользовательская ссылка. Есть условия для исключений показа элементов списка. Вы можете создавать собственные макеты вывода модуля, создавая таким образом почти всё, что угодно: от простого списка ссылок до стены фотографий на главную страницу или ссылки-теги для перелинковки категорий интернет-магазина, список FAQ, табы или аккордеоны. Модуль позволяет выводить изображения, адаптивные изображения, видео, адаптивные видео.v.2.4.0. Что нового?Добавлена поддержка новых компонентов. Добавлены новые типы ссылок и исключений для них: - Phoca Download, - Phoca Gallery, - RadicalMart (@radicalmart).Joomla 6. Успешно протестирована работа модуля на Joomla 6-alpha2.РазработчикамПроведён большой рефакторинг кода. Для типов ссылок созданы классы-драйверы. Теперь для того, чтобы добавить новый тип ссылки в модуль достаточно скопировать класс-образец из
modules/mod_wt_quick_links/src/Driver/Collection и наполнить его данными по образцу, а так же добавить необходимые языковые константы в панели администратора Joomla.Модуль бесплатный. Страница расширенияGitHub расширенияJoomla Extensions Directory👩‍💻 Подпишись на @joomlafeed.#joomla #разработка

Свои типы полей в Joomla.Это большая тема, о которой можно говорить очень много

Свои типы полей в Joomla.Это большая тема, о которой можно говорить очень много

👩‍💻 Свои типы полей в Joomla.Это большая тема, о которой можно говорить очень много. Самое главное, что возможности применения ограничиваются только вашей больной фантазией. Вы строите интерфейс своего модуля или плагина и вам нужно подтянуть данные из сторонней системы (список чего-нибудь по какому-нибудь API), чтобы сохранить выбранный id в Joomla. Или сделать какую-то проверку и в зависимости от неё показать то или иное сообщение пользователю. Для этого подойдут свои пользовательские типы полей. Интерфейс Joomla по большей части описан в XML-файлах. У каждого из них свои параметры. Некоторые не описаны в документации (manual.joomla.org), поэтому самым любопытным будет полезно заглянуть в собственно файлы фреймворка по пути

libraries/src/Form/FormField.php, а так же в
libraries/src/Form/Fields. У каждого класса поля перечислены его специфические свойства, которые можно описывать в XML. А в своём типе поля вы можете устанавливать эти значения программно. В моём модуле WT Quick links под капотом происходят изменения. Теперь для работы (в админке) ему нужен вспомогательный плагин. А в самом модуле нам бы проверить, а не выключен ли он? В Joomla есть тип поля Note - заметка. Его можно использовать для вывода примечаний.

<field type="note"     name="your_note_for_user"     label="Заголовок примечания"     title="Альтернативный способ для заголовка"     description="Текст примечания"     class="col-12 alert alert-info"     heading="h1"     close="true"/>
heading - указывать уровень заголовка.
close - позволяет закрыть это примечание. В классе поля
libraries/src/Form/Field/NoteField.php описана логика вывода. И в принципе оно нам подходит для нашей задачи. Но оно будет выводить сообщение всегда, а нам нужно только тогда, когда плагин отключён.Поэтому берём и создаём свой класс поля, который мы унаследуем от
NoteField. Это значит, что у нас в руках будет весь инструментарий стандартного поля
Note + то, что мы сами добавим. В XML-манифест добавляем наше поле
<field type="systempluginstatus"      name="systempluginstatus"     addfieldprefix="Joomla\Module\Wtquicklinks\Site\Fields"/>
-
type - имя файла и класса,-
addfieldprefix - указываем namespace к нашему классу, может быть любой нам нужный-
name - нельзя полю без имени...Это означает, что Joomla будет использовать класс поля из файла
modules/mod_wt_quick_links/src/Fields/SystempluginstatusField.php.А в классе поля будет написано следующее:
<?php// namespace для атрибута addfieldprefixnamespace Joomla\Module\Wtquicklinks\Site\Fields;// нельзя напрямую обращаться к этому файлуdefined('_JEXEC') or die;// подключаем родительский класс для переопределенияuse Joomla\CMS\Form\Field\NoteField;use Joomla\CMS\Language\Text;use Joomla\CMS\Plugin\PluginHelper;// имя класса и имя файла точь-в-точьclass SystempluginstatusField extends NoteField{     protected $type = 'Systempluginstatus';     protected function getLabel()          {               // если плагин не включён               if(PluginHelper::isEnabled('system','wtquicklinks')) {                    // меняем свойства родительского класса                    $this->class = 'alert alert-danger w-100';                    $this->element['label'] = '⚠️ А-а-а-а!';                    $this->element['description'] = 'Плагин не включён!!';                    // и просто рендерим его с нашими свойствами                    return parent::getLabel();               }          // А иначе всё хорошо, скрываем поле из виду.          $this->parentclass = 'd-none';          return '';     }}
Просто и удобно. И людям приятно, что о них позаботились и рассказали почему что-то не работает.@webtolkru#joomla #php #webdev #разработка

Обновлена информация в Плане развития Joomla

👩‍💻 Обновлена информация в Плане развития Joomla.Здесь собрана информация о датах релизов, описаны принципы версионирования, указаны ответственные за релизы, а так же даты окончания поддержки релизов. Опираясь на эту информацию вы можете планировать развитие ваших интернет-проектов.👩‍💻 Что нового?⛔️ Joomla 4.Дата окончания исправления ошибок безопасности в версии 4.x - 14 октября 2025г. ⚠️ После этой даты Joomla 4 прекратит получать какие-либо обновления, в том числе безопасности - вообще. Рекомендуем обновить ваши сайты до актуальной Joomla 5.✅ Joomla 5.- Дата окончания исправления ошибок в версии 5.x - 13 октября 2026г.- Дата окончания исправления ошибок безопасности в версии 5.x - 12 октября 2027 года.- Текущая актуальная (на момент написания заметки) версия - 5.3.1.- Опубликовано расписание выхода релизов Joomla 5.4. Стабильный релиз ожидается 14 октября 2025 года.✅ Joomla 6.- Дата окончания исправления ошибок в версии 6.x - 17 октября 2028г.- Дата окончания исправления ошибок безопасности в версии 6.x - 16 октября 2029г.- Опубликовано расписание выхода релизов Joomla 6.0. Стабильный релиз ожидается 14 октября 2025 года.- Для разработчиков уже доступна Joomla 6.0.0-alpha1.✅ Joomla! Framework.Обновлена информация о Joomla! Framework - полноценном PHP-фреймворке для разработки. Он в версиях 1.х и 2.х был самостоятельным параллельным проектом, однако начиная с версии Joomla 4.0 стал её основой. Добавлена информация о Joomla! Framework 3.x, который вышел 6 октября 2023 года. Его можно использовать в тех случаях, когда вам в проекте не нужна CMS Joomla целиком.Подробнее на сайте Joomla-сообщества Joomlaportal.ru#joomla #community

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

booro

  • Осваиваюсь на форуме
  • 22
  • 1 / 0
Скрыть пункт меню
« : 12.03.2009, 13:03:27 »
Подскажите, как скрыть пункт меню от авторизованных пользователей или гостей. На сайте выложены важные документы, но они должны быть в разном качестве, для определенных пользователей в хорошем, для гостей в плохом или с вотермарком. Я пока придумал самый простой вариант, создать два разных материала и в меню делать ссылки на них. Или может это можно сделать как-то динамически? Заходит гость - на изображение добавляется вотермарк, для авторизованного не добавляется. Заранее спасибо.
*

booro

  • Осваиваюсь на форуме
  • 22
  • 1 / 0
Re: Скрыть пункт меню
« Ответ #1 : 16.03.2009, 12:59:01 »
Ни у кого идей нет?)
*

gdX

  • Глобальный модератор
  • 995
  • 128 / 0
  • Открыт к заказам по дизайну
Re: Скрыть пункт меню
« Ответ #2 : 16.03.2009, 13:11:47 »
В списке пунктов меню, в колонке «Доступ» можно выбрать для кого показывать тот или миной пункт.
По умолчанию стоит «Все». Кликните по этому слову и будут перебираться возможные варианты.
*

gdX

  • Глобальный модератор
  • 995
  • 128 / 0
  • Открыт к заказам по дизайну
Re: Скрыть пункт меню
« Ответ #3 : 16.03.2009, 13:15:31 »
На счет выкладывания разных версий документов - думаю, что в таком подходе смысла нет.
Проще сделать так:
Для пользователей просто описание документа (может быть и со скриншотом)
Плюс надпись с ссылкой на регистрацию, что документ могут посмотреть только зарегистрированные пользователи.
*

booro

  • Осваиваюсь на форуме
  • 22
  • 1 / 0
Re: Скрыть пункт меню
« Ответ #4 : 16.03.2009, 13:22:03 »
В списке пунктов меню, в колонке «Доступ» можно выбрать для кого показывать тот или миной пункт.
По умолчанию стоит «Все». Кликните по этому слову и будут перебираться возможные варианты.
Это-то я знаю, просто хотелось и от зарегистрированных скрыть пункт меню, ведущий к документам в плохом качестве, чтобы не путались =) Плодить несколько модулей и меню и выводить их с помощью php if, else не очень хочется =(

На счет выкладывания разных версий документов - думаю, что в таком подходе смысла нет.
Проще сделать так:
Для пользователей просто описание документа (может быть и со скриншотом)
Плюс надпись с ссылкой на регистрацию, что документ могут посмотреть только зарегистрированные пользователи.
Дело в том, что просмотр документа должен быть доступен и незарегистрированным пользователям, но только чтобы они не могли его распечатать и использовать в своих целях =)
*

ecolora

  • Завсегдатай
  • 1535
  • 171 / 2
  • творец
Re: Скрыть пункт меню
« Ответ #5 : 28.01.2011, 08:31:19 »
Очень часто возникает задача, когда нужно скрыть пункт меню после входа пользователя. В админке Joomla можно установить уровень доступа на каждый пункт меню, скажем отображать только для зарегистрированных, либо для всех. Но у нас задача как раз обратная, надо скрыть для зарегистрированных.  Для этих нужд есть одно хитрое решение, основанное на простом CSS и проверке что пользователь вошел.

Суть в том, чтобы сделать пункт невидимым с помощью CSS свойства. Прежде всего убедитесь что меню выводится адекватным способом. Т.е. каждый пунт меню снабжается уникальным классом (к примеру .item1). У стандартного модуля вывода меню есть тип list, он автоматически присваевает классы пунктам меню.

Второй шаг это отслеживать момент, когда пользователь залогинелся(авторизовался на сайте). Проще всего это сделать в коде шаблона. Мы могли бы изменить и код модуля меню. Но данный способ расчитан именно на быстрое решение и без изменения исходных файлов Joomla, плюс редактирование шаблона доступно из админского интерфейса. Итак, код проверки(для шаблона) будет следующий:
Исходный код      

Код
<?php $user =& JFactory::getUser();
if( !$user->guest ) : ?>
<style type="text/css">
#topmenu .item3 { display:none !important; }
</style>
<?php endif; ?>

Само собой не забываем менять класс (.item1) на класс того пункта меню, который надо скрыть.

Когда это может понадобится? Ну допустим у нас есть ссылка «Зарегистрироваться». Мы же не хотим чтобы ее видели те кто уже зашел на сайт.

Используйте всегда и везде для модуля mod_mainmenu тип list. Имхо можно без труда создать допустим трехколоночный вывод, само собой без изменения кода модуля.
Я рифме друг словесной. Тут
Свой упражняю словоблуд:
Блог Ecolora
*

christy2007

  • Новичок
  • 3
  • 0 / 0
Re: Скрыть пункт меню
« Ответ #6 : 20.03.2011, 15:18:13 »
А конкретный путь не подскажите, куда вставлять код? Спасибо
*

christy2007

  • Новичок
  • 3
  • 0 / 0
Re: Скрыть пункт меню
« Ответ #7 : 20.03.2011, 15:21:12 »
Используется шаблон RY-River, Joomla 1.5.22
*

christy2007

  • Новичок
  • 3
  • 0 / 0
Re: Скрыть пункт меню
« Ответ #8 : 20.03.2011, 16:39:24 »
Проблема в шаблоне и способе описания кода, решила проблему по другому: убрала вход как таковой из пункта меню и регистрацию вынесла в отдельный модуль. И при авторизации зарегистрированные пользователи видят еще 1 пункт меню. Но проблема скрытия пункта меню все равно заинтересовала, пошла учить php и разбираться со своим шаблоном))) Спасибо ecolora за поддержку))
*

komert

  • Захожу иногда
  • 124
  • 1 / 0
Re: Скрыть пункт меню
« Ответ #9 : 04.03.2013, 03:27:31 »
<?php $user =& JFactory::getUser();
if( !$user->guest ) : ?>
<style type="text/css">
#topmenu .item3 { display:none !important; }
</style>
<?php endif; ?>

Всё меню могу скрыть, а а пункт меню выйти - никак не получается и item менял всё что надо и нифига.
Вот код ссылки 
<li class=" ux-menu-item-level-1 ux-menu-item120" style="width: 183px;">
            <a href="/vkhod/vojti-na-sajt.html" class=" ux-menu-link-level-1 ux-menu-link-first" title="">
               Войти                           </a>
                  </li>
Может что подскажете
*

komert

  • Захожу иногда
  • 124
  • 1 / 0
Re: Скрыть пункт меню
« Ответ #10 : 04.03.2013, 03:29:45 »
Всё спасибо. Всё получилось.  Я решил что вместо guest, надо писать Registered  и это было неправильно  *DRINK*
*

komert

  • Захожу иногда
  • 124
  • 1 / 0
Re: Скрыть пункт меню
« Ответ #11 : 04.03.2013, 03:54:28 »
На локалхосте правда, появляется на секунду пункт меню а потом исчезает ...
*

komert

  • Захожу иногда
  • 124
  • 1 / 0
Re: Скрыть пункт меню
« Ответ #12 : 10.03.2013, 09:00:42 »
Работает некорректно, то появится то исчезнет
*

Shustry

  • Гуру
  • 6434
  • 745 / 3
Re: Скрыть пункт меню
« Ответ #13 : 10.03.2013, 10:15:27 »
Копируете из modules\mod_menu\tmpl\ в templates\шаблон\html\mod_menu\ файл default.php. Недостающие папки создаёте. Открываете…
1. 23-я строка, меняете
Код: php
foreach ($list as $i => &$item) :
на
Код: php
foreach ($list as $i => &$item) :
if( !$item->anchor_css ) :
2. В конце заменяете
Код: php
endforeach;
на
Код: php
endif;
endforeach;
Теперь, если у пункта меню задать любой css-класс, он не будет отображаться гостям. Не просто скрываться, а вообще не будет выводиться. Это на случай, если вы не используете это поле. Если используете, можно усовершенствовать решение, добавив проверку по регулярному выражению так:
Код: php
if (preg_match('/user/', $this->item->text)) {};
*

komert

  • Захожу иногда
  • 124
  • 1 / 0
Re: Скрыть пункт меню
« Ответ #14 : 10.03.2013, 16:29:08 »
Вот реальное решение, почитай внимательно  и сделай как там пишут ...  Мне помогло
http://joomlaforum.ru/index.php/topic,146909.msg812217.html#msg812217
*

Shustry

  • Гуру
  • 6434
  • 745 / 3
Re: Скрыть пункт меню
« Ответ #15 : 10.03.2013, 16:49:29 »
komert а моё что, нереальное? :)
*

komert

  • Захожу иногда
  • 124
  • 1 / 0
Re: Скрыть пункт меню
« Ответ #16 : 11.03.2013, 03:43:23 »
komert а моё что, нереальное? :)
Я не пробывал как у тебя )  Хотя раньшепытался сделать что похожее вот код, но пункт меню то отображается, то нет ... А установив права, всё оказалось просто.
Добавить для меню :
<?php $user =& JFactory::getUser();
if( !$user->guest ) : ?>
<style type="text/css">
#topmenu .item{ display:none !important; }
</style>
<?php endif; ?>
*

komert

  • Захожу иногда
  • 124
  • 1 / 0
Re: Скрыть пункт меню
« Ответ #17 : 11.03.2013, 03:45:24 »
komert а моё что, нереальное? :)
Я не пробывал как у тебя )  Хотя раньшепытался сделать что похожее вот код, но пункт меню то отображается, то нет ... А установив права, всё оказалось просто.
Добавить для меню :
<?php $user =& JFactory::getUser();
if( !$user->guest ) : ?>
<style type="text/css">
#topmenu .item{ display:none !important; }
</style>
<?php endif; ?>
*

Shustry

  • Гуру
  • 6434
  • 745 / 3
Re: Скрыть пункт меню
« Ответ #18 : 11.03.2013, 07:43:32 »
Я не пробывал как у тебя )  Хотя раньшепытался сделать что похожее вот код, но пункт меню то отображается, то нет ... А установив права, всё оказалось просто.
Добавить для меню :
<?php $user =& JFactory::getUser();
if( !$user->guest ) : ?>
<style type="text/css">
#topmenu .item{ display:none !important; }
</style>
<?php endif; ?>

Отличное «решение»! Я открываю файрбаг/драгонфлай, стираю эту строку и спокойно перехожу по «скрытой» ссылке.
*

komert

  • Захожу иногда
  • 124
  • 1 / 0
Re: Скрыть пункт меню
« Ответ #19 : 11.03.2013, 09:58:07 »
Отличное «решение»! Я открываю файрбаг/драгонфлай, стираю эту строку и спокойно перехожу по «скрытой» ссылке.
Я пока ещё только начал знакомиться с PHP поэтому не очень разбираюсь.. Это хорошо если твой способ рабочий и реальный, может и я когда нибудь им воспользуюсь...
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

убрать из меню заголовки h3

Автор nexter

Ответов: 19
Просмотров: 7886
Последний ответ 03.02.2020, 18:49:47
от durte
При добавлении нового пункта меню не отображается содержимое

Автор Denko

Ответов: 2
Просмотров: 3294
Последний ответ 16.01.2020, 18:40:55
от Denko
Не нажимается пункт меню на мобильной версии

Автор Sensession

Ответов: 7
Просмотров: 4794
Последний ответ 04.01.2020, 16:45:27
от xpank
Не отображаются пункты в меню

Автор physic

Ответов: 20
Просмотров: 23002
Последний ответ 20.09.2019, 16:54:01
от beliyadm
Как в ARI Ext Menu добиться работы параметра "Показать в меню"?

Автор vasmed

Ответов: 1
Просмотров: 3541
Последний ответ 01.03.2019, 11:12:18
от vasmed