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

KaN74

  • Осваиваюсь на форуме
  • 10
  • 0 / 0
Решил сделать новый сайт наJoomla 2.5.1.
После переезда на хостинг грузится очень медленно. На локальном компьютере под денвером работает нормально.
Хостинг платный valuehost.ru, старый сайт на какой-то самописной cms просто летает.
Прежде, чем наезжать на хостинг, хотелось бы разобраться.
Отключил mootools, некоторые плагины, кеширование включено. Удалось добиться загрузки за 6-8 секунд, ранее было 25-30.
Уже не знаю где еще смотреть...

При отладке выдает следующее:
***********************************
Консоль отладки Joomla!
Сессия
__default
Результаты профилирования
Application 0.035 seconds (+0.035); 0.16 MB (+0.157) - afterLoad
Application 2.429 seconds (+2.394); 0.94 MB (+0.781) - afterInitialise
Application 2.706 seconds (+0.277); 1.28 MB (+0.340) - afterRoute
Application 4.380 seconds (+1.674); 1.56 MB (+0.283) - afterDispatch
Application 5.693 seconds (+1.313); 1.62 MB (+0.055) - beforeRenderModule mod_whosonline (Кто на сайте)
Application 5.818 seconds (+0.126); 1.65 MB (+0.037) - afterRenderModule mod_whosonline (Кто на сайте)
Application 5.859 seconds (+0.041); 1.66 MB (+0.003) - beforeRenderModule mod_login (Войти)
Application 5.984 seconds (+0.125); 1.68 MB (+0.022) - afterRenderModule mod_login (Войти)
Application 6.877 seconds (+0.893); 1.70 MB (+0.024) - afterRender
Использование памяти
1.69 MB (1,776,992 Bytes)
Запросы к базе данных
10 SQL-запросов зафиксировано
******************************

« Последнее редактирование: 02.03.2012, 06:25:08 от KaN74 »
*

VH

  • Захожу иногда
  • 90
  • 1 / 0
  • 10 лет в хостинге. Опыт не купишь. www.vh2.ru
Re: Медленно загружается сайт.
« Ответ #1 : 29.02.2012, 13:32:24 »
Решил сделать новый сайт наJoomla 2.5.1.
После переезда на хостинг грузится очень медленно. На локальном компьютере под денвером работает нормально.
Хостинг платный valuehost.ru, старый сайт на какой-то самописной cms просто летает.
Прежде, чем наезжать на хостинг, хотелось бы разобраться.
Отключил mootools, некоторые плагины, кеширование включено. Удалось добиться загрузки за 6-8 секунд, ранее было 25-30.
Уже не знаю где еще смотреть...

При отладке выдает следующее:
***********************************
Консоль отладки Joomla!
Сессия
__default
Результаты профилирования
Application 0.035 seconds (+0.035); 0.16 MB (+0.157) - afterLoad
Application 2.429 seconds (+2.394); 0.94 MB (+0.781) - afterInitialise
Application 2.706 seconds (+0.277); 1.28 MB (+0.340) - afterRoute
Application 4.380 seconds (+1.674); 1.56 MB (+0.283) - afterDispatch
Application 5.693 seconds (+1.313); 1.62 MB (+0.055) - beforeRenderModule mod_whosonline (Кто на сайте)
Application 5.818 seconds (+0.126); 1.65 MB (+0.037) - afterRenderModule mod_whosonline (Кто на сайте)
Application 5.859 seconds (+0.041); 1.66 MB (+0.003) - beforeRenderModule mod_login (Войти)
Application 5.984 seconds (+0.125); 1.68 MB (+0.022) - afterRenderModule mod_login (Войти)
Application 6.877 seconds (+0.893); 1.70 MB (+0.024) - afterRender
Использование памяти
1.69 MB (1,776,992 Bytes)
Запросы к базе данных
10 SQL-запросов зафиксировано
******************************



Здравствуйте.
Скиньте пожалуйста в личку Ваш домен - проверим на каком сервере находится сайт. На старой платформе VH1 Joomla подтормаживала. На новой платформе VH2 Joomla работает гораздо быстрее - по запросу в поддержку можем перенести Ваш аккаунт на новую платформу + сменить тарифный план на новый (если надо).
*

Marques

  • Завсегдатай
  • 1410
  • 190 / 9
  • Ctrl+F5
Re: Медленно загружается сайт.
« Ответ #2 : 29.02.2012, 15:01:04 »
Круто ! Даже не пришлось писать - обратитесь к хостеру. Он сам пришел и предложил вариант решения ! Первый раз с таким столкнулся ))) Здорово !
Зануда перфекционист, не признающий авторитетов, ищет легкую работу за большие деньги - http://dtkp.ru/ s@dtkp.ru
*

KaN74

  • Осваиваюсь на форуме
  • 10
  • 0 / 0
Re: Медленно загружается сайт.
« Ответ #3 : 29.02.2012, 20:44:52 »
Здравствуйте.
Скиньте пожалуйста в личку Ваш домен - проверим на каком сервере находится сайт. На старой платформе VH1 Joomla подтормаживала. На новой платформе VH2 Joomla работает гораздо быстрее - по запросу в поддержку можем перенести Ваш аккаунт на новую платформу + сменить тарифный план на новый (если надо).

Добрый день!
Написал в почту, личные сообщения почему-то не могу отправлять...
*

Marques

  • Завсегдатай
  • 1410
  • 190 / 9
  • Ctrl+F5
Re: Медленно загружается сайт.
« Ответ #4 : 29.02.2012, 20:50:56 »
Личные сообщения на этом форуме включаются после 10 ваших сообщений, у вас, к сожалению, пока только 2.
Зануда перфекционист, не признающий авторитетов, ищет легкую работу за большие деньги - http://dtkp.ru/ s@dtkp.ru
*

KaN74

  • Осваиваюсь на форуме
  • 10
  • 0 / 0
Re: Медленно загружается сайт.
« Ответ #5 : 29.02.2012, 20:58:08 »
Личные сообщения на этом форуме включаются после 10 ваших сообщений, у вас, к сожалению, пока только 2.

Опыта пока маловато что-то советовать другим, а флудить не люблю...
Все мои вопросы пока удавалось решать поиском, причем в основном по этому сайту :)

Короче чукча читатель, а не писатель :)
*

VH

  • Захожу иногда
  • 90
  • 1 / 0
  • 10 лет в хостинге. Опыт не купишь. www.vh2.ru
Re: Медленно загружается сайт.
« Ответ #6 : 01.03.2012, 15:22:50 »
Добрый день!
Написал в почту, личные сообщения почему-то не могу отправлять...
Здравствуйте.
Ответил Вам на почту.
*

KaN74

  • Осваиваюсь на форуме
  • 10
  • 0 / 0
Re: Медленно загружается сайт.
« Ответ #7 : 01.03.2012, 21:13:48 »
Здравствуйте.
Ответил Вам на почту.

Спасибо! Сайт наш перенесли на новый сервер, теперь он просто летает.

*******************************
Консоль отладки Joomla!
Сессия
__default
Результаты профилирования
Application 0.000 seconds (+0.000); 0.27 MB (+0.268) - afterLoad
Application 0.036 seconds (+0.036); 3.50 MB (+3.234) - afterInitialise
Application 0.051 seconds (+0.015); 4.78 MB (+1.282) - afterRoute
Application 0.083 seconds (+0.032); 7.60 MB (+2.813) - afterDispatch
Application 0.098 seconds (+0.015); 7.90 MB (+0.306) - beforeRenderModule mod_whosonline (Кто на сайте)
Application 0.102 seconds (+0.004); 8.06 MB (+0.157) - afterRenderModule mod_whosonline (Кто на сайте)
Application 0.103 seconds (+0.001); 8.06 MB (+0.002) - beforeRenderModule mod_login (Войти)
Application 0.108 seconds (+0.005); 8.16 MB (+0.100) - afterRenderModule mod_login (Войти)
Application 0.113 seconds (+0.005); 8.26 MB (+0.095) - afterRender
Использование памяти
8.26 MB (8,659,224 Bytes)
Запросы к базе данных
5 SQL-запросов зафиксировано
*****************************
*

Marques

  • Завсегдатай
  • 1410
  • 190 / 9
  • Ctrl+F5
Re: Медленно загружается сайт.
« Ответ #8 : 01.03.2012, 21:43:49 »
Хостеру, однозначно респект )))
Зануда перфекционист, не признающий авторитетов, ищет легкую работу за большие деньги - http://dtkp.ru/ s@dtkp.ru
*

Vergily

  • Захожу иногда
  • 59
  • 5 / 0
RE: Медленно загружается сайт
« Ответ #9 : 14.11.2012, 12:16:38 »
Та же проблема, но что именно меняли на хостинге можно ка-то узнать?
*

KaN74

  • Осваиваюсь на форуме
  • 10
  • 0 / 0
RE: Медленно загружается сайт
« Ответ #10 : 30.01.2013, 19:06:11 »
Та же проблема, но что именно меняли на хостинге можно ка-то узнать?

сорри что так поздно...
перевели сайт на другой сервер хостинга, может он физически другой...
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Автоматическое сжатие фото при загрузке на сайт

Автор Amerikana

Ответов: 13
Просмотров: 4535
Последний ответ 30.06.2022, 11:52:23
от Nikita2705
Мультиязычность. При включении плагина "система - фильтр языков" сайт падает

Автор yuraok

Ответов: 10
Просмотров: 6251
Последний ответ 25.06.2022, 14:23:49
от ecolora
[Решено] title материалов и категорий без пунктов меню

Автор pharaoh

Ответов: 269
Просмотров: 63286
Последний ответ 03.02.2022, 02:45:26
от globus812
Сайт на Joomla 2.5.28 долго грузится - 1-2 минуты

Автор DanPel

Ответов: 5
Просмотров: 2152
Последний ответ 22.01.2020, 11:15:34
от SeBun
Неправильно открывается сайт

Автор totalcolor

Ответов: 4
Просмотров: 1471
Последний ответ 20.04.2019, 12:54:20
от draff