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

Bat9l

  • Новичок
  • 6
  • 0 / 0
Доброе время суток.
На некоторых хостингах администраторы устанавливают ограничение на максимальное количество запросов к базе данных в час. При превышении этого значения выдается сообщение об ошибке вида: User 'имя_пользователя' has exceeded the 'max_questions' resource (current value: 90000), где 90000 это и есть максимальное количество запросов.
Я нашел статью в интернети как решить это но она не работает вот пример:
Итак, приступим:

  1)  Идем в панель управления хостингом (CPanel, DirectAdmin, vDeck и т.д.). И создаем 2-5 пользователей для вашей базы данных с теми же правами и паролем, что и у основного пользователя базы данных вашего сайта. После создания пользователей обязательно дайте им привелегии для доступа к базе данных вашего сайта — они должны быть полными копиями основного пользователя. Допустим мы создали 3-х дополнительных пользователей: user1, user2 и user3.
    Открываем в любом редакторе конфигурационный файл configuration.php и находим в нем переменные с логином пользователя базы данных:
    1.$mosConfig_user = 'user';
    Заменяем эту строчку на следующий код:
    1.$mosConfig_users = array("user", "user1", "user2", "user3");
    2.$mosConfig_user = $mosConfig_users[array_rand($mosConfig_users)];
    Сохраняем изменения в файле configuration.php.
Но в configuration.php. немного не так как в примере.

Вот что пробую я но не получается все Неправильно.
public $dbtype = 'mysqli';
public $host = 'localhost';
public    $users = array("user", "user1", "user2", "user3");
public        $user = $users[array_rand($users)];

public $password = '123';
Кто знает как это сделать буду благодарин очень!
*

Shadowofrander

  • Новичок
  • 2
  • 0 / 0
I want to ask about this increase.
*

AlekVolsk

  • Гуру
  • 6913
  • 416 / 4
Цитировать
public    $users = array("user", "user1", "user2", "user3");
public        $user = $users[array_rand($users)];
Это не сработает, J это не поймет. Надо серьезно допиливать ядро и предлагать pull request, но шансы на это практически никакие.
*

Bat9l

  • Новичок
  • 6
  • 0 / 0
Может кто то уже побывал, сталкивался так сказать, может есть решенная уже эта проблема, должна ведь быть оптимизация версия уже j 3....
*

AlekVolsk

  • Гуру
  • 6913
  • 416 / 4
О, от версии J это не зависит, как и от самой J. Зато от вас зависит, каким именно хостером обслуживать ваши сайты, и текущий выбор - однозначно неудачен.
А еще можно покапаться и оптимизировать код, который создает такое кол-во запросов.
Кстати, посещаемость юников сколько?
*

Bat9l

  • Новичок
  • 6
  • 0 / 0
О, от версии J это не зависит, как и от самой J. Зато от вас зависит, каким именно хостером обслуживать ваши сайты, и текущий выбор - однозначно неудачен.
А еще можно покапаться и оптимизировать код, который создает такое кол-во запросов.
Кстати, посещаемость юников сколько?

Да хостер больше не дает как 90000, плачет что их сервак умрет)))) у меня на нем 4 под домена 4 бд, в среднем посещаемость 300-500, когда стал расти до 1000 и выше сайт тормазил потом вешалсяи вот ошибка, временами только успевал чистить сессию в ручную чистил бд, помогало, но пользователи наверное уставали от бесконечного лагаута, компоненты конечно не оптимизировал плагины не трогал так немного касеков исправлял после обнов, но все работало устойчиво пока пользователей не стало больше... 
*

AlekVolsk

  • Гуру
  • 6913
  • 416 / 4
У, батенька. да вам не просто менять его надо, а бежать от него без оглядки, желательно с приобретением vds, раз уж там у вас столько всего.
*

insaider_kr

  • Новичок
  • 7
  • 0 / 0
1. создаем 3 пользователей для доступа к нашей БД с одинаковыми правами и одним и тем же паролем.
пример: myuser1, myuser2, myuser3
2. В файле configuration.php
комментируем код
/*public $user = 'myuser';*/

myuser -  здесь имя пользователя БД

3. в файле /libraries/joomla/factory.php
заменяем строку
$user = $conf->get('user');
на строки
$users = array("myuser1", "myuser2", "myuser3");
$user = $users [array_rand($users)];

Все приятного использования

*

vitzer

  • Захожу иногда
  • 303
  • 5 / 0
1. создаем 3 пользователей для доступа к нашей БД с одинаковыми правами и одним и тем же паролем.
пример: myuser1, myuser2, myuser3
2. В файле configuration.php
комментируем код
/*public $user = 'myuser';*/

myuser -  здесь имя пользователя БД

3. в файле /libraries/joomla/factory.php
заменяем строку
$user = $conf->get('user');
на строки
$users = array("myuser1", "myuser2", "myuser3");
$user = $users [array_rand($users)];

Все приятного использования


Что это дает?
*

insaider_kr

  • Новичок
  • 7
  • 0 / 0
Что это дает?
мы уходим от ошибки User 'имя_пользователя' has exceeded the 'max_questions' resource (current value: 90000)
т.е. для подключения к БД у нас произвольно берется пользователь  myuser1, myuser2, myuser3
соответственно возникновение ошибки описанной топик стартером уменьшается в 3 раза.
Но все зависит. от того скольких пользователей БД разрешает завести хостер, мой разрешает 1000 ;-)
*

insaider_kr

  • Новичок
  • 7
  • 0 / 0
мы уходим от ошибки User 'имя_пользователя' has exceeded the 'max_questions' resource (current value: 90000)
т.е. для подключения к БД у нас произвольно берется пользователь  myuser1, myuser2, myuser3
соответственно возникновение ошибки описанной топик стартером уменьшается в 3 раза.
Но все зависит. от того скольких пользователей БД разрешает завести хостер, мой разрешает 1000 ;-)
или же другими словами мы распределяем нагрузку на базу между пользователями БД, а это если не ошибаюсь очень актуально при работе с базами где тип таблиц MyISAM - хотя я могу в этом утверждении и ошибаться
*

voland

  • Легенда
  • 11028
  • 588 / 112
  • Эта строка съедает место на вашем мониторе
*

insaider_kr

  • Новичок
  • 7
  • 0 / 0
Ну и бред!
спасибо и вам хорошего дня
но проблема имеет место быть и на данном этапе есть предложенное решение
*

ChaosHead

  • Гуру
  • 5242
  • 451 / 13
Мне кажется вам просто кэширование надо настроить и количество запросов снизится. Что там там у вас запрашивается 90000 раз в час, не одно и то-же ли?
« Последнее редактирование: 01.03.2017, 09:04:52 от ChaosHead »
*

ProtectYourSite

  • Живу я здесь
  • 2364
  • 137 / 4
  • Безопасность вебсайтов
Мнимый уход от проблем, надо сайт оптимизировать, а не городить кучу бд.
*

insaider_kr

  • Новичок
  • 7
  • 0 / 0
Мне кажется вам просто кэширование надо настроить и количество запросов снизится. Что там там у вас запрашивается 90000 раз в час, не одно и то-же ли?
Насчет кэширования полностью с Вами согласен, но не всегда это удается сделать, особенно когда имеется гремучая смесь Joomla и VirtueMart и в VirtueMart сидит более 2000 товара с изменяемыми доп характеристиками, фильтрами и т.п. Из всех протестированных способов ни один не дал приемлемого результата. И на данном этапе пока продолжаются поиски, такое решение является заплаткой обеспечивающей работоспособность сайта.
« Последнее редактирование: 08.03.2017, 11:59:50 от insaider_kr »
*

SmokerMan

  • Гуру
  • 5291
  • 720 / 26
странная проблема, логичнее было бы поменять хостинг и не изобретать велосипед
можно попробовать переключать через системный плагин
Код
$config = JFactory::getConfig();
$config->set('user', 'username');
но опять же надо знать в какой момент переключать)
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Дебаг sql запросов

Автор m4xuser

Ответов: 4
Просмотров: 717
Последний ответ 25.12.2017, 12:49:58
от dmitry_stas
Количество отображаемых записей в панели управления

Автор Modis

Ответов: 4
Просмотров: 732
Последний ответ 20.12.2017, 15:08:07
от Modis
Количество материалов подкатегорий

Автор yanetcoi

Ответов: 0
Просмотров: 666
Последний ответ 27.07.2017, 16:33:51
от yanetcoi
Как ограничить количество отправки писем с сайта?

Автор lubashina

Ответов: 4
Просмотров: 1113
Последний ответ 12.04.2017, 17:45:25
от voland
Как настроить количество сиволов в поиске по меткам? Поиск сбрасывается?

Автор Apollon

Ответов: 8
Просмотров: 1383
Последний ответ 03.01.2017, 22:58:23
от Apollon