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

valerka28

  • Осваиваюсь на форуме
  • 30
  • 0 / 0
Доброго дня.
Смотрю, частные случаи, наподобие этого, людям не интересны?
Переформулирую вопрос:

Пункт меню с доступом "Public" ссылается на статью с доступом "Registered".
Почему гостю при переходе по данному пункту виден текст статьи?

Спасибо.
*

Septdir

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

voland

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

Septdir

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

voland

  • Легенда
  • 11028
  • 588 / 112
  • Эта строка съедает место на вашем мониторе
Ну да, если у меты приритет, то логинчо предположить что com_content кроме настроек в правах тоже отдает приритет пункту меню (ну во всяком случае я в своих недокомпонентах отдаю приоритет ему.)
Это разные вещи.
Доступ и наличие мета\тайтла\настроек
*

Septdir

  • Живу я здесь
  • 3370
  • 168 / 4
Это разные вещи.
Доступ и наличие мета\тайтла\настроек
Ну вот если пунт меню закрыт то и в материал не попасть. ведь в парметрах есть itemid(пункт менб) и его пармаеты и если это работает в одну сторону то и другую будет.
« Последнее редактирование: 07.02.2017, 19:35:57 от Septdir »
Не можете справиться с задачей сами пишите, решу ее за вас, не бесплатно*.
*Интересная задача, Деньги или Бартер. Натурой не беру!
CodersRank | Контакты | Мой GitHub | Workshop
*

dmitry_stas

  • Легенда
  • 13151
  • 1234 / 8
и если это работает в одну сторону то и другую будет.
как то нелогично :) есть дверь, за ней еще одна. на каждой замок. если ключа от первой нет, то не важно есть ли ключ от второй. первую мы все равно не пройдем. тут вы логично говорите. но дальше - если у нас есть ключ от первой, то разве это значит что автоматически и вторая для нас открыта?

Пункт меню с доступом "Public" ссылается на статью с доступом "Registered".
Почему гостю при переходе по данному пункту виден текст статьи?
если это так, то имхо это явный баг. как по мне пункты меню и материалы - это непересекающиеся понятия. у каждого свои права. пункт меню паблик - заходи кто хош, бери что хош. что находится в данном меню с доступом паблик. мало ли что там еще кроме материала есть. а вместо материала в данном случае имхо должно быть что то вроде Пожалуйста зарегитсрируйтесь для просмотра
« Последнее редактирование: 07.02.2017, 19:28:12 от dmitry_stas »
Тут дарят бакс просто за регистрацию! Успей получить!
Все советы на форуме раздаю бесплатно, то есть даром. Индивидуально бесплатно консультирую только по вопросам стоимости индивидуальных консультаций
*

Septdir

  • Живу я здесь
  • 3370
  • 168 / 4
как то нелогично :) есть дверь, за ней еще одна. на каждой замок. если ключа от первой нет, то не важно есть ли ключ от второй. первую мы все равно не пройдем. тут вы логично говорите. но дальше - если у нас есть ключ от первой, то разве это значит что автоматически и вторая для нас открыта?
Все голова лопнула. Ну в идеале конечно, отдавать приоритет, той группе у который больше прав.
Ну тобишь если группа в материал не совпадает с группой в меню, к примеру  Все и Зарегистрированные(все равно у кого что), то посмотреть могут только Зарегистрированные. Но увы я даже не представляю как такое провернуть на Joomla где группы и уровни могут создавать пользователи.
Но вот проверку в материале я бы делал  и если материал привязан к прунтку меню и  группы не совпадают отдавал бы приоритет пункту меню. Дабы исключит любое недопонимание. Так же как и с настройками и прочим пункт меню в приоритете. Но это только с точки зрение удобства для тех кто забыл и работает исключительно в частном случае. когда материал(не категория) привязан к пункту меню.
Хотя и тут можно всю голову сломать, когда начинаешь думать о категории.

Но так или иначе. не поленился в полез в модель и глянул, был не прав пункт меню не причем, но правда нашел пару условий
// If the access filter has been set, we already know this user can view.
// If no access filter is set, the layout takes some responsibility for display of limited information.
« Последнее редактирование: 07.02.2017, 20:10:14 от Septdir »
Не можете справиться с задачей сами пишите, решу ее за вас, не бесплатно*.
*Интересная задача, Деньги или Бартер. Натурой не беру!
CodersRank | Контакты | Мой GitHub | Workshop
*

fsv

  • Живу я здесь
  • 2781
  • 410 / 2
Пункт меню с доступом "Public" ссылается на статью с доступом "Registered".
Почему гостю при переходе по данному пункту виден текст статьи?
Даже интересно стало, на полигоне сделал. При переходе в статью:
Цитировать
Ошибка
Для просмотра этой информации необходимо пройти авторизацию
Веб-разработка: заказ. Только новая разработка.
*

dmitry_stas

  • Легенда
  • 13151
  • 1234 / 8
Даже интересно стало, на полигоне сделал. При переходе в статью:
ну вот. все логично :)
Тут дарят бакс просто за регистрацию! Успей получить!
Все советы на форуме раздаю бесплатно, то есть даром. Индивидуально бесплатно консультирую только по вопросам стоимости индивидуальных консультаций
*

valerka28

  • Осваиваюсь на форуме
  • 30
  • 0 / 0
Цитировать
Даже интересно стало, на полигоне сделал. При переходе в статью:

Есть такое, только если выключен пункт "показывать ссылки неавторизованным". Если его включить, то виден текст статьи. Попробуйте.

P.S. Joomla 3.6.5
« Последнее редактирование: 08.02.2017, 14:40:12 от valerka28 »
*

fsv

  • Живу я здесь
  • 2781
  • 410 / 2
Есть такое, только если выключен пункт "показывать ссылки неавторизованным". Если его включить, то виден текст статьи. Попробуйте.
P.S. Joomla 3.6.5
Да, у меня был выключен. Чтобы вообще статью не видеть.
Кто вам мешает выключить?
Включил. Опять же все нормально, как и описано в тултипе настройки.
При переходе в статью ДО "подробнее" статья видна, после - не видна: "Зарегистрируйтесь, чтобы прочесть подробности... "
http://clip2net.com/s/3Hj5cWA
http://clip2net.com/s/3Hj5iGa

В чем вопрос то?
Веб-разработка: заказ. Только новая разработка.
*

valerka28

  • Осваиваюсь на форуме
  • 30
  • 0 / 0
Цитировать
При переходе в статью ДО "подробнее" статья видна, после - не видна: "Зарегистрируйтесь, чтобы прочесть подробности... "

Вот где собака порылась!... Честно говоря, и не додумывался поставить разделитель. Просто в Joomla 1.5 совсем не показывал статью и сразу отсылал на форму авторизации, потому я решил, что это может быть баг, а как оказалось, они изменили алгоритм, и это даже к лучшему!

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

Помогите с БАГом в панели администратора Joomla 3

Автор akteon25

Ответов: 2
Просмотров: 1079
Последний ответ 26.02.2025, 16:41:56
от akteon25
Версии РНР и Joomla 3

Автор Ebelous

Ответов: 8
Просмотров: 2851
Последний ответ 27.01.2025, 20:38:45
от pavelrer
Trouble Upgrading from Joomla 3.8 to 3.9

Автор melissa00

Ответов: 0
Просмотров: 1684
Последний ответ 26.07.2024, 10:03:51
от melissa00
SP polls в Joomla 3.8.2

Автор wawont

Ответов: 2
Просмотров: 3355
Последний ответ 22.02.2024, 21:03:15
от Zegeberg
Исправление уязвимости в Joomla 3.10.12

Автор Sulpher

Ответов: 8
Просмотров: 3036
Последний ответ 12.01.2024, 22:15:52
от stepan39