Новости 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 Ответов
  • 2787 Просмотров
*

СергейZ

  • Осваиваюсь на форуме
  • 14
  • 0 / 0
Пытаюсь установить  3.4.3 на локальном хосте, вроде-бы всё сделал как надо, но уже около часа загрузка висит на одном месте и всё. Попробовал на другом браузере установить, результат тот-же. Помогите!
« Последнее редактирование: 06.08.2015, 09:02:00 от b2z »
*

SeBun

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

b2z

  • Глобальный модератор
  • 7284
  • 778 / 0
  • Разраблю понемногу
*

СергейZ

  • Осваиваюсь на форуме
  • 14
  • 0 / 0
Люди, только камнями не закидывайте, новичок в этом деле, можно выражаться простым понятным языком и как-нибудь поподробнее?
*

Shustry

  • Гуру
  • 6434
  • 745 / 3
1. Качаем OpenServer. Ставим.
2. Устанавливаем сайт. Если зависло: в опциях сервера меняем версию php и/или sql. Пробуем.
3. Если не помогло, гуглим «php не хватает памяти», заходим в конфиг php.ini (доступен из контекстного меню OpenServer-а), находим нужные значения, меняем, перезапускаем сервер.
*

СергейZ

  • Осваиваюсь на форуме
  • 14
  • 0 / 0
1. Качаем OpenServer. Ставим.

А это не то-же самое что "ХАМРР" ?
*

СергейZ

  • Осваиваюсь на форуме
  • 14
  • 0 / 0
Это у меня уже установлено. Тогда дайте пожалуйста дальнейшие инструкции, что делать?
*

b2z

  • Глобальный модератор
  • 7284
  • 778 / 0
  • Разраблю понемногу
*

СергейZ

  • Осваиваюсь на форуме
  • 14
  • 0 / 0
Учиться пользоваться поиском ...

[Решено] Зависает установка Joomla на создании таблиц (на 4 шаге)

Но там указаны действия с простым хостингом, а у меня пока только на ХАМРРе стоит, где тут искать, куда что вводить?
*

СергейZ

  • Осваиваюсь на форуме
  • 14
  • 0 / 0
Мда, вот тебе и поддержка.... Видимо некогда людям.
*

b2z

  • Глобальный модератор
  • 7284
  • 778 / 0
  • Разраблю понемногу
Здесь поддержка Joomla, а не настройки веб-серверов. Если бы хотели, уже давно бы разобрались, как применить решение с хостинга к локальному веб-серверу.
Но видимо в очередной раз мы видимо новичка, которому лень разбираться... Жаль...
*

SeBun

  • BanMaster
  • 4030
  • 259 / 5
  • @SeBun48
Бррррррр.....

Значит так. XAMPP я бы для новичка не рекомендовал. Вам посовветовали OpenServer, вот его и ставьте.
http://open-server.ru/ - официальный сайт проекта
http://open-server.ru/download/ - скачивание последней сборки (базовая редакция)
http://open-server.ru/forum/ - форум, где есть все ответы на ваши вопросы по работе с этой сборкой с видео

Установите сборку. Зайдите в настройки и выставите в модулях версию php самую последнюю. Зайдите в phpMyAdmin и создайте базу данных. Создайте папку вашего сайта. Залейте файлы из дистрибутива Joomla, скачанного с Joomla.org и войдите на ваш сайт через браузер, запустите установку.

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

СергейZ

  • Осваиваюсь на форуме
  • 14
  • 0 / 0
Спасибо за понимание и помощь, попробую разобраться.
*

SeBun

  • BanMaster
  • 4030
  • 259 / 5
  • @SeBun48
Спасибо за понимание и помощь, попробую разобраться.

Вот еще урок от Кутеева, у него разжевано по самый небалуйся. Там же есть материал по настройке на проблемных компах.

P.S. И не обижайтесь, что вас посылают учить мат часть. Если я вам сейчас по сабжу посоветую увеличить max_execution_time в вашем XAMPP, то дальше будет вопрос: а что это, где искать и т.д. В результате вся эта тема превратиться в манул по настройке сервера, а такие мануалы уже были написаны ранее, достаточно лишь почитать и разобраться.
« Последнее редактирование: 05.08.2015, 13:43:35 от SeBun »
Оказываю услуги по Joomla | Миграция/Обновление | Сопровождение | IT-аутсорсинг | Недорогие домены и хостинг
*

СергейZ

  • Осваиваюсь на форуме
  • 14
  • 0 / 0
Вот еще урок от Кутеева, у него разжевано по самый небалуйся. Там же есть материал по настройке на проблемных компах.

P.S. И не обижайтесь, что вас посылают учить мат часть. Если я вам сейчас по сабжу посоветую увеличить max_execution_time в вашем XAMPP, то дальше будет вопрос: а что это, где искать и т.д. В результате вся эта тема превратиться в манул по настройке сервера, а такие мануалы уже были написаны ранее, достаточно лишь почитать и разобраться.
Понял, вы тоже не обессудьте, просто сложно на начальном уровне вообще понять куда метнуться, где искать. А тут вы всё-равно уже профи, что-нибудь подсказать можете, вот и приходится мучать глупыми вопросами.
Ещё раз спасибо всем за помощь.
*

LyalyaChornaya

  • Захожу иногда
  • 236
  • 15 / 1
Раньше постоянно была такая проблема на denwer. Установила OpenServer, все квикстарты устанавливается все прекрасно, вообще никаких проблем нет, в т.ч. и те, что на денвере не устанавливались
*

SeBun

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

СергейZ

  • Осваиваюсь на форуме
  • 14
  • 0 / 0
Всё получилось! SeBun спасибо за совет и ссылки, всё понятно. Были затыки небольшие по установке OpenServer, может кому-то наподобие меня пригодится: через оф. сайт скачка идёт довольно долго, я через Шареман быстренько скачал последнюю версию. Ещё при установке OpenServer был запрос по выбору варианта для разных систем, 64 бит и 86 бит. Меня это в ступор поставило, у меня-то 32 бит стоит! Уже нашёл как переустановить ситстему на 64, а оказывается, что 86 бит - это и есть 32.

Ещё раз спасибо за подсказки!
*

Shustry

  • Гуру
  • 6434
  • 745 / 3
Ага, пожалуйста. Я сразу написал же как сделать. Качать с шаремана и тому подобное не надо. Что там зашито — хз. Есть официальная раздача на рутрекере, где скачивается за минуту.
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Все изменения появляются в старой базе данных и ftp после смены хостинга

Автор makena0606

Ответов: 2
Просмотров: 2108
Последний ответ 09.02.2024, 10:21:47
от Vastriet
Пропала база данных в phpMyAdmin

Автор kazbec

Ответов: 3
Просмотров: 1413
Последний ответ 16.11.2023, 22:59:54
от Vastriet
Call to a member function NewColorizeImage() on null при переходе PHP 7 [Решено]

Автор Eholov

Ответов: 3
Просмотров: 3188
Последний ответ 17.03.2023, 11:03:04
от Olexa
Вывод тега метатега Rights или создание поля с автором

Автор Zegeberg

Ответов: 5
Просмотров: 2482
Последний ответ 26.07.2022, 19:38:56
от Zegeberg
Перенос отдельных таблиц из одной базы данных в другую для обновления Joomla

Автор alex-nosov1980

Ответов: 3
Просмотров: 1301
Последний ответ 13.09.2021, 08:58:55
от alex-nosov1980