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

RazarioAgro

  • Захожу иногда
  • 473
  • 4 / 0
Joomla 3.3.3

При попытке обновления показана эта ошибка:

Update: :Extension: Не удалось открыть https://update.joomla.org/core/sts/extension_sts.xml Ошибка загрузки пакета обновления

Как исправить? Хочу обновить до 3.4.8, шаблон только что скачал с платной подписки Смарт Аддонс.....
*

SeBun

  • BanMaster
  • 4030
  • 259 / 5
  • @SeBun48
Не обновите, вы же в соседней теме задавали вопрос уже, вам ответили, что ваш сайт был взломан и на него залито много скриптов, которые повредили логику работы ядра.

Можете попробовать зайти самостоятельно на ГитХаб, скачать оттуда обновление и установить его как расширение стандартными средствами. Кстати по вашей ссылке файл лежит тут, можете скачать вручную. Это версия 3.1.3...а не 3.4.8
« Последнее редактирование: 04.03.2016, 16:25:37 от SeBun »
Оказываю услуги по Joomla | Миграция/Обновление | Сопровождение | IT-аутсорсинг | Недорогие домены и хостинг
*

RazarioAgro

  • Захожу иногда
  • 473
  • 4 / 0
Не обновите, вы же в соседней теме задавали вопрос уже, вам ответили, что ваш сайт был взломан и на него залито много скриптов, которые повредили логику работы ядра.

Можете попробовать зайти самостоятельно на ГитХаб, скачать оттуда обновление и установить его как расширение стандартными средствами. Кстати по вашей ссылке файл лежит тут, можете скачать вручную. Это версия 3.1.3...а не 3.4.8

Нет, я удалил тот сайт, поставил новый официальный шаблон и вот такая ошибка
*

SeBun

  • BanMaster
  • 4030
  • 259 / 5
  • @SeBun48
поставил новый официальный шаблон и вот такая ошибка
А где вы его взяли?
Оказываю услуги по Joomla | Миграция/Обновление | Сопровождение | IT-аутсорсинг | Недорогие домены и хостинг
*

RazarioAgro

  • Захожу иногда
  • 473
  • 4 / 0
А где вы его взяли?

Скачал с оф сайта 7 часов назад.
*

SeBun

  • BanMaster
  • 4030
  • 259 / 5
  • @SeBun48
Joomla 3.3.3...При попытке обновления показана эта ошибка....Хочу обновить до 3.4.8, шаблон только что скачал с платной подписки Смарт Аддонс...
Скачал с оф сайта 7 часов назад.
Что то я вас не пойму. Вы хотите сделать сайт, и это желание понятно. Но зачем скачивать с официального сайта старую версию, что бы потом мучиться с ее обновлениями, когда можно с таким же успехом скачать самую последнюю версию и пользоваться? Надеюсь вы знаете, что в России нет официальных сайтов Joomla, официальный только один - Joomla.org...

Подозреваю, что вы скачали квикстарт с шаблоном и теперь хотите его обновить. Вы сказали, что:

шаблон только что скачал с платной подписки Смарт Аддонс.....
Платной подписке где? На сайте smartaddons.com или на каком нибудь joomla4ever.ru? Вы ведь вряд ли станете покупать сразу подписку за 60 долларов, поскольку только начинаете осваивать Joomla. Пишу это потому, что знаю - у смартаддонса проблем с обновлением ядра никогда небыло, они возникают, когда криворукие кулхацкеры втыкают шелл и перепаковывают архив, в результате у вас нарушается логика работы ядра.

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

Wertos

  • Захожу иногда
  • 489
  • 22 / 0
Подозреваю, что вы скачали квикстарт с шаблоном и теперь хотите его обновить. Вы сказали, что:
И ? Я тоже так же сделал, скачал квикстарт и обновился до последней версии...
А то что
Цитировать
Update: :Extension: Не удалось открыть https://update.joomla.org/core/sts/extension_sts.xml Ошибка загрузки пакета обновления
так тут может быть 100500 причин, начиная от хостинга и заканчивая взломом, причём взлом далеко не на первом месте.
*

robert

  • Живу я здесь
  • 4974
  • 457 / 20
Ребята, кто-нибудь обратил внимание, что не открывается удаленный файл update.joomla.org/core/sts/extension_sts.xml? Подозреваю, что не открывается, потому что вместо http стоит безопасный протокол https.
Не будь паразитом, сделай что-нибудь самостоятельно!
*

Wertos

  • Захожу иногда
  • 489
  • 22 / 0
Ребята, кто-нибудь обратил внимание, что не открывается удаленный файл update.joomla.org/core/sts/extension_sts.xml? Подозреваю, что не открывается, потому что вместо http стоит безопасный протокол https.
А оно же и так и так работает !
*

robert

  • Живу я здесь
  • 4974
  • 457 / 20
А оно же и так и так работает !
Да, точно, Opera почему-то не может открыть https.
Не будь паразитом, сделай что-нибудь самостоятельно!
*

Wertos

  • Захожу иногда
  • 489
  • 22 / 0
Да, точно, Opera почему-то не может открыть https.
ммм... новая Opera, открывает...
*

robert

  • Живу я здесь
  • 4974
  • 457 / 20
 ^-^А кто говорил, что у меня новая Opera?
Не будь паразитом, сделай что-нибудь самостоятельно!
*

SeBun

  • BanMaster
  • 4030
  • 259 / 5
  • @SeBun48
Ребята, кто-нибудь обратил внимание, что не открывается удаленный файл update.joomla.org/core/sts/extension_sts.xml? Подозреваю, что не открывается, потому что вместо http стоит безопасный протокол https.
IE 11 открыл, Firefox 44 открыл, больше потестить неначем.
Оказываю услуги по Joomla | Миграция/Обновление | Сопровождение | IT-аутсорсинг | Недорогие домены и хостинг
*

saks1959

  • Осваиваюсь на форуме
  • 21
  • 0 / 0
Добрый день! Стоит старая версия Joomla - 2.5.17
Обновить не могу - Update: :Extension: Не удалось открыть http://update.joomla.org/core/extension.xml
 Но самое главное и не могу отредактировать статьи - редактор не работает..Хелп пожалуйста
*

saks1959

  • Осваиваюсь на форуме
  • 21
  • 0 / 0
Добрый день! Стоит старая версия Joomla - 2.5.17
Обновить не могу - Update: :Extension: Не удалось открыть http://update.joomla.org/core/extension.xml
 Но самое главное и не могу отредактировать статьи - редактор не работает..Хелп пожалуйста
  С редактором чо только не делал - и в профиле и в настройках ставил по умолчанию..и остальные отключал - ничего не помогает..Редактор - TinyMCE  не появляется..ни на Joomla, ни на сайте при редактировании
*

beliyadm

  • Легенда
  • 9758
  • 1665 / 66
  • Севастополь, Россия
Добрый день! Стоит старая версия Joomla - 2.5.17
Обновить не могу - Update: :Extension: Не удалось открыть http://update.joomla.org/core/extension.xml
 Но самое главное и не могу отредактировать статьи - редактор не работает..Хелп пожалуйста
Обсуждалось, санкции, блокируют доступ к серверу. Наши держат резервную копию https://joomla-update.org/core/sts/list_sts.xml но там с версии 3 только.
Так что обновляться руками - качать с офсайта нужный релиз https://downloads.joomla.org/cms
Все истины, которые я хочу вам изложить, — бесстыдная ложь. Сделать всё хорошо
TLG: @Beliyadm
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

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

Автор akteon25

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

Автор Ebelous

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

Автор melissa00

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

Автор wawont

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

Автор Sulpher

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