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

Sergoon

  • Захожу иногда
  • 69
  • 1 / 1
Падение соединения с б.д.
« : 20.01.2012, 11:28:50 »
Здравствуйте! Такая вот проблема: Несколько месяцев назад поставил j1.5 до этого стоял старенький рукописный двиг, поменялась структура файловой системы (соответственно), старый сайт с корнями снёс (б.д., каталоги). Теперь происходят странные вещи 1.Пропадает коннект с б.д.-хостер в ответ ссылается на кривоработающие скрипты, мол говорит что сайт превысил кол-во подключений к б.д.( каких кстати 50), были проблемы с таблицами k2, и sessinon,но они устранились оптимизацией и починкой. Сейчас  сначала 504-я ошибка а затем снова обрыв коннекта с мускулом.
2. Лог ошибок показывает такие штуки [Fri Jan 20 09:51:57 2012] [error] [client хххххххх] File does not exist: /home/ххххх/public_html/images/corn_r1.gif  --Этот файл из каталога старого сайта. Скачал каталог на комп, проверил его notepa`дом, такого имени файла не где не встречается.
joomla 1.5, sh404, k2, VirtueMart, модулей от силы штук 10 включено на весь сайт (вместе с логином и поиском). ! Да и хостинг Агава.
« Последнее редактирование: 20.01.2012, 11:34:28 от Sergoon »
*

userxp

  • Живу я здесь
  • 2019
  • 403 / 6
  • Злой и ужасный бармалей
Re: Падение соединения с б.д.
« Ответ #1 : 20.01.2012, 12:20:52 »
криво?
потенциально кол-во запросов в секунду к БД может превышать несколько сотен(!)

p.s. насколько я помню, на форуме агава достаточно часто встречается в плохих отзывах или проблемах с сайтами
Как правильно задавать вопрос службе технической поддержки  yes!
SGA CM 7.2.0 RC0 KANG Build GWK74 + s95allinonescript + CWM 5.0.2.6 + Modem XWKT3
*

Sergoon

  • Захожу иногда
  • 69
  • 1 / 1
Re: Падение соединения с б.д.
« Ответ #2 : 20.01.2012, 12:38:55 »
Ды "КАКАВА" то ясно дело не ахти, но год оплачен-а перерасчет они сделают на вряд ли охотно.Вот поясните логику дураку "количество одновременных соединений с б.д.-50"..А посещаемость то не больше 30 юзеров/день. т.е. Пользовательские запросы тоже ставят мою базу на колени? А как прокомментируете пункт "2" моего вопроса?
*

Sergoon

  • Захожу иногда
  • 69
  • 1 / 1
Re: Падение соединения с б.д.
« Ответ #3 : 20.01.2012, 14:04:07 »
Людищи! ну проконсультируйте! а то примерно тот же эффект при отправке молящих сообщений хостеру....(а в ответ тишина)
*

userxp

  • Живу я здесь
  • 2019
  • 403 / 6
  • Злой и ужасный бармалей
Re: Падение соединения с б.д.
« Ответ #4 : 20.01.2012, 14:26:11 »
для начала надо определиться - обращений, соединений или запросов?
каждая страница сайта - это как минимум новое TCP соединение к MySQL.
дефолтовая 1.7 делает 29 запросов на фронте в рамках 1 соединения (TCP Session). 1.5 больше. зависит от кол-ва модулей и плагинов.
на некоторых расширениях (например VM, Zoo, K2...), кол-во запросов может быть несколько сотен
так же некоторые расширения могут создавать копии $database параллельный connect к БД.
тут однозначно без логов не скажешь.

А как прокомментируете пункт "2" моего вопроса?
а никак. файла же нет :)
Как правильно задавать вопрос службе технической поддержки  yes!
SGA CM 7.2.0 RC0 KANG Build GWK74 + s95allinonescript + CWM 5.0.2.6 + Modem XWKT3
*

Sergoon

  • Захожу иногда
  • 69
  • 1 / 1
Re: Падение соединения с б.д.
« Ответ #5 : 20.01.2012, 14:33:42 »
3-минуты назад пришел ответ от хостера "Здравствуйте.

Ошибки возникают из-за подвисающих запросов к базе данных. Запросы не
завершаются корректно, в результате чего Вы получаете ошибку по
таймауту соединения. Уточним, что такое поведение наблюдается только
относительно Вашего аккаунта. Также такое поведение Ваших запросов
увеличивает нагрузку на сервер в целом. Причины следует уточнять у веб-
разработчиков. Если это будет создавать проблемы для других
пользователей, мы будем вынуждены принять меры вплоть до блокировки
аккаунта."
*

userxp

  • Живу я здесь
  • 2019
  • 403 / 6
  • Злой и ужасный бармалей
Re: Падение соединения с б.д.
« Ответ #6 : 20.01.2012, 14:35:45 »
 ;D
передавай большой привет К2
Как правильно задавать вопрос службе технической поддержки  yes!
SGA CM 7.2.0 RC0 KANG Build GWK74 + s95allinonescript + CWM 5.0.2.6 + Modem XWKT3
*

Sergoon

  • Захожу иногда
  • 69
  • 1 / 1
Re: Падение соединения с б.д.
« Ответ #7 : 20.01.2012, 14:39:54 »
Откуда такая уверенность? поделитесь, если эта К`шная падла рушит моё спокойствие-я ее уничтожу))) Трабл в том что на нем большое кол-во статей....
*

userxp

  • Живу я здесь
  • 2019
  • 403 / 6
  • Злой и ужасный бармалей
Re: Падение соединения с б.д.
« Ответ #8 : 20.01.2012, 14:46:45 »
как откуда? К2 - это ж ССК.
а грамотно ССК написать мало кто умеет.
к сожалению мало кто заморачивается грамотным индексированным хранением (и построением) инфы в БД и оптимизацией рекурсивного поиска
Как правильно задавать вопрос службе технической поддержки  yes!
SGA CM 7.2.0 RC0 KANG Build GWK74 + s95allinonescript + CWM 5.0.2.6 + Modem XWKT3
*

Sergoon

  • Захожу иногда
  • 69
  • 1 / 1
Re: Падение соединения с б.д.
« Ответ #9 : 20.01.2012, 15:24:59 »
А как перенести всю структуру k2 с материалами в Joomla? может есть FAQ какой или конвертер? Ну ради эксперемента снесу его, хотя компонента удобней я нще не встречал(
*

userxp

  • Живу я здесь
  • 2019
  • 403 / 6
  • Злой и ужасный бармалей
Re: Падение соединения с б.д.
« Ответ #10 : 20.01.2012, 15:38:09 »
для начала включи отладку и посмотри сколько и какие запросы идут в БД
Как правильно задавать вопрос службе технической поддержки  yes!
SGA CM 7.2.0 RC0 KANG Build GWK74 + s95allinonescript + CWM 5.0.2.6 + Modem XWKT3
*

Sergoon

  • Захожу иногда
  • 69
  • 1 / 1
Re: Падение соединения с б.д.
« Ответ #11 : 20.01.2012, 17:56:13 »
Вот запросы при открытии материала
Код
Информация о профиле
Application afterLoad: 0.000 seconds, 0.24 MB
Application afterInitialise: 0.051 seconds, 2.78 MB
Application afterRoute: 0.126 seconds, 5.22 MB
Application afterDispatch: 0.419 seconds, 9.51 MB
Application afterRender: 0.563 seconds, 15.22 MB
Использование памяти
16052432
Зарегистрировано запросов: 70


и вот открыл категорию
Код
Информация о профиле
Application afterLoad: 0.000 seconds, 0.24 MB
Application afterInitialise: 0.051 seconds, 2.78 MB
Application afterRoute: 0.114 seconds, 5.22 MB
Application afterDispatch: 0.995 seconds, 10.32 MB
Application afterRender: 1.256 seconds, 16.26 MB
Использование памяти
17143956
Зарегистрировано запросов: 596
« Последнее редактирование: 20.01.2012, 18:18:14 от userxp »
*

userxp

  • Живу я здесь
  • 2019
  • 403 / 6
  • Злой и ужасный бармалей
Re: Падение соединения с б.д.
« Ответ #12 : 20.01.2012, 18:18:24 »
:)
Как правильно задавать вопрос службе технической поддержки  yes!
SGA CM 7.2.0 RC0 KANG Build GWK74 + s95allinonescript + CWM 5.0.2.6 + Modem XWKT3
*

Sergoon

  • Захожу иногда
  • 69
  • 1 / 1
Re: Падение соединения с б.д.
« Ответ #13 : 20.01.2012, 18:19:31 »
?)) сарказм как я понял))))
*

Sergoon

  • Захожу иногда
  • 69
  • 1 / 1
Re: Падение соединения с б.д.
« Ответ #14 : 20.01.2012, 18:22:21 »
все плохо? да?
*

userxp

  • Живу я здесь
  • 2019
  • 403 / 6
  • Злой и ужасный бармалей
Re: Падение соединения с б.д.
« Ответ #15 : 20.01.2012, 18:25:31 »
ну а как иначе? 596, как-никак :)
SEF-компонент, случаем, никакой не стоит?
если нет, можешь поставить - кол-во запросов в БД возрастет еще раза в 3...

в общем, что с этим можно сделать?
1. заменить К2 на что-то более "благородное"
2. использовать "кэшер", который может уменьшить кол-во запросов к БД (если много повторяющихся запросов, а их, скорей всего, очень много)
3. сменить хостинг (но это как заматывать горло бинтом при ангине)
4. отказаться от ССК в пользу... х.з. чего
5. нанять програмера, который поправит мозги К2 (это вполне реально, я добивался в других подобных компонентах уменьшения до 70-80 запросов, однако не факт, что это решит проблему)

зы. и не проси посоветовать ССК. хороших нету :)
Как правильно задавать вопрос службе технической поддержки  yes!
SGA CM 7.2.0 RC0 KANG Build GWK74 + s95allinonescript + CWM 5.0.2.6 + Modem XWKT3
*

Sergoon

  • Захожу иногда
  • 69
  • 1 / 1
Re: Падение соединения с б.д.
« Ответ #16 : 20.01.2012, 18:29:49 »
Спасибо огроменное, sh404. Zoo наверное не подойдет? я за сегодняшний день уже тысячу раз попрощался с K2-он был хорошим другом(( а вот последний вопрос-каким же образом вытащить из него иерархию категорий и статейки?
*

userxp

  • Живу я здесь
  • 2019
  • 403 / 6
  • Злой и ужасный бармалей
Re: Падение соединения с б.д.
« Ответ #17 : 20.01.2012, 18:57:06 »
sh404.
ха. а этот на моей памяти делал больше всех...
Как правильно задавать вопрос службе технической поддержки  yes!
SGA CM 7.2.0 RC0 KANG Build GWK74 + s95allinonescript + CWM 5.0.2.6 + Modem XWKT3
*

Sergoon

  • Захожу иногда
  • 69
  • 1 / 1
Re: Падение соединения с б.д.
« Ответ #18 : 21.01.2012, 13:31:26 »
Кол-во запросов К2 удалось уменьшить с 600 до 90 при помощи этого
http://awesome-design.com/stati/php/optimiziruem-k2-derevo-kategorij-sokrashhaem-kolichestvo-zaprosov-k-baze-dannyx.html

Но теперь обратил внимание что Вирт выдает не меньшее кол-во запросов(( по оптимизации вирта мануала не нашел, если у кого есть.....
*

userxp

  • Живу я здесь
  • 2019
  • 403 / 6
  • Злой и ужасный бармалей
Re: Падение соединения с б.д.
« Ответ #19 : 21.01.2012, 19:28:23 »
единственный способ оптимизировать ВМ - удалить его :)
Как правильно задавать вопрос службе технической поддержки  yes!
SGA CM 7.2.0 RC0 KANG Build GWK74 + s95allinonescript + CWM 5.0.2.6 + Modem XWKT3
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Белый экран при входе в Админку

Автор EURO2012

Ответов: 9
Просмотров: 13534
Последний ответ 29.07.2016, 17:26:54
от SeBun
Проблема с обновлением Joomla через Jupgrade

Автор spamer.j

Ответов: 15
Просмотров: 12055
Последний ответ 18.04.2013, 11:08:33
от romans13
Как убрать Индекс материала

Автор Fairea Ohtar

Ответов: 20
Просмотров: 19757
Последний ответ 04.01.2013, 21:02:32
от luxeonf
Горячие предложения

Автор mbit

Ответов: 0
Просмотров: 1529
Последний ответ 26.11.2012, 17:06:52
от mbit
установка 1.5 на jino

Автор maksim777

Ответов: 3
Просмотров: 2552
Последний ответ 13.06.2012, 23:13:51
от maksim777