Новости 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

Компания JetBrains рассказала о своей поддержке Joomla

Компания JetBrains рассказала о своей поддержке Joomla

JetBrains - один из мировых лидеров в разработке программного обеспечения для разработчиков. Её программные продукты - это IDE - профессиональные среды разработки, которые отличаются от простого блокнота/редактора с плагинами набором всевозможных инструментов для разработчиков, глубоким анализом кодовой базы, подсказками по ней и по языку программирования, отладкой ошибок и многим-многим другим. Одним из самых известных продуктов компании является IDE PHP Storm, который можно назвать отраслевым стандартом PHP-разработчика.

В статье How PhpStorm Helps Maintain PHP Open-Source Projects: Interviews and Real-World Examples в блоге компании описываются Open Source проекты, которым JetBrains оказывает поддержку (это могут быть бесплатные лицензии для разработчиков для некоммерческих проектов).

В список попали:

  • PHPUnit - фреймворк для unit-тестирования в PHP
  • Doctrine DBAL - библиотека для PHP, которая предоставляет лёгкий и гибкий слой для коммуникации с базой данных. Она поддерживает различные базы данных через единый и согласованный API.
  • CodeIgniter — популярный MVC-фреймворк для разработки на PHP
  • Joomla! - наша любимая CMS.

Эти названия (кроме "Joomla") чаще всего не слышат вебмастера и разработчики обычных сайтов и интернет-магазинов. Но эти названия хорошо знакомы PHP-разработчикам, которые создают сложные и высоконагруженные проекты и микросервисы. То, что Joomla оказалась в одном ряду с такими программными инструментами - делает ей честь.

🙏 За ссылку спасибо участнику нашего сообщества Ринату Кажетову (@rkazhet).

Подпишитесь на @joomlafeed

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

Septdir

  • Живу я здесь
  • 3370
  • 168 / 4
Еще ReReplacer за вывод и на скорость влияет.
Абсолютно все влияет на скорость, поэтому чем меньше тем лучше.
Не можете справиться с задачей сами пишите, решу ее за вас, не бесплатно*.
*Интересная задача, Деньги или Бартер. Натурой не беру!
CodersRank | Контакты | Мой GitHub | Workshop
*

AlexB

  • Завсегдатай
  • 1973
  • 54 / 2
А еще много чего, что кривыми руками по отзывам используется
Тот же jch optimize
*

kiev

  • Захожу иногда
  • 118
  • 0 / 3
  • Маэстро!
Я понял, спасибо! Конечно нужно быть профи, чтоб разбираться в этих деталях.
*

AlexB

  • Завсегдатай
  • 1973
  • 54 / 2
А что разбираться
Обновления вовремя и чуть настройки серверов
*

kiev

  • Захожу иногда
  • 118
  • 0 / 3
  • Маэстро!

Ну я имел введу тонкости работы расширений.


У меня RSFirewall, ReReplacer, jch optimize и еще парочку расширений стоит.


По этому за скорость работы сайта мне переживать не стоит  ;)
*

AlexB

  • Завсегдатай
  • 1973
  • 54 / 2
Валите их нах
*

kiev

  • Захожу иногда
  • 118
  • 0 / 3
  • Маэстро!
« Последнее редактирование: 31.05.2023, 22:16:02 от kiev »
*

SeBun

  • BanMaster
  • 4030
  • 259 / 5
  • @SeBun48
У меня RSFirewall, ReReplacer, jch optimize и еще парочку расширений стоит.
И именно расширения часто являются большой проблемой.

Человек, не сведующий в том, как работает связка Apache-PHP-Joomla обычно считает, что чем больше он расширений поставит, тем оно круче. При этом многие из этих расширений платные, но мы ведь не любим платить, особенно когда можно скачать даром, правда? Тем более, если расширение известное. Тот же RSFirewall, вы его покупали? А ReReplacer? Или это все free-версии? А шаблон для своего сайта вы где взяли? Купили? Или скачали?

То есть, если смотреть в корень проблемы, окажется, что сайту и защита никакая не нужна, он уже ломан еще на этапе создания (очень надеюсь, что я не прав).

Еще один момент - буквально на прошлой неделе мой клиент написал, что его сайт не догоняет по скорости. Когда я сделал проверку, увидел, что там грузятся изображения весом по нескольку мегабайт. Далее он пишет, что обратился в студию, и те за 15 тысяч ему взялись оптимизировать сайт путем ...установки jch optimize. Я понимаю, что данную фразу оценят те, кто знаком с внутренним устройством этого компонента и знает принцип его работы. Но для других он - панацея от всех бед. Поставил, настроил, и забыл... Вместо того, что бы самостоятельно взять папку с картинками и прогнать через оптимизатор, лучше обвешаем Joomla расширениями... Я такую логику не разделяю.

Так же не разделяю высказывание @Septdir - именно боты обычно и долбятся на сайты, перебирая сплойты. Как раз прослойка между сервером и cms и решает частично эту проблему. К сожалению, я не знаю нормальных модулей под Апач, способных хотя бы частично взять на себя заботу о безопасности. Обычно это пародии - антивирусы, WAF и прочее. Поэтому я и начал работу над своей системой, которая эти задачи решает. Но и это не панацея - работать нужно на уровне модулей сервера и... это уже совсем другая область, далекая от шаред-хостинга. Поэтому для @kiev и других ребят, кто юзает именно шаред-хостинги, можно, наверное, посоветовать оставить RSFirewall - хоть что то, чем вообще ничего.
Оказываю услуги по Joomla | Миграция/Обновление | Сопровождение | IT-аутсорсинг | Недорогие домены и хостинг
*

Septdir

  • Живу я здесь
  • 3370
  • 168 / 4
@Septdir - именно боты обычно и долбятся на сайты, перебирая сплойты.
И что  пусть ломятся мне от них ни тепло ни холодно.
Если запросы начнут походить на ddos то сработает  защита от ddos.
Если это просто проход по экспоитам то отсутствие RSFirewall катраз плюс.
Потому что их проход не создаёт нагрузки больше чем от юзера.
Получил бот 404 или 401 и пошёл дальше.
А с RSFirewall и иже сним каждый посетитель включая бота создает нагрузку.
Что в сумме превысит любые потуги ботов.

Так что ни какого подозрительного софта, актуальные версии и бекап - залог спокойствия.
Ну ещё админку можно закрыть любым из способов, ну кроме плагинов конечно.
« Последнее редактирование: 04.08.2020, 12:13:42 от Septdir »
Не можете справиться с задачей сами пишите, решу ее за вас, не бесплатно*.
*Интересная задача, Деньги или Бартер. Натурой не беру!
CodersRank | Контакты | Мой GitHub | Workshop
*

Septdir

  • Живу я здесь
  • 3370
  • 168 / 4
Кстати харед защищен лучше не настроиного vds.
Не можете справиться с задачей сами пишите, решу ее за вас, не бесплатно*.
*Интересная задача, Деньги или Бартер. Натурой не беру!
CodersRank | Контакты | Мой GitHub | Workshop
*

kiev

  • Захожу иногда
  • 118
  • 0 / 3
  • Маэстро!
А вы админку закрываете, через плагин?
*

ProtectYourSite

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

stepan39

  • Захожу иногда
  • 499
  • 28 / 0
Средств апача хватает для этих целей
Не знаете для nginx рабочее решение?
*

SeBun

  • BanMaster
  • 4030
  • 259 / 5
  • @SeBun48
Если это просто проход по экспоитам то отсутствие RSFirewall катраз плюс.
А... Просто моя разработка чем то похожа на RSFirewall, но в ней есть WAF, которые все эти эксплойты детектит. Поэтому и работает как презерватив на сайте.

А вы админку закрываете, через плагин?
Зачем вам плагин? Человек и даже многие боты прекрасно знают, по какому адресу лежит папка administrator. Думаете, они ее будут брутить? Для этого достаточно более-менее нормального пароля и логин не admin. Для надежности можно поставить пароль на папку. Больше никакие плагины не нужны. Так, если я вижу в исходном коде в метатеге generator надпись Joomla, а при обращении к administrator меня кидает на 404, значит стоит adminexile или что то в этом роде... И значит, что сайт напихан всякими ненужными расширениями и его легко сломать. Вы кого обмануть этим плагином хотите? Ботам все равно, они в большинстве случаев даже не заморачиваются, какой стоит движок - в логах я вижу нередко, что к сайтам на Joomla пытаются применять сплойты от wordpress. Он тупо перебирает все, что может взломать сайт, и идет дальше. И админка ваша ему вообще не нужна.

Для Nginx - ну вот например статья...
« Последнее редактирование: 08.08.2020, 18:34:46 от SeBun »
Оказываю услуги по Joomla | Миграция/Обновление | Сопровождение | IT-аутсорсинг | Недорогие домены и хостинг
*

kiev

  • Захожу иногда
  • 118
  • 0 / 3
  • Маэстро!
Спасибо за разьяснение!
*

Septdir

  • Живу я здесь
  • 3370
  • 168 / 4
А... Просто моя разработка чем то похожа на RSFirewall, но в ней есть WAF, которые все эти эксплойты детектит. Поэтому и работает как презерватив на сайте.
Я уже писал, самое важное, ни что а когда.
То бишь если это после инициализации ядра, то это уже поздно и создает нагрузку.
Не можете справиться с задачей сами пишите, решу ее за вас, не бесплатно*.
*Интересная задача, Деньги или Бартер. Натурой не беру!
CodersRank | Контакты | Мой GitHub | Workshop
*

SeBun

  • BanMaster
  • 4030
  • 259 / 5
  • @SeBun48
То бишь если это после инициализации ядра, то это уже поздно и создает нагрузку.
У меня он включается до через auto_prepend_file, а уже потом отдает управление ядру.
Оказываю услуги по Joomla | Миграция/Обновление | Сопровождение | IT-аутсорсинг | Недорогие домены и хостинг
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

addScript (в админке) к пути файла js добавляет /administrator/. Зачем?

Автор kkmspb

Ответов: 0
Просмотров: 898
Последний ответ 02.09.2024, 14:42:25
от kkmspb
Фатальная ошибка после включения плагина MP3 Browser Plugin

Автор tinka

Ответов: 7
Просмотров: 2173
Последний ответ 04.03.2020, 20:00:10
от glushilka
Плагин для определения размера файла

Автор bigbelka

Ответов: 6
Просмотров: 1231
Последний ответ 26.09.2019, 15:55:08
от bigbelka
В админке компонента сделать выбор файла по типу выбора изображения из каталога

Автор Аня

Ответов: 1
Просмотров: 1477
Последний ответ 09.06.2016, 14:20:43
от Аня
Как в Attachments добавить новый тип файла?

Автор ABCroNews

Ответов: 9
Просмотров: 5710
Последний ответ 15.05.2016, 19:57:16
от vitaska