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

romanvasilyev

  • Новичок
  • 8
  • 1 / 0
Здравствуйте! Подскажите, пожалуйста, по решению вопроса с отправкой почты из Joomla 5.

Задача стоит такая, чтобы на сайте работали формы отправки данных, а для этого нужно настроить в самой Joomla отправку писем. Я решил сделать это через SMTP (как я понял это самый простой вариант избежать проблем), чтобы можно было отправить на любую почту данные с форм на сайте. По инструкции все сделал правильно, но когда нажимаю отправить тестовое письмо, выходит ошибка: SMTP Error: Could not authenticate. Писал в тех. поддержку хостинга, они мне сказали указать их SMTP настройки, указал, ошибка: SMTP Error: Could not connect to SMTP host. Failed to connect to server. Затем они говорят пароль неверный у меня на почте, но все 10 раз перепроверил, все верно.

В итоге отправляют к тех. поддержке Gmail ссылаясь на эту статью: https://support.google.com/a/answer/6260879?hl=ru в этой статье говорится, что осенью все приложения авторизации почты где нет поддержки oauth 2.0 перестанут работать. Но сейчас еще май, а значит ничего не отключали. Есть ли в Joomla 5 поддержка oauth 2.0?

Уже 3 дня бьюсь с этим вопросом и ничего не могу решить. Помогите, пожалуйста, что делать? Хостинг другой искать или проблема все-таки в Gmail? Или каким образом лучше всего настроить?
*

web1

  • Захожу иногда
  • 339
  • 19 / 1
Re: Ошибка авторизации smtp Gmail в Joomla 5
« Ответ #1 : 03.05.2024, 14:52:13 »
Не советую использовать Smtp сервер, как почту могут ломонуть, email адрес почты и пароль прописывается в configuration.php, и его спокойно могут ломануть недобросовестные админы или модераторы на хостинге.
*

romanvasilyev

  • Новичок
  • 8
  • 1 / 0
Re: Ошибка авторизации smtp Gmail в Joomla 5
« Ответ #2 : 03.05.2024, 15:02:06 »
Не советую использовать Smtp сервер, как почту могут ломонуть, email адрес почты и пароль прописывается в configuration.php, и его спокойно могут ломануть недобросовестные админы или модераторы на хостинге.

Спасибо за такое важное замечание. Скажите, пожалуйста, какой лучше способ тогда использоваться в Joomla для этих целей PHP Mail или Sendmail? Читал, что эти способы вроде блокируются многими провайдерами и потому еще решил SMTP.
*

web1

  • Захожу иногда
  • 339
  • 19 / 1
Re: Ошибка авторизации smtp Gmail в Joomla 5
« Ответ #3 : 03.05.2024, 15:07:55 »
Та обычный PHP mail используйте и все, у меня все нормально работает.
*

Vastriet

  • Захожу иногда
  • 405
  • 11 / 0
Re: Ошибка авторизации smtp Gmail в Joomla 5
« Ответ #4 : 03.05.2024, 15:21:47 »
Та обычный PHP mail используйте и все, у меня все нормально работает.
чушь не несите
будете в спаме висеть и так далее
smtp самый оптимальный
*

Vastriet

  • Захожу иногда
  • 405
  • 11 / 0
Re: Ошибка авторизации smtp Gmail в Joomla 5
« Ответ #5 : 03.05.2024, 15:22:53 »
Не советую использовать Smtp сервер, как почту могут ломонуть, email адрес почты и пароль прописывается в configuration.php, и его спокойно могут ломануть недобросовестные админы или модераторы на хостинге.
пароли приложений же придумали просто так
*

romanvasilyev

  • Новичок
  • 8
  • 1 / 0
Re: Ошибка авторизации smtp Gmail в Joomla 5
« Ответ #6 : 03.05.2024, 15:41:53 »
пароли приложений же придумали просто так

Что за пароли приложений? Это плагин для Joomla? Данные почты действительно прописываются в configuration.php...
*

Vastriet

  • Захожу иногда
  • 405
  • 11 / 0
Re: Ошибка авторизации smtp Gmail в Joomla 5
« Ответ #7 : 03.05.2024, 15:42:49 »
это в настройках аккаунта почты у того же джимайл, яндекс и прочих почтовиков
*

romanvasilyev

  • Новичок
  • 8
  • 1 / 0
Re: Ошибка авторизации smtp Gmail в Joomla 5
« Ответ #8 : 03.05.2024, 15:47:34 »
это в настройках аккаунта почты у того же джимайл, Яндекс и прочих почтовиков

Так для этого в Gmail нужен доменный аккаунт тогда? На обычном такого нет. Я захожу по инструкции где нужно разрешить приложения, но там пишет в вашей почте это недоступно. У меня обычная почта gmail. И вот статья https://support.google.com/a/answer/6260879?hl=ru осенью не отрежет Google SMTP всем?
*

Vastriet

  • Захожу иногда
  • 405
  • 11 / 0
Re: Ошибка авторизации smtp Gmail в Joomla 5
« Ответ #9 : 03.05.2024, 15:52:29 »
Так для этого в Gmail нужен доменный аккаунт тогда? На обычном такого нет. Я захожу по инструкции где нужно разрешить приложения, но там пишет в вашей почте это недоступно. У меня обычная почта gmail. И вот статья https://support.google.com/a/answer/6260879?hl=ru осенью не отрежет Google SMTP всем?
так заведите ящик на своем домене для отправки форм и не мучайтесь
*

web1

  • Захожу иногда
  • 339
  • 19 / 1
Re: Ошибка авторизации smtp Gmail в Joomla 5
« Ответ #10 : 03.05.2024, 16:05:47 »
Данные от FTP, и данные от SMTP не советую прописывать в настройках configuration.PHP! Рекомендация!
*

romanvasilyev

  • Новичок
  • 8
  • 1 / 0
Re: Ошибка авторизации smtp Gmail в Joomla 5
« Ответ #11 : 03.05.2024, 17:40:38 »
Ну вот я проверил, действительно по PHP Mail попало в спам, хотя сайт еще не запущен, почта новая, выходит так и будет постоянно? И это я отправлял просто тестовое сообщение Joomla. Не понимаю тогда как быть, защита же должна быть для configuration.php? Сделаю тогда почту у хостера доменную, фиг с этим Gmail.
*

Vastriet

  • Захожу иногда
  • 405
  • 11 / 0
Re: Ошибка авторизации smtp Gmail в Joomla 5
« Ответ #12 : 03.05.2024, 17:43:40 »
Ну вот я проверил, действительно по PHP Mail попало в спам, хотя сайт еще не запущен, почта новая, выходит так и будет постоянно? Не понимаю тогда как быть, защита же должна быть для configuration.php? Сделаю тогда почту у хостера доменную, фиг с этим Gmail
да какая защита вам нужна. кто полезет в файлы хостинга.
используйте smtp
на хостинге запустите почтовик
включите dkim,dmark, spf
и будет вам счастье
*

romanvasilyev

  • Новичок
  • 8
  • 1 / 0
Re: Ошибка авторизации smtp Gmail в Joomla 5
« Ответ #13 : 03.05.2024, 17:44:58 »
да какая защита вам нужна. кто полезет в файлы хостинга.
используйте smtp
на хостинге запустите почтовик
включите dkim,dmark, spf
и будет вам счастье

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

Сделал шаблон для Joomla 5

Автор fbr

Ответов: 5
Просмотров: 748
Последний ответ 11.06.2025, 20:46:04
от fbr
Дубли Joomla 5

Автор bormir

Ответов: 15
Просмотров: 1671
Последний ответ 25.05.2025, 09:16:03
от bormir
Joomla 5 и MySQL 5.7

Автор n_nickon

Ответов: 6
Просмотров: 677
Последний ответ 20.05.2025, 22:23:56
от n_nickon
Сломался сайт Joomla 4 после обновления одного модуля

Автор androv77

Ответов: 4
Просмотров: 627
Последний ответ 17.05.2025, 06:12:07
от azm1n
Как найти и исправить ошибки php на Joomla?

Автор azm1n

Ответов: 0
Просмотров: 361
Последний ответ 07.05.2025, 11:44:31
от azm1n