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

allya22

  • Новичок
  • 5
  • 0 / 0
УДАЛИТЬ ПАПКУ INSTALLATION
« : 26.03.2011, 12:04:39 »
На последнем этапе установки возникла проблема - папку installation удалила, а после нажатия ссылки "нажмите здесь, если директория была улалена" ничего не происходит  !
*

chemerzaev

  • Давно я тут
  • 630
  • 83 / 3
  • Надо мыслить. Меня, например, кормят идеи.
Re: УДАЛИТЬ ПАПКУ INSTALLATION
« Ответ #1 : 26.03.2011, 12:20:26 »
набери адрес сайта. Должен отображаться сайт.
Я несчастный человек, который, как долбаный экстрасенс, должен понимать заказчика, даже если он сам не знает, чего хочет
*

allya22

  • Новичок
  • 5
  • 0 / 0
Re: УДАЛИТЬ ПАПКУ INSTALLATION
« Ответ #2 : 26.03.2011, 12:30:50 »
я уже раз сто набирала - тот же самый вид - удалите папку, нажмите здесь  :'(
*

allya22

  • Новичок
  • 5
  • 0 / 0
Re: УДАЛИТЬ ПАПКУ INSTALLATION
« Ответ #3 : 26.03.2011, 12:36:54 »
в адресной строке удалила /installation - оставила http://sitename/index.php при перезагрузке опять появляется http://sitename/installation/index.php
и все без изменений
*

Kyrsor

  • Захожу иногда
  • 317
  • 4 / 2
Re: УДАЛИТЬ ПАПКУ INSTALLATION
« Ответ #4 : 26.03.2011, 12:46:22 »
Киньте ссылку в ЛС посмотрю.
ЗЫ Скачайте другой дистрибутив и перезалейте в корень сайта index.php
*

chemerzaev

  • Давно я тут
  • 630
  • 83 / 3
  • Надо мыслить. Меня, например, кормят идеи.
Re: УДАЛИТЬ ПАПКУ INSTALLATION
« Ответ #5 : 26.03.2011, 13:34:32 »
зайдите в фтп и удалите папку installation
Я несчастный человек, который, как долбаный экстрасенс, должен понимать заказчика, даже если он сам не знает, чего хочет
*

AlexSmirnov

  • Завсегдатай
  • 1862
  • 272 / 16
  • Ищите и найдете
Re: УДАЛИТЬ ПАПКУ INSTALLATION
« Ответ #6 : 26.03.2011, 14:01:06 »
проверьте создан ли в корне сайта файл configuration.php. если нет, то удалите установку (и файлы/папки и таблицы из базы данных), создайте в корне сайта пустой и (обязательно!) временно, на период установки, открытый для записи файл configuration.php и повторите установку.
# Back the fufalo (особенно ту самую столкершу)! #
# ВАЖНО! Кайфую от удаления присланного в личку спама, почти как от любви (особенно по выходным). #
*

allya22

  • Новичок
  • 5
  • 0 / 0
Re: УДАЛИТЬ ПАПКУ INSTALLATION
« Ответ #7 : 28.03.2011, 08:37:50 »
зайдите в фтп и удалите папку installation
если удалить, вообще все исчезает, а техосмотр сайта показывает ошибку fe90-1.hc.ru (89.111.177.113)
проверьте создан ли в корне сайта файл configuration.php. если нет, то удалите установку (и файлы/папки и таблицы из базы данных), создайте в корне сайта пустой и (обязательно!) временно, на период установки, открытый для записи файл configuration.php и повторите установку.
у меня есть файл configuration.php-dist это одно и то же? у меня QuickstarJoomla с шаблоном может в этом дело?
*

allya22

  • Новичок
  • 5
  • 0 / 0
Re: УДАЛИТЬ ПАПКУ INSTALLATION
« Ответ #8 : 28.03.2011, 08:48:10 »
Киньте ссылку в ЛС посмотрю.
ЗЫ Скачайте другой дистрибутив и перезалейте в корень сайта index.php
перезалила - все то же самое
*

Taatshi

  • Гуру
  • 5258
  • 481 / 2
  • Верстаем и кодим. Обращайтесь ;)
Re: УДАЛИТЬ ПАПКУ INSTALLATION
« Ответ #9 : 28.03.2011, 09:32:42 »
Дайте ссылку, как вам подскажут, чем лечить, если больного не видно?
ВЕРСТКА, САЙТЫ ПОД КЛЮЧ, УДАЛЕНИЕ ВИРУСОВ, МИГРАЦИЯ НА JOOMLA 3, ОБНОВЛЕНИЕ  |  ОТЗЫВЫ 
Связь: telegram - Taatshi, почта - Taatshi на яндексе, Skype - Taatshi
*

al-teen

  • Глобальный модератор
  • 2385
  • 224 / 10
  • im
Re: УДАЛИТЬ ПАПКУ INSTALLATION
« Ответ #10 : 28.03.2011, 09:35:57 »
При установке, файл configuration.php-dist переименовывается в configuration.php. У вас видимо этого не произошло. Есть своеобразный костыль - после установки системы Вам предлагают вручную переименовать
configuration.php-dist в configuration.php и заполнить его так же вручную(код для заполнения предоставляют там же). Вероятно у вас сервер не соответствует необходимым требованиям для установки Joomla. Вначале инсталляции производится сканирование системы. Если что то красным цветом то это и есть несоответствие. Предлагается обратиться к администратору хостинга дабы он внес необходимые изменения в настройки сервера. Вы случайно сами не пытались произвести подобные настройки? Тут 99% вероятности тупой хостинг.
*

Kyrsor

  • Захожу иногда
  • 317
  • 4 / 2
Re: УДАЛИТЬ ПАПКУ INSTALLATION
« Ответ #11 : 28.03.2011, 23:47:06 »
Дайте ссылку на хостинг=)
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Ошибка: No configuration file found and no installation code available. Exiting...

Автор lonstaaanta

Ответов: 3
Просмотров: 6057
Последний ответ 31.10.2014, 14:04:21
от PadPukNumMunHoy
В менеджере расширений пропала кнопка Удалить

Автор Elektra

Ответов: 0
Просмотров: 1763
Последний ответ 14.06.2014, 13:07:36
от Elektra
Не переходит в http://joomla.loc/installation

Автор bugmenot

Ответов: 5
Просмотров: 20157
Последний ответ 29.01.2014, 22:49:29
от Aleks_El_Dia
Удалить не нужноу в Joomla

Автор c_zurab

Ответов: 0
Просмотров: 1618
Последний ответ 20.11.2012, 18:49:41
от c_zurab
[Решено] Notice: Undefined index: DBtype in /home/my site/my site.com.ua/www/installation/installer/

Автор mustang75

Ответов: 3
Просмотров: 4167
Последний ответ 07.03.2012, 22:11:04
от lottis