Новости 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 Гость просматривают эту тему.
  • 26 Ответов
  • 7707 Просмотров
*

createa

  • Захожу иногда
  • 263
  • 0 / 1
Может, заголовок не совсем верно отражает суть, но вот в чем проблема:
Я настраиваю меню админки для менеджера, убирая оттуда все то, что ему видеть не нужно. С родными компонентами проблем нет, но вот Zoo и Widgetkit не имеют настройки прав доступа (или же их так запрятали, что я не могу найти). Как побороть?
« Последнее редактирование: 18.12.2013, 11:26:38 от b2z »
*

v-idea

  • Захожу иногда
  • 210
  • 35 / 0
Если ACL в Zoo и Widgetkit нет, то значит - НЕТ! И это ни как не побороть, акромя вмешательства в сам код. Ито модификации таких не простых компонентов задача не из дешёвых.
Лично я только русифицировал (внизу ссылка), ито могу сказать это не так просто было, я уж не говорю о встройки в него непредусмотренного ACL. Но можно, вопрос всего лишь желания и финансовой возможности.
Русифицированный компонент Widgetkit v1.0.2_27.02 Joomla! | Классический шаблон Rhuk Milkyway Ext 25 для Joomla 1.6/1.7/2.5/3.0
*

createa

  • Захожу иногда
  • 263
  • 0 / 1
в первом абзаце вы говорите, что нельзя. во втором — что можно.
*

Fedor Vlasenko

  • Живу я здесь
  • 3845
  • 733 / 7
  • https://fedor-vlasenko.web.app
Цитировать
Если ACL в Zoo и Widgetkit нет, то значит - НЕТ! И это ни как не побороть
Админка - это тот же шаблон и любые условия там работают как и на фронте.
*

createa

  • Захожу иногда
  • 263
  • 0 / 1
Так может кто-то подскажет более конекретно, как включить отображение этих компонентов в меню для группы "Managers"?
*

Fedor Vlasenko

  • Живу я здесь
  • 3845
  • 733 / 7
  • https://fedor-vlasenko.web.app
createa Описывайте задачу подробнее. Что значит включить. Что для группы Managers компонент не отображается? Не  все мы имеем идентичную систему. Тогда создайте группу где компонент будет отображаться и от нее стартуйте. Если в компоненте указан запрет для группы, дайте ему группу с которой он может работать. Так логичнее будет
*

v-idea

  • Захожу иногда
  • 210
  • 35 / 0
Админка - это тот же шаблон и любые условия там работают как и на фронте.
Так вопрос то не в шаблоне, а в компонентах Zoo и Widgetkit! На счёт ACL в Zoo не знаю, но на счёт в Widgetkit я точно могу сказать, что там его нет.
Русифицированный компонент Widgetkit v1.0.2_27.02 Joomla! | Классический шаблон Rhuk Milkyway Ext 25 для Joomla 1.6/1.7/2.5/3.0
*

Fedor Vlasenko

  • Живу я здесь
  • 3845
  • 733 / 7
  • https://fedor-vlasenko.web.app
Цитировать
Так вопрос то не в шаблоне, а в компонентах Zoo и Widgetkit!
И что, выводится то шаблоном все если нет запрета
*

v-idea

  • Захожу иногда
  • 210
  • 35 / 0
Ай, блин я то смотрю на версии 2.5. В последней версии Widgetkit ACL может и сделали.
Русифицированный компонент Widgetkit v1.0.2_27.02 Joomla! | Классический шаблон Rhuk Milkyway Ext 25 для Joomla 1.6/1.7/2.5/3.0
*

createa

  • Захожу иногда
  • 263
  • 0 / 1
createa Описывайте задачу подробнее. Что значит включить. Что для группы Managers компонент не отображается? Не  все мы имеем идентичную систему. Тогда создайте группу где компонент будет отображаться и от нее стартуйте. Если в компоненте указан запрет для группы, дайте ему группу с которой он может работать. Так логичнее будет

я описал задачу в первом посте. у всех компонентв обычно есть кнопка "Настройки", где во вкладке "Права" можно настроить доступ для разных групп. У этих же компонентов нет такой кнопки. Ну не предусмотрено там это...

пс. Widgetkit / Zoo самые новые версии стоят.
*

Fedor Vlasenko

  • Живу я здесь
  • 3845
  • 733 / 7
  • https://fedor-vlasenko.web.app
Код: php-brief
<?php
//Функция проверяющая на принадлежность пользователя к группам
function getAccess($groups=array(), $user_id=0)
{
if ($user_id == 0) $user_id = JFactory::getUser()->id;
if (count($groups) == 0 && $user_id == 0) return false;
return (count(array_intersect(JFactory::getUser($user_id)->getAuthorisedGroups(), $groups))>0);
}
//разрешенные группы
$groups = array(8,2);
if (getAccess( $groups))
{
echo 'Иди ко мне мой дорогой';
}
else
{
echo 'Пшел вон смерд';
}
?>
*

v-idea

  • Захожу иногда
  • 210
  • 35 / 0
Fedor Vlasenko, код конечно хороший, только что с ним будет делать createa?

Ладно, теперь немного мыслей вслух...
Настройка ACL в простых компонентах (стандартных, жумловских) осуществляется в настройках во вкладке "Права" самого компонента (например: "Контакты"). Файл самого кода: config.xml -

Код: xml
<fieldset name="permissions"
label="JCONFIG_PERMISSIONS_LABEL"
description="JCONFIG_PERMISSIONS_DESC"
>

<field name="rules"
type="rules"
label="JCONFIG_PERMISSIONS_LABEL"
validate="rules"
filter="rules"
component="com_contact"
section="component" />
</fieldset>

Эти параметры записываются в БД, в таблицу: #__assets. Так.
Можно конечно найти в этой таблице в колонке name строку com_widgetkit и колонке rules вместо {}, прописать вручную необходимые параметры, но только толку не будет, т.к. эти параметры нужны для каждого вида (views) в файле - view.html.php.
И вот в чём вся загвоздка этих клубных компонентов Widgetkit / Zoo, что у них структура кода другая!
Русифицированный компонент Widgetkit v1.0.2_27.02 Joomla! | Классический шаблон Rhuk Milkyway Ext 25 для Joomla 1.6/1.7/2.5/3.0
*

createa

  • Захожу иногда
  • 263
  • 0 / 1
может как-то можно более простым путем пойти? например, тупо убрать из меню пункты, которые не должен видеть конкретный пользователь в админке?
*

b2z

  • Глобальный модератор
  • 7284
  • 778 / 0
  • Разраблю понемногу
может как-то можно более простым путем пойти? например, тупо убрать из меню пункты, которые не должен видеть конкретный пользователь в админке?
Но ничто не помешает ему зайти по прямой ссылке типа index.php?option=com_zoo :(
*

createa

  • Захожу иногда
  • 263
  • 0 / 1
Zoo и Widgetkit я как раз хочу отобразить ) по-умолчанию для группы "Менеджеры" они скрыты.
*

Fedor Vlasenko

  • Живу я здесь
  • 3845
  • 733 / 7
  • https://fedor-vlasenko.web.app
Цитировать
Fedor Vlasenko, код конечно хороший, только что с ним будет делать createa?
вставляем код в шаблон админки сайта и наслаждаемся
Код: php-brief
defined('_JEXEC') or die;

//разрешенные группы
$groups = array(8,2);

//проверяемые компоненты
$check_comp = array('com_widgetkit', 'you_component');
//Функция проверяющая на принадлежность пользователя к группам
function getAccess($groups=array(), $user_id=0)
{
if ($user_id == 0) $user_id = JFactory::getUser()->id;
if (count($groups) == 0 || $user_id == 0) return false;
return (count(array_intersect(JFactory::getUser($user_id)->getAuthorisedGroups(), $groups))>0);
}
if (in_array($_REQUEST['option'], $check_comp) && !getAccess($groups)){
JFactory::getApplication()->redirect(JURI::root().'administrator/');
return;
}
Тогда создайте группу где компонент будет отображаться и от нее стартуйте.
*

createa

  • Захожу иногда
  • 263
  • 0 / 1
да, вы правы. нужно было изначально назначить группу "Администраторы", а не "Менеджеры". Сейчас меню выглядит так, как мне нужно.
Появился другой вопрос... Даже не вопрос, а скорее просто мысль — можно ли изменить названия "Widgetkit" и "Zoo" в меню админки на, скажем, "Фотогалерея" и "Каталог"?
*

v-idea

  • Захожу иногда
  • 210
  • 35 / 0
да, вы правы. нужно было изначально назначить группу "Администраторы", а не "Менеджеры". Сейчас меню выглядит так, как мне нужно.
Появился другой вопрос... Даже не вопрос, а скорее просто мысль — можно ли изменить названия "Widgetkit" и "Zoo" в меню админки на, скажем, "Фотогалерея" и "Каталог"?

Можно, только для этого надо будет залесть в Базу Данных, и прямо там заменить либо же в локализации просто поменять.
Русифицированный компонент Widgetkit v1.0.2_27.02 Joomla! | Классический шаблон Rhuk Milkyway Ext 25 для Joomla 1.6/1.7/2.5/3.0
*

createa

  • Захожу иногда
  • 263
  • 0 / 1
таак. оба эти способа пдразумевают, что при обновлении компонентов все слетит и нужно будет делать заново?
*

v-idea

  • Захожу иногда
  • 210
  • 35 / 0
таак. оба эти способа пдразумевают, что при обновлении компонентов все слетит и нужно будет делать заново?
Если в самой локализации менять, то да при обновлении вероятнее всего слетит. А если в самой БД, то в принципе не должно.
Русифицированный компонент Widgetkit v1.0.2_27.02 Joomla! | Классический шаблон Rhuk Milkyway Ext 25 для Joomla 1.6/1.7/2.5/3.0
*

createa

  • Захожу иногда
  • 263
  • 0 / 1
Подскажите, как в БД это сделать?
*

Fedor Vlasenko

  • Живу я здесь
  • 3845
  • 733 / 7
  • https://fedor-vlasenko.web.app
в папке компонента откройте файл XML и найдите строку <menu>Widgetkit</menu> ну и замените как вам надо
*

createa

  • Захожу иногда
  • 263
  • 0 / 1
в папке компонента откройте файл XML и найдите строку <menu>Widgetkit</menu> ну и замените как вам надо

при обновлении компонента все похерится, я полагаю?
*

v-idea

  • Захожу иногда
  • 210
  • 35 / 0
да в любом случае заменится XML
Ну и пускай себе обновляет! XML-файл нужен при установке компонента. А нам в данном случае требуется изменить пункт меню в админке. И здесь ни чего сложно!
1) Заходим в панель управления БД - phpMyAdmin (на всех хостингах есть).
2) Заходим в таблицу БД вашего сайта.
3) Выбираем таблицу #__menu.
4) Ищем в ней в колонке title запись - COM_WIDGETKIT.
5) Нажимаем редактировать данную запись.
6) В поле title и alias прописываем необходимое значение - Фотогалерея

И будем Вам счастье в пункте меню!

С Zoo по аналогии.

Только с тайтлами в самих страницах не получиться такой вариант.( Здесь только либо через XML-файл, либо через локализацию.
Русифицированный компонент Widgetkit v1.0.2_27.02 Joomla! | Классический шаблон Rhuk Milkyway Ext 25 для Joomla 1.6/1.7/2.5/3.0
*

createa

  • Захожу иногда
  • 263
  • 0 / 1
Поменял значение в таблицах — помогло. Пробовал решение с XML, не нашел таких строк в файле (administrator/components/com_zoo или com_widgetkit).
Думаю, на этом можно вопрос считать закрытым. Всем спасибо!
*

Newrise

  • Новичок
  • 1
  • 0 / 0
Да, только что столкнулся с тем же моментом в Zoo на Joomla 3.x

Если Вы хотите отобразить Zoo для группы Manager, то можете просто вывести стандартный модуль, который в админке отображает приложения Zoo. В самой вкладке "Компоненты" не будет виден Zoo. Но все будет отображено чуть ниже на странице админки.


Меня вот интересует больше, как к Zoo запретить доступ. Как уже правильно сказали, никто не мешает в админке набрать в строке браузера путь к этому компоненту.
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Call to a member function NewColorizeImage() on null при переходе PHP 7 [Решено]

Автор Eholov

Ответов: 3
Просмотров: 3185
Последний ответ 17.03.2023, 11:03:04
от Olexa
Панель управления Joomla 3 права доступа

Автор sergei8

Ответов: 11
Просмотров: 1452
Последний ответ 16.02.2023, 22:55:13
от sergei8
В списке компонентов нет 'Поля' Joomla 3.10

Автор rimm

Ответов: 16
Просмотров: 1271
Последний ответ 31.08.2021, 16:42:29
от rimm
После обновления Joomla до версии 3.9.23 проблема сохранения материала (Решено)

Автор yarek

Ответов: 6
Просмотров: 1560
Последний ответ 23.01.2021, 20:42:45
от wishlight
Ошибка при авторизации в админке [Решено]

Автор flat

Ответов: 0
Просмотров: 1174
Последний ответ 03.12.2020, 05:29:16
от flat