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

Здравствуйте...
У меня вопрос по установки...
Сначала я установил и все работало отлично, но потом я по несосторожности удалил (перепутал)
и все больше он не устанавливается и при установки выдает такую ошибку..

[spoiler title=Ошибка SQL DB function failed with error number 2006]
JInstaller::install: Ошибка SQL DB function failed with error number 2006
MySQL server has gone away SQL=CREATE TABLE IF NOT EXISTS `josgsu_jcomments` ( `id` INT(11) UNSIGNED NOT NULL AUTO_INCREMENT, `parent` INT(11) UNSIGNED NOT NULL DEFAULT '0', `object_id` INT(11) UNSIGNED NOT NULL DEFAULT '0', `object_group` VARCHAR(255) NOT NULL DEFAULT '', `object_params` TEXT NOT NULL DEFAULT '', `lang` VARCHAR(255) NOT NULL DEFAULT '', `userid` INT(11) UNSIGNED NOT NULL DEFAULT '0', `name`VARCHAR(255) NOT NULL DEFAULT '', `username`VARCHAR(255) NOT NULL DEFAULT '', `email` VARCHAR(255) NOT NULL DEFAULT '', `homepage` VARCHAR(255) NOT NULL DEFAULT '', `title` VARCHAR(255) NOT NULL DEFAULT '', `comment` TEXT NOT NULL DEFAULT '', `ip` VARCHAR(15) NOT NULL DEFAULT '', `date` DATETIME NOT NULL DEFAULT '0000-00-00 00:00:00', `isgood` SMALLINT(5) UNSIGNED NOT NULL default '0', `ispoor` SMALLINT(5) UNSIGNED NOT NULL default '0', `published` TINYINT(1) UNSIGNED NOT NULL DEFAULT '0', `subscribe` TINYINT(1) UNSIGNED NOT NULL DEFAULT '0', `source` VARCHAR(255) NOT NULL DEFAULT '', `checked_out` INT(11) UNSIGNED NOT NULL DEFAULT '0', `checked_out_time` DATETIME NOT NULL DEFAULT '0000-00-00 00:00:00', `editor` VARCHAR(50) DEFAULT NULL, PRIMARY KEY (`id`), KEY `idx_userid` (`userid`), KEY `idx_source` (`source`), KEY `idx_email` (`email`), KEY `idx_lang` (`lang`), KEY `idx_subscribe` (`subscribe`), KEY `idx_checkout` (`checked_out`), KEY `idx_object` (`object_id`, `object_group`, `published`, `date`) ) TYPE=MyISAM CHARACTER SET `utf8` COLLATE `utf8_general_ci`;
SQL =
CREATE TABLE IF NOT EXISTS `josgsu_jcomments` (
`id` INT(11) UNSIGNED NOT NULL AUTO_INCREMENT,
`parent` INT(11) UNSIGNED NOT NULL DEFAULT '0',
`object_id` INT(11) UNSIGNED NOT NULL DEFAULT '0',
`object_group` VARCHAR(255) NOT NULL DEFAULT '',
`object_params` TEXT NOT NULL DEFAULT '',
`lang` VARCHAR(255) NOT NULL DEFAULT '',
`userid` INT(11) UNSIGNED NOT NULL DEFAULT '0',
`name`VARCHAR(255) NOT NULL DEFAULT '',
`username`VARCHAR(255) NOT NULL DEFAULT '',
`email` VARCHAR(255) NOT NULL DEFAULT '',
`homepage` VARCHAR(255) NOT NULL DEFAULT '',
`title` VARCHAR(255) NOT NULL DEFAULT '',
`comment` TEXT NOT NULL DEFAULT '',
`ip` VARCHAR(15) NOT NULL DEFAULT '',
`date` DATETIME NOT NULL DEFAULT '0000-00-00 00:00:00',
`isgood` SMALLINT(5) UNSIGNED NOT NULL default '0',
`ispoor` SMALLINT(5) UNSIGNED NOT NULL default '0',
`published` TINYINT(1) UNSIGNED NOT NULL DEFAULT '0',
`subscribe` TINYINT(1) UNSIGNED NOT NULL DEFAULT '0',
`source` VARCHAR(255) NOT NULL DEFAULT '',
`checked_out` INT(11) UNSIGNED NOT NULL DEFAULT '0',
`checked_out_time` DATETIME NOT NULL DEFAULT '0000-00-00 00:00:00',
`editor` VARCHAR(50) DEFAULT NULL,
PRIMARY KEY  (`id`),
KEY `idx_userid` (`userid`),
KEY `idx_source` (`source`),
KEY `idx_email` (`email`),
KEY `idx_lang` (`lang`),
KEY `idx_subscribe` (`subscribe`),
KEY `idx_checkout` (`checked_out`),
KEY `idx_object` (`object_id`, `object_group`, `published`, `date`)
) TYPE=MyISAM CHARACTER SET `utf8` COLLATE `utf8_general_ci`;
Компонент Установить: Ошибка SQL или нечитаемый файл SQL. DB function failed with error number 2006
MySQL server has gone away SQL=CREATE TABLE IF NOT EXISTS `josgsu_jcomments` ( `id` INT(11) UNSIGNED NOT NULL AUTO_INCREMENT, `parent` INT(11) UNSIGNED NOT NULL DEFAULT '0', `object_id` INT(11) UNSIGNED NOT NULL DEFAULT '0', `object_group` VARCHAR(255) NOT NULL DEFAULT '', `object_params` TEXT NOT NULL DEFAULT '', `lang` VARCHAR(255) NOT NULL DEFAULT '', `userid` INT(11) UNSIGNED NOT NULL DEFAULT '0', `name`VARCHAR(255) NOT NULL DEFAULT '', `username`VARCHAR(255) NOT NULL DEFAULT '', `email` VARCHAR(255) NOT NULL DEFAULT '', `homepage` VARCHAR(255) NOT NULL DEFAULT '', `title` VARCHAR(255) NOT NULL DEFAULT '', `comment` TEXT NOT NULL DEFAULT '', `ip` VARCHAR(15) NOT NULL DEFAULT '', `date` DATETIME NOT NULL DEFAULT '0000-00-00 00:00:00', `isgood` SMALLINT(5) UNSIGNED NOT NULL default '0', `ispoor` SMALLINT(5) UNSIGNED NOT NULL default '0', `published` TINYINT(1) UNSIGNED NOT NULL DEFAULT '0', `subscribe` TINYINT(1) UNSIGNED NOT NULL DEFAULT '0', `source` VARCHAR(255) NOT NULL DEFAULT '', `checked_out` INT(11) UNSIGNED NOT NULL DEFAULT '0', `checked_out_time` DATETIME NOT NULL DEFAULT '0000-00-00 00:00:00', `editor` VARCHAR(50) DEFAULT NULL, PRIMARY KEY (`id`), KEY `idx_userid` (`userid`), KEY `idx_source` (`source`), KEY `idx_email` (`email`), KEY `idx_lang` (`lang`), KEY `idx_subscribe` (`subscribe`), KEY `idx_checkout` (`checked_out`), KEY `idx_object` (`object_id`, `object_group`, `published`, `date`) ) TYPE=MyISAM CHARACTER SET `utf8` COLLATE `utf8_general_ci`;
SQL =
CREATE TABLE IF NOT EXISTS `josgsu_jcomments` (
`id` INT(11) UNSIGNED NOT NULL AUTO_INCREMENT,
`parent` INT(11) UNSIGNED NOT NULL DEFAULT '0',
`object_id` INT(11) UNSIGNED NOT NULL DEFAULT '0',
`object_group` VARCHAR(255) NOT NULL DEFAULT '',
`object_params` TEXT NOT NULL DEFAULT '',
`lang` VARCHAR(255) NOT NULL DEFAULT '',
`userid` INT(11) UNSIGNED NOT NULL DEFAULT '0',
`name`VARCHAR(255) NOT NULL DEFAULT '',
`username`VARCHAR(255) NOT NULL DEFAULT '',
`email` VARCHAR(255) NOT NULL DEFAULT '',
`homepage` VARCHAR(255) NOT NULL DEFAULT '',
`title` VARCHAR(255) NOT NULL DEFAULT '',
`comment` TEXT NOT NULL DEFAULT '',
`ip` VARCHAR(15) NOT NULL DEFAULT '',
`date` DATETIME NOT NULL DEFAULT '0000-00-00 00:00:00',
`isgood` SMALLINT(5) UNSIGNED NOT NULL default '0',
`ispoor` SMALLINT(5) UNSIGNED NOT NULL default '0',
`published` TINYINT(1) UNSIGNED NOT NULL DEFAULT '0',
`subscribe` TINYINT(1) UNSIGNED NOT NULL DEFAULT '0',
`source` VARCHAR(255) NOT NULL DEFAULT '',
`checked_out` INT(11) UNSIGNED NOT NULL DEFAULT '0',
`checked_out_time` DATETIME NOT NULL DEFAULT '0000-00-00 00:00:00',
`editor` VARCHAR(50) DEFAULT NULL,
PRIMARY KEY  (`id`),
KEY `idx_userid` (`userid`),
KEY `idx_source` (`source`),
KEY `idx_email` (`email`),
KEY `idx_lang` (`lang`),
KEY `idx_subscribe` (`subscribe`),
KEY `idx_checkout` (`checked_out`),
KEY `idx_object` (`object_id`, `object_group`, `published`, `date`)
) TYPE=MyISAM CHARACTER SET `utf8` COLLATE `utf8_general_ci`;
Error Loading ModulesMySQL server has gone away SQL=SELECT id, title, module, position, content, showtitle, control, params FROM josgsu_modules AS m LEFT JOIN josgsu_modules_menu AS mm ON mm.moduleid = m.id WHERE m.published = 1 AND m.access <= 2 AND m.client_id = 1 ORDER BY position, ordering[/spoiler]


Помогите пожалуйста...
базу данных вроде чистил...
« Последнее редактирование: 20.07.2009, 15:04:45 от smart »
*

smart

  • Администратор
  • 6478
  • 1318 / 15
  • Хочешь сделать хорошо — сделай!
Re: Ошибка
« Ответ #1 : 17.02.2009, 23:10:26 »
Это к хостеру, я не знаю, почему у вас при установке компонента MySQL отваливается. Покажите ему этот текст ошибки, и спросите, почему раньше работало, а вот теперь вылетает "MySQL server has gone away". Скорее всего хостер уменьшил время таймаута у MySQL, но это как бы проблемах хостера, а не компонента.
*

ART-DELI

  • Давно я тут
  • 801
  • 75 / 9
  • Не успеешь ты – сделают другие.
Re: Ошибка
« Ответ #2 : 18.02.2009, 23:14:07 »
Сорри за офтоп.
Таймаут базы, это что такое?
Промежуток времени между запросами, или как?

Первый раз такое слышу
 ^-^
*

smart

  • Администратор
  • 6478
  • 1318 / 15
  • Хочешь сделать хорошо — сделай!
Re: Ошибка
« Ответ #3 : 18.02.2009, 23:39:14 »
Подробнее об этой ошибке вот тут: MySQL server has gone away. А если кратко, то по умолчанию MySQL сервер автоматически закрывает подключение после 8 часов с момента открытия, но этот период можно изменить в конфигурационном файле, через переменную wait_timeout.

Т.е. в данном случае получается следующее: Joomla при старте открывает соединение, но MySQL сервер успевает его разорвать раньше, чем скрипт закончит выполнение запросов. Сделано это хостером, чтобы впихнуть на сервер большее число сайтов и сделать сервер более устойчивым к нагрузкам.

Процедура установки компонента - не из быстрых, поэтому и происходит вот такая штуковина. Я подумаю, и постараюсь найти какое-то компромиссное решение, чтобы избежать появлений таких ошибок. Хоть пока и не знаю как. Дело в том, что ошибка падает на этапе создания таблиц компонента, а таблицы создаются сразу после того, как архив распакован и все файлы уже скопированы. Получается, что это слишком долго... Хоть по мне, это довольно быстрая операция. Такое потенциально может случаться на сильно перегруженном сервере...
*

ART-DELI

  • Давно я тут
  • 801
  • 75 / 9
  • Не успеешь ты – сделают другие.
Re: Ошибка
« Ответ #4 : 19.02.2009, 01:05:52 »
Спасибо...
Всегда думал что соединения закрывается вручную и только так..
*

smart

  • Администратор
  • 6478
  • 1318 / 15
  • Хочешь сделать хорошо — сделай!
Re: Ошибка
« Ответ #5 : 19.02.2009, 01:20:48 »
Ну в нормальных условиях, соединение должно закрываться из клиента (т.е. скрипта). Но в случаях, когда есть подозрения, что клиент повис, или слишком задумался, сервер может обрывать соединение. Вот это время, в течении которого сервер считает соединение актуальным и задается в параметре.

В принципе, насколько я помню, есть исключение. Если соединение открыто не с помощью функции mysql_connect, а с помощью mysql_pconnect, то по-моему, сервер не будет его обрывать. Это так называемое постоянное соединение. Но в Joomla если я не ошибаюсь оно не используется (да в большинстве случаев оно и не нужно).
*

ART-DELI

  • Давно я тут
  • 801
  • 75 / 9
  • Не успеешь ты – сделают другие.
А сколько примерно уходит времени на выполнения запроса по созданию таблиц joomla?
*

smart

  • Администратор
  • 6478
  • 1318 / 15
  • Хочешь сделать хорошо — сделай!
А это уж напрямую зависит от мощности сервера. У меня это занимает тысячные секунды. Самое интересное, что таблицы создаются на первом этапе установки. Т.е. процедура установки JComments состоит из 2-х этапов:

1. Устанавливается компонент и Joomla создает необходимые таблицы согласно инструкциям .xml файле. После чего происходит редирект на страницу второго этапа установки.
2. На этом этапе происходит установка плагинов, установка первоначальных настроек, всякие там обновления структуры таблиц (если идет обновление) и т.д.

Так вот данная ошибка происходит еще на первом этапе, и я пока не знаю каким образом ее устранить...
*

elvis

  • Новичок
  • 8
  • 0 / 0
У меня точно такая же ошибка вылазит при создании статей, хостер тоже hc.ru... очень неудобно клгда постоянно происходят сбои, что делать в такой ситуации подскажите... 
*

smart

  • Администратор
  • 6478
  • 1318 / 15
  • Хочешь сделать хорошо — сделай!
что делать в такой ситуации подскажите...
я бы поменял хостера... но это уже другая тема...
*

fenix76

  • Осваиваюсь на форуме
  • 20
  • 1 / 0
Баян конечно. Но у меня такая проблема вообще с утановкой любых комопнентов. Хостер hc.ru. О решении напишшу.
Решилось с hc как-нибудь?
Вообще заметил, что явно закрутили таймаут где-то с апреля.
*

fenix76

  • Осваиваюсь на форуме
  • 20
  • 1 / 0
Ну чтож. После общения с хостерами hc...

"Увеличить переменную, отвечающую за таймаут при обращении к ДБ, на тарифах виртуального хостинга не возможно. Подобные изменения пользователь может производить только на собственном выделенном сервере или VPS."

Типо вы денежек побольше дайте, а там и рулите...
Печально-печально...
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

cURL extension is not available on your server

Автор petrov

Ответов: 2
Просмотров: 39999
Последний ответ 26.11.2009, 12:52:24
от petrov
ОШИБКА JAuthentication::__construct:... при попытке авторизации

Автор MuraDweb

Ответов: 0
Просмотров: 43054
Последний ответ 03.02.2009, 06:00:38
от MuraDweb