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

Innesiya

  • Новичок
  • 7
  • 0 / 0
Помогите решить проблему!
Перестал работать медиа-менеджер. Joomla 3.1.1. Не могу через панель управления загрузить фото, как следствие не грузятся аватарки в Combuilder.
Получается загружать фото через ftp-клиент, но проблему с аватарками решить не удается.

Подскажите, что надо сделать.

Скриншот настроек медиа-менеджера:


Права на папке images 777
С хостером связывалась, у них все в порядке.

Помогите пожалуйста >:(
« Последнее редактирование: 22.07.2013, 06:37:16 от Innesiya »
*

Innesiya

  • Новичок
  • 7
  • 0 / 0
Re: Проблема с загрузкой медиа файлов
« Ответ #1 : 22.07.2013, 00:47:19 »
После того как нажимаю кнопку загрузить медиа файл открывается белое окно с ссылкой http://www.bluffcatchers.ru/administrator/index.php?option=com_media&task=file.upload&tmpl=component&e867c2ec9129276ba1d91c424b061c9e=0j28feq6bu2h8qa1v6u8itja54&186b81b766202900c8394b77ad2b22ec=1&format=html&folder=

Неужели никто не подскажет?
*

Innesiya

  • Новичок
  • 7
  • 0 / 0
Re: Проблема с загрузкой медиа файлов
« Ответ #3 : 25.07.2013, 01:25:53 »
Выдает ошибку:

Notice: Undefined index: CONTENT_LENGTH in /home/innes/bluffcatchers.ru/www/administrator/components/com_media/controllers/file.php on line 61

Notice: Undefined index: CONTENT_LENGTH in /home/innes/bluffcatchers.ru/www/administrator/components/com_media/controllers/file.php on line 62

Notice: Undefined index: CONTENT_LENGTH in /home/innes/bluffcatchers.ru/www/administrator/components/com_media/controllers/file.php on line 63

Notice: Undefined index: CONTENT_LENGTH in /home/innes/bluffcatchers.ru/www/administrator/components/com_media/controllers/file.php on line 64

Warning: Invalid argument supplied for foreach() in /home/innes/bluffcatchers.ru/www/administrator/components/com_media/controllers/file.php on line 72

Warning: Invalid argument supplied for foreach() in /home/innes/bluffcatchers.ru/www/administrator/components/com_media/controllers/file.php on line 109

Содержимое этих строк:
$_SERVER['CONTENT_LENGTH'] > ($params->get('upload_maxsize', 0) * 1024 * 1024) ||
$_SERVER['CONTENT_LENGTH'] > (int) (ini_get('upload_max_filesize')) * 1024 * 1024 ||
$_SERVER['CONTENT_LENGTH'] > (int) (ini_get('post_max_size')) * 1024 * 1024 ||
(($_SERVER['CONTENT_LENGTH'] > (int) (ini_get('memory_limit')) * 1024 * 1024) && ((int) (ini_get('memory_limit'))!= -1))

foreach ($files as &$file)

foreach ($files as &$file)
*

b2z

  • Глобальный модератор
  • 7284
  • 778 / 0
  • Разраблю понемногу
Re: Проблема с загрузкой медиа файлов
« Ответ #4 : 25.07.2013, 09:42:25 »
Похоже был баг, но вроде как пофиксили:
http://joomlacode.org/gf/project/joomla/tracker/?action=TrackerItemEdit&tracker_item_id=29964

Цитировать
When php.ini have next option:
memory_limit -1  #memory unlimited
administrator can't upload files

С другой стороны, люди еще жалуются на эту проблему:
http://forum.joomla.org/viewtopic.php?f=615&t=805426
http://stackoverflow.com/questions/17801465/joomla-3-php-errors-when-uploading-files-through-the-media-manager

Как вариант, попробовать в php.ini поменять значение -1 на какое-то осмысленное. Например memory_limit = 64M.
Или прописать в .htaccess строчку:
php_value memory_limit 64M
*

Innesiya

  • Новичок
  • 7
  • 0 / 0
Re: Проблема с загрузкой медиа файлов
« Ответ #5 : 26.07.2013, 05:00:15 »
.
« Последнее редактирование: 26.07.2013, 08:53:27 от Innesiya »
*

b2z

  • Глобальный модератор
  • 7284
  • 778 / 0
  • Разраблю понемногу
*

Innesiya

  • Новичок
  • 7
  • 0 / 0
Re: Проблема с загрузкой медиа файлов
« Ответ #7 : 28.07.2013, 13:37:10 »
нет, не решила.
 в php.ini memory_limit 128mb
а если прописывать в .htaccess, то возникает 500 ошибка
*

jav1968

  • Новичок
  • 1
  • 0 / 0
Re: Проблема с загрузкой медиа файлов
« Ответ #8 : 09.10.2013, 18:13:04 »
В файле administrator/components/com_media/views/media/tmpl/default.php  замените <?php echo JURI::base(); ?> на <?php echo 'http(or https)://link_to_your_site/administrator/?>. И будет Вам счатье, я надеюсь
*

akovalenko777

  • Новичок
  • 3
  • 0 / 0
Re: Проблема с загрузкой медиа файлов
« Ответ #9 : 17.01.2014, 15:41:54 »
Возникла аналогичная проблема. Перепробовал всё что описано в данной теме - ничего не помогло. Хостеры отписались что проблема в компоненте и тут они ничем помочь не могут. Уверили что с параметром memory_limit все нормально. В админке "Информация о PHP" всё выводит правильно, права на папки стоят правильные, прямой URL менял. С данной проблемой провозился уже 2 дня, так ничего и не решилось. Может есть еще какие-то варианты или что-то в настройках Неправильно указано, хотя вроде все проверил. При этом до переноса на удаленный хостинг сайт разрабатывался на локальной машине, и никаких проблем не возникало.

Решение, которое помогло мне:

Разобрался с проблемой. Отчасти помогло понять что произошло смена URL в action формы загрузки. Там переменная <?php echo JURI::base(); ?> выводила доменное имя с "www", при этом в .htacces прописаны правила:
RewriteCond %{HTTP_HOST} ^www.домен.зона$ [NC]
RewriteRule ^(.*)$ http://домен.зона/$1 [R=301,L]
НО! данная подмена не происходит при обработке форм, а адрес сайта с "www" был прописан в configuration.php в переменной
var $live_site = 'http://www.домен.зона';
как только убрал "www" все формы заработали нормально.
« Последнее редактирование: 17.01.2014, 16:52:10 от akovalenko777 »
*

Petrovich

  • Осваиваюсь на форуме
  • 45
  • 0 / 0
Re: Проблема с загрузкой медиа файлов
« Ответ #10 : 17.07.2018, 17:03:40 »

Решение, которое помогло мне:

Разобрался с проблемой. Отчасти помогло понять что произошло смена URL в action формы загрузки. Там переменная <?php echo JURI::base(); ?> выводила доменное имя с "www", при этом в .htacces прописаны правила:
RewriteCond %{HTTP_HOST} ^www.домен.зона$ [NC]
RewriteRule ^(.*)$ http://домен.зона/$1 [R=301,L]
НО! данная подмена не происходит при обработке форм, а адрес сайта с "www" был прописан в configuration.php в переменной
var $live_site = 'http://www.домен.зона';
как только убрал "www" все формы заработали нормально.

Отлично, большое спасибо за решение
Проблема легко решается!
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Проблема с адаптацией

Автор Leo1986

Ответов: 1
Просмотров: 293
Последний ответ 22.05.2025, 20:30:25
от Leo1986
Проблема с плагином News Show gk5

Автор Evgeniy

Ответов: 4
Просмотров: 661
Последний ответ 27.03.2025, 05:38:57
от R31rus
Проблема со входом в панель администратора Joomla 3.x после обновления

Автор danieeljose

Ответов: 2
Просмотров: 705
Последний ответ 24.03.2025, 20:33:02
от R31rus
Валидация формы с загрузкой файлов на сервер

Автор kuliev

Ответов: 4
Просмотров: 757
Последний ответ 17.01.2025, 14:38:44
от kuliev
Проблема с меню

Автор denis_4

Ответов: 6
Просмотров: 1099
Последний ответ 07.08.2024, 14:00:43
от denis_4