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

alfabet

  • Осваиваюсь на форуме
  • 21
  • 0 / 0
Joomla 3.5.1. Сначала плагин не работал. Скачал с сайта и переустановил. Поле в материале появилось, но в коде все равно title из названия материала, а текст добавился в мета тег, который ни на что не влияет - <meta name="browser_title" content="
*

Kot_Begemot

  • Новичок
  • 8
  • 1 / 0
Поле в материале появилось, но в коде все равно title из названия материала, а текст добавился в мета тег, который ни на что не влияет - <meta name="browser_title" content="

Точно. Я ошибся. Тот кусок что я привел работает отлично. Что-то не срабатывает вот в этой части:
Код
public function onBeforeCompileHead(){
$doc =& JFactory::getDocument();
if(isset($doc->_metaTags['standard']['browser_title'])){
$browser_title = $doc->_metaTags['standard']['browser_title'];
$doc->setTitle($browser_title);
unset($doc->_metaTags['standard']['browser_title']);
}
}
По идее вводимый нами title создается как отдельный метатег, а потом подменяет создаваемый Joomla оригинальный тайтл... Значит не срабатывает именно эта подмена. А она в этом куске кода...
*

admirus

  • Захожу иногда
  • 88
  • 0 / 0
Вообще по идеи такое в коробке должно быть, а не отдельными плагинами вставлять
*

764997

  • Новичок
  • 4
  • 0 / 0
может разработчика надо промотивировать вознаграждением? Я согласен что труд должен оплачитаться. Откатиться я уже назад не могу с 3.6. слишком поздно заметил ))) а ставить другой плагин и исправлять все материалы еб...ся можно
*

Festival

  • Осваиваюсь на форуме
  • 34
  • 1 / 0
писал разработчику и предлагал оплату, пока тишина
*

pharaoh

  • Захожу иногда
  • 426
  • 53 / 0
Коллеги, спасибо за внимание к плагину. Мы в курсе о проблеме, на почте много писем на эту тему.
Обязуюсь починить (если там в Joomla гайки не закрутили) в течение ближайшего времени (1-7 дней).
Приносим извинения, что до сих пор не выпустили обновленную версию.
*

pharaoh

  • Захожу иногда
  • 426
  • 53 / 0
Коллеги, спасибо за внимание к плагину.
Мы обновили версию и адаптировали ее под Joomla 3.6 (протестировали на 3.6.2).
Обновленную версию можно скачать с сайта http://myext.eu/ru/j25-articles-title
*

764997

  • Новичок
  • 4
  • 0 / 0
народ, теперь думается надо отблагодарить автора. С каждого понемного получится приз ).
pharaoh кошелек для всех желающих в студию пожалуйста )
*

Kostuk

  • Осваиваюсь на форуме
  • 22
  • 0 / 0
Большое спасибо, что починили плагин! Только теперь заметил, что когда обновляю страницу, title сбрасывается ... нужно чистить кэш. Это только у меня так или есть такая проблема?
*

pharaoh

  • Захожу иногда
  • 426
  • 53 / 0
Большое спасибо, что починили плагин! Только теперь заметил, что когда обновляю страницу, title сбрасывается ... нужно чистить кэш. Это только у меня так или есть такая проблема?
Проблема с кешем была всегда, просто не все кеш включают. Для обхода этой проблемы нужно дополнительно использовать модуль, который идет в комплекте. "Если включено кеширование, то опубликовать модуль на любой видимой позиции"
*

Kostuk

  • Осваиваюсь на форуме
  • 22
  • 0 / 0
Проблема с кешем была всегда, просто не все кеш включают. Для обхода этой проблемы нужно дополнительно использовать модуль, который идет в комплекте. "Если включено кеширование, то опубликовать модуль на любой видимой позиции"
Сначала включил модуль - не помогло. Потом переключил Прогрессивное кэширование на Стандартное - все отлично работает :)
Спасибо за помощь!
*

Aleks45

  • Осваиваюсь на форуме
  • 39
  • 0 / 0
Нашел хорошую альтернативу этому плагину, OSMeta https://alex-kurteev.ru/masterskaya-joomla/full/1389-masterskaya-joomla-10.html
*

globus812

  • Осваиваюсь на форуме
  • 24
  • 0 / 0
Выдает Предупреждение в Joomla! 3.6.5 после обновления плагинов:

Обновление: Ошибка открытия сервера обновлений #13 "myextPagetitleContent", URL: http://myext.eu/updates/plg_content_myextPagetitleContent.xml
Обновление: Ошибка открытия сервера обновлений #14 "mod_myextPagetitle", URL: http://myext.ru/updates/mod_myextPagetitle.xml
*

designer71

  • Захожу иногда
  • 148
  • 0 / 0
Отличный плагин.
Вылезла ошибка - полсе обновления до PHP 7.**  
Deprecated: Methods with the same name as their class will not be constructors in a future version of PHP; plgContentMyextPagetitleContent has a deprecated constructor in /home/****/****/www/plugins/content/myextPagetitleContent/myextPagetitleContent.php on line 13
Joomla 3.7
Писал в support - тишина


Да, и еще заметил, после обновления до Joomla 3.7 в редакторе материалов не работаю кнопки Сохранить, закрыть и проч.
само поле  Title не появляется, часть функций редактора - как-то - публикация, изображение, метатеги - исчезли.
PHP версия 5.6
« Последнее редактирование: 12.05.2017, 11:43:17 от designer71 »
*

Festival

  • Осваиваюсь на форуме
  • 34
  • 1 / 0
да,
Отличный плагин.
Вылезла ошибка - полсе обновления до PHP 7.** 
Deprecated: Methods with the same name as their class will not be constructors in a future version of PHP; plgContentMyextPagetitleContent has a deprecated constructor in /home/****/****/www/plugins/content/myextPagetitleContent/myextPagetitleContent.php on line 13
Joomla 3.7
Писал в support - тишина


Да, и еще заметил, после обновления до Joomla 3.7 в редакторе материалов не работаю кнопки Сохранить, закрыть и проч.
само поле  Title не появляется, часть функций редактора - как-то - публикация, изображение, метатеги - исчезли.
PHP версия 5.6

у меня так же, вам удалось решить проблему?
*

neogeek

  • Захожу иногда
  • 196
  • 21 / 2
В 3.7(возможно в несколько ранних версиях тоже) этот плагин не нужен, появилось штатное поле для этой цели.
При создании/редактировании материала на вкладке - Отображение, в самом низу есть поле - Заголовок страницы в браузере
*

designer71

  • Захожу иногда
  • 148
  • 0 / 0
Реально, спасибо. Я не знал об этой опции.
*

admirus

  • Захожу иногда
  • 88
  • 0 / 0
Вот конечно это именно удобно, что рядом расположено. Могли бы уже сами авторы Joomla сделать это по умолчанию. Ведь это нужно в плане SEO
Хотя ведь многие сайты не пользуются и ничего в топе. Может мы сами придумываем.
*

pharaoh

  • Захожу иногда
  • 426
  • 53 / 0
Отличный плагин.
Вылезла ошибка - полсе обновления до PHP 7.** 
Deprecated: Methods with the same name as their class will not be constructors in a future version of PHP; plgContentMyextPagetitleContent has a deprecated constructor in /home/****/****/www/plugins/content/myextPagetitleContent/myextPagetitleContent.php on line 13
Joomla 3.7
Писал в support - тишина


Да, и еще заметил, после обновления до Joomla 3.7 в редакторе материалов не работаю кнопки Сохранить, закрыть и проч.
само поле  Title не появляется, часть функций редактора - как-то - публикация, изображение, метатеги - исчезли.
PHP версия 5.6

Приняли в работу, починим.

В 3.7(возможно в несколько ранних версиях тоже) этот плагин не нужен, появилось штатное поле для этой цели.
При создании/редактировании материала на вкладке - Отображение, в самом низу есть поле - Заголовок страницы в браузере
Подскажите по опыту, есть ли у текущего плагина практические преимущества? Стоит ли актуализировать поддержку Joomla 3.7+ или наоборот выдавать пользователям уведомление, где искать родное поле?
*

neogeek

  • Захожу иногда
  • 196
  • 21 / 2
Подскажите по опыту, есть ли у текущего плагина практические преимущества? Стоит ли актуализировать поддержку Joomla 3.7+ или наоборот выдавать пользователям уведомление, где искать родное поле?
на данный момент есть 2 преимущества у вашего плагина
1 поле ввода у вас выводится можно сказать "под рукой" в отличии от штатного(надо перейти на другую вкладку и пролистать в самый низ)
2 у вас и для категорий это поле есть, а разработчики Joomla почему-то сделали только для материалов.

так что смысл использовать этот плагин в некоторых случаях есть (если категорий много очень и лень на них пункты меню создавать), если категорий немного, то ИМХО и плагин уже не нужен

я бы актуализировал ваш плагин таким образом:
1 функция просто переносит штатное поле в более удобное место
2 функция добавляет поле для категории
« Последнее редактирование: 27.06.2017, 10:11:30 от neogeek »
*

romanchik

  • Новичок
  • 4
  • 0 / 0
Приняли в работу, починим.
Подскажите по опыту, есть ли у текущего плагина практические преимущества? Стоит ли актуализировать поддержку Joomla 3.7+ или наоборот выдавать пользователям уведомление, где искать родное поле?

Удобный плагин, нужно актуализировать поддержку Joomla 3.7+
*

pharaoh

  • Захожу иногда
  • 426
  • 53 / 0
Удобный плагин, нужно актуализировать поддержку Joomla 3.7+
Актуализировали, новая версия на сайте. Разбирайте.

я бы актуализировал ваш плагин таким образом:
1 функция просто переносит штатное поле в более удобное место
2 функция добавляет поле для категории
Если есть желающие помочь с тестированием, могу сделать и описанным способом. Сейчас есть актуальная версия, работающая по старой схеме с одним дополнительным полем и для статей, и для категорий.
*

rysya

  • Осваиваюсь на форуме
  • 25
  • 1 / 0
Кто знает в чем может быть проблема? стоит версия 3.6.5. установила плагин и модуль, включила, но в материалах так и не появилось нигде поле для введения своего титла..
при этом при установке выдало:
Цитировать
Add "Page title" field into com_content form.
For support of 3rd extensions write on support@myext.eu
что-то еще дополнительно нужно поменять? а где? а как?) вроде ни у кого таких проблем не возникало..
*

rysya

  • Осваиваюсь на форуме
  • 25
  • 1 / 0
Вопрос отпал. пришлось обновится до 3.7 версии
*

Михаил web

  • Новичок
  • 1
  • 0 / 0
Только что решил проблему с переходом на PHP 7.1 на своём сайте https://webseo.kz/
Deprecated: Methods with the same name as their class will not be constructors in a future version of PHP; plgContentMyextPagetitleContent has a deprecated constructor in /plugins/content/myextPagetitleContent/myextPagetitleContent.php on line 13

Нужно
Код
function plgContentMyextPagetitleContent(&$subject, $config)
переделать в
Код
function __construct(&$subject, $config)
и всё!

*

Gerostrat

  • Захожу иногда
  • 374
  • 2 / 0
  • Свидетель чайной ложки
После обновления до Joomla 3.10 пропало поле в админке для записи Заголовка.
На фронте всё отображается, как и должно.
*

Zegeberg

  • Захожу иногда
  • 279
  • 7 / 1
После обновления до Joomla 3.10 пропало поле в админке для записи Заголовка.
На фронте всё отображается, как и должно.
Есть, не пропадало... не нашли?
*

Gerostrat

  • Захожу иногда
  • 374
  • 2 / 0
  • Свидетель чайной ложки
Там в php-файле основном нужно было что-то изменить с версиями. Там были какие-то настройки (не помню точно какие), где в зависимости от версии Joomla подгружался разный JS. Если это условие убрать, то всё работает, как и раньше.
*

kalabs

  • Новичок
  • 3
  • 1 / 0
Есть, не пропадало... не нашли?
Может, кому ещё актуально, если в админке не отображается строка Title.
В файле плагина myextPagetitleContent.php замените весь текущий код на код ниже:
Спойлер
[свернуть]
Не помню, откуда скачал рабочую версию...
На одном из сайтов не отображалась строка в админке, на втором всё нормально.
Заменил код на не рабочем сайте с рабочего и всё заработало.
Надеюсь Вам поможет.
*

globus812

  • Осваиваюсь на форуме
  • 24
  • 0 / 0
Может, кому ещё актуально, если в админке не отображается строка Title.
В файле плагина myextPagetitleContent.php замените весь текущий код на код ниже:
Спойлер
[свернуть]
Не помню, откуда скачал рабочую версию...
На одном из сайтов не отображалась строка в админке, на втором всё нормально.
Заменил код на не рабочем сайте с рабочего и всё заработало.
Надеюсь Вам поможет.
Спасибо огромное тебе, добрый человек! Помогло в Joomla 3.10.5.

В Joomla 4 работает этот плагин? Кто-нибудь проверял?
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Вывести поле изображение материала в модуле "Список материалов категории"

Автор aleksandrozz

Ответов: 12
Просмотров: 13066
Последний ответ 14.10.2022, 05:12:04
от denxio
Как добавить описание к пункту меню в Joomla 2.5? (Как у материалов)?

Автор nia

Ответов: 7
Просмотров: 5937
Последний ответ 29.03.2021, 12:10:26
от sivers
В моб версии не откриваються норм меню

Автор umsbeauty

Ответов: 0
Просмотров: 1476
Последний ответ 11.01.2021, 17:55:15
от umsbeauty
Убрать название пункта меню из URL материала

Автор fortuner

Ответов: 15
Просмотров: 8741
Последний ответ 31.10.2020, 00:46:04
от spas
Проблемка с правым меню

Автор V_V

Ответов: 3
Просмотров: 1708
Последний ответ 03.12.2019, 06:24:56
от Vovolsort