Новости 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 для атрибута addfieldprefix namespace 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 #разработка

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

dmitry_stas

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

wishlight

  • Гуру
  • 5051
  • 314 / 1
  • От 300 руб быстрый хостинг. Сервера.
Украина, это ребята, Донецкая область. Мегафона тут и близко нет.

Ну надеюсь все поняли, что не я про операторов говорил? И что намекнул что это Украина? Так про всякий случай во избежание недопониманий.
*

SeBun

  • BanMaster
  • 4030
  • 259 / 5
  • @SeBun48
причина - т.е. вирус?
Причина даже не вирус, а ваше отношение к проекту. Во первых, из чего он сделан? Сейчас многие качают все бесплатное - шаблоны, расширения, а то и готовые сборки, а потом бегут жаловаться, что у них реклама на сайте. Вы должны уяснить для себя, что бесплатного в этом мире нет. Те, кто выкладывают что то бесплатно, зарабатывают на этом тем или иным способом, нередко за ваш счет. Во вторых - мало создать проект, за ним нужно ухаживать, нужно мониторить и регулярно обновлять. Это как огород - не бывает так, что бы воткнул в землю картошку, а осенью приехал собирать. Нет, нужно вносить в землю удобрения, навоз, пропалывать от сорняков, гонять соседа, который любит выкапывать у вас ее по ночам и т.п. Только тогда урожай будет. Вы должны понимать, что в таких популярных продуктах, как Joomla, постоянно ищут баги, уязвимости. И если их не закрывать обновлениями, сайт будет взломан. При этом ломают его не люди, а программы. Нужно обновлять расширения. Нужно следить за изменениями. Нужно так же помнить о том, что если сайт у вас супер пупер защищенный, то ломается хостер, панель и т.п. Самое распространенное - заражение через соседние сайты на вашем аккаунте - почему то до сих пор хостеры так и не сделали нормальное разделение прав.

Сейчас вам нужно определиться с тем, сколько денег вы готовы выделить на решение проблемы. Самостоятельно вы можете безопасно решить проблему, если только поставите чистую Joomla и вручную перенесете на нее материалы, пользователей, картинки. Боюсь, на большее вас не хватит. Могу вам за 2 тыс. рублей сделать миграцию данных с вашей Joomla на последнюю версию. 100% без вирусов. С шаблоном сами разбирайтесь, т.к. уверен, что он варезный. То же самое по расширениям - платные я не буду переносить, если вы их не покупали. Если хотите под ключ - то лучше поднимите тему в коммерческом разделе. Выйдет немного дороже, но вам почистят сайт и обновят.

И по хостеру - даже если вам сайт сделают, а с хостингом будет все плачевно, вас опять взломают. Если же взлом целевой - тут даже и хостинг не спасет. Это нужно понимать.
Оказываю услуги по Joomla | Миграция/Обновление | Сопровождение | IT-аутсорсинг | Недорогие домены и хостинг
*

AlexB

  • Завсегдатай
  • 1973
  • 54 / 2
А как же бесплатные шаблоны, модули, плагины и даже целые компоненты у многих студий?
Да, часто сопровождаются копирайтом.
Но есть и такие где он отключается в настройках.
*

voland

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

AlexB

  • Завсегдатай
  • 1973
  • 54 / 2
Выше имелось ввиду не бесплатное от разработчиков, а выложенное бесплатно на различных помойках.
Там кстати и бесплатные расширения (с внедренной вируснёй) тоже встречаются.
Это факт.
Пользовать можно для ознакомления на локалке или подсмотреть ту или иную реализацию
*

Urzufschool

  • Осваиваюсь на форуме
  • 14
  • 0 / 0
в Украине ни разу не видел рекламы от опсоса. да и судя по ее появлению в том числе при подключении к wi-fi у вас не она, а вирус. вам нужно лечить сайт
Спасибо.
*

Urzufschool

  • Осваиваюсь на форуме
  • 14
  • 0 / 0
Ну надеюсь все поняли, что не я про операторов говорил? И что намекнул что это Украина? Так про всякий случай во избежание недопониманий.
Все поняли. Спасибо.
*

Urzufschool

  • Осваиваюсь на форуме
  • 14
  • 0 / 0
Причина даже не вирус, а ваше отношение к проекту. Во первых, из чего он сделан? Сейчас многие качают все бесплатное - шаблоны, расширения, а то и готовые сборки, а потом бегут жаловаться, что у них реклама на сайте. Вы должны уяснить для себя, что бесплатного в этом мире нет. Те, кто выкладывают что то бесплатно, зарабатывают на этом тем или иным способом, нередко за ваш счет. Во вторых - мало создать проект, за ним нужно ухаживать, нужно мониторить и регулярно обновлять. Это как огород - не бывает так, что бы воткнул в землю картошку, а осенью приехал собирать. Нет, нужно вносить в землю удобрения, навоз, пропалывать от сорняков, гонять соседа, который любит выкапывать у вас ее по ночам и т.п. Только тогда урожай будет. Вы должны понимать, что в таких популярных продуктах, как Joomla, постоянно ищут баги, уязвимости. И если их не закрывать обновлениями, сайт будет взломан. При этом ломают его не люди, а программы. Нужно обновлять расширения. Нужно следить за изменениями. Нужно так же помнить о том, что если сайт у вас супер пупер защищенный, то ломается хостер, панель и т.п. Самое распространенное - заражение через соседние сайты на вашем аккаунте - почему то до сих пор хостеры так и не сделали нормальное разделение прав.

Сейчас вам нужно определиться с тем, сколько денег вы готовы выделить на решение проблемы. Самостоятельно вы можете безопасно решить проблему, если только поставите чистую Joomla и вручную перенесете на нее материалы, пользователей, картинки. Боюсь, на большее вас не хватит. Могу вам за 2 тыс. рублей сделать миграцию данных с вашей Joomla на последнюю версию. 100% без вирусов. С шаблоном сами разбирайтесь, т.к. уверен, что он варезный. То же самое по расширениям - платные я не буду переносить, если вы их не покупали. Если хотите под ключ - то лучше поднимите тему в коммерческом разделе. Выйдет немного дороже, но вам почистят сайт и обновят.

И по хостеру - даже если вам сайт сделают, а с хостингом будет все плачевно, вас опять взломают. Если же взлом целевой - тут даже и хостинг не спасет. Это нужно понимать.
Прежде чем предложить услугу, надо убедить клиента, что все очень плачевно, и он обязательно у вас ее купит, дабы решить свои проблемы. Причем, если клиент в панике - то сразу у вас и купит, даже ни у кого больше спрашивать не будет. У Вас это хорошо получается. Я не с ухмылкой, я серъезно. Спасибо за рекламу, убеждения и ссылки на опыт. Посмотрим со всех сторон на проблему, посмотрим на варианты решения и потом будем принимать меры.
*

SeBun

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

Missile

  • Завсегдатай
  • 1116
  • 90 / 1
Ну надеюсь все поняли, что не я про операторов говорил? И что намекнул что это Украина? Так про всякий случай во избежание недопониманий.
Возможно, Вы удивитесь, но этим грешат не только опсосы РФ. В тех же США это используется уже давно - причём, там не только в мобильный трафик врезают рекламу. Пример из 2015 года. 
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Какие расширения с Telegram Вы хотели бы установить на своем сайте?

Автор rkron

Ответов: 6
Просмотров: 1676
Последний ответ 07.09.2023, 11:55:45
от GTOnidzuka
Что за баннер на сайте

Автор Lewon15

Ответов: 3
Просмотров: 995
Последний ответ 21.06.2023, 23:26:06
от sivers
Как найти слово на сайте?

Автор kochevnik

Ответов: 12
Просмотров: 1074
Последний ответ 14.03.2023, 15:50:38
от kochevnik
Ошибка при поиске на сайте 1267 - Illegal mix of collations (utf8_general_ci, IMP

Автор androv77

Ответов: 4
Просмотров: 852
Последний ответ 21.12.2022, 10:37:00
от androv77
Проверка наличия пользователя на сайте

Автор Robert24

Ответов: 6
Просмотров: 583
Последний ответ 15.10.2022, 14:40:51
от marksetter