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

mggirl

  • Осваиваюсь на форуме
  • 14
  • 0 / 0
Здравствуйте!

Пытаюсь установить Joomla 1.5 (Quickstart package с шаблоном) на мастерхост. При попытке загрузить http://moisait.com/installation/index.php выдает ошибку HTTP 500 (Internal Server Error).

Самое интересное, если устанавливать не в корневую папку, все открывается и устанавливается отлично!

Хостер говорит, на моей площадке версия PHP 5.2.12. От отчаяния сделала всем каталогам права доступа 777.

Подскажите, пожалуйста, как решить проблему!
*

mggirl

  • Осваиваюсь на форуме
  • 14
  • 0 / 0
Вот логи:

[Tue Jan 24 01:51:13 2012] [error] PHP Warning: require_once(/home/u188694/сайт.com/www/installation/installer/installer.php) [<a href='function.require-once'>function.require-once</a>]: failed to open stream: No such file or directory in /home/u188694/сайт.com/www/installation/includes/application.php on line 83
[Tue Jan 24 01:51:13 2012] [error] PHP Fatal error: require_once() [<a href='function.require'>function.require</a>]: Failed opening required '/home/u188694/сайт.com/www/installation/installer/installer.php' (include_path='.:/usr/local/share/pear') in /home/u188694/сайт.com/www/installation/includes/application.php on line 83
[Tue Jan 24 02:28:51 2012] [error] PHP Warning: require_once(/home/u188694/сайт.com/www/installation/installer/installer.php) [<a href='function.require-once'>function.require-once</a>]: failed to open stream: No such file or directory in /home/u188694/сайт.com/www/installation/includes/application.php on line 83
[Tue Jan 24 02:28:51 2012] [error] PHP Fatal error: require_once() [<a href='function.require'>function.require</a>]: Failed opening required '/home/u188694/сайт.com/www/installation/installer/installer.php' (include_path='.:/usr/local/share/pear') in /home/u188694/сайт.com/www/installation/includes/application.php on line 83
*

al-teen

  • Глобальный модератор
  • 2385
  • 224 / 10
  • im
Откуда квикстарт? Используйте стандартную сборку http://joomlaportal.ru/content/view/77/66/
С быстростартом порой мучаются и опытные пользователи.
*

mggirl

  • Осваиваюсь на форуме
  • 14
  • 0 / 0
Спасибо за быстрый ответ, al-teen!
Квикстарт ничем не примечательный. Меня просто смущает то, что в субдиректорию он устанавливается отлично, а в корень - ошибка 500! Что за ерунда... То есть, квикстарт-то рабочий, по идее, в таком случае...
*

mggirl

  • Осваиваюсь на форуме
  • 14
  • 0 / 0
Нет, www, которая была!
*

icom

  • Давно я тут
  • 830
  • 202 / 4
на некоторых хостингах выскакивает 500 Internal Server Error если на папки стоит 777
на папки поставьте права 755 на файлы 644
*

al-teen

  • Глобальный модератор
  • 2385
  • 224 / 10
  • im
Ошибка 500 - это ошибка сервера. У хостера как всегда с его слов все в порядке, естественно. Но все ж рекомендую вынести мозги службе вродекакподдержки. Это в их компетеции независимо от компетентности.
*

tefun

  • Живу я здесь
  • 2540
  • 130 / 1
  • Легче всего обмануть себя
один раз было у меня, вы не поверите, мучался мучался, оказывается кэш в браузере надо почистить было :'(
то что постится на фОруме, не вырубается тапОрами
_______________________________________________
Мысли и женщины вместе не приходят М.Ж.
*

al-teen

  • Глобальный модератор
  • 2385
  • 224 / 10
  • im
А браузер тут каким боком?
*

tefun

  • Живу я здесь
  • 2540
  • 130 / 1
  • Легче всего обмануть себя
А браузер тут каким боком?
дык вот то то и оно!
___________________
ситуация след: такая ошибка была, ну я хостеров дручить начал, они все нормально типа, я им нифига - они все пашет, потом знакомый зашел грит че эт у тебя установочн Joomla стоит, ну я в опере открываю - БАЦ! и правда, реальный пример из жизни ^-^

потом в мозиле почитстил кэш (тк только на ней работаю) и все нормально стало
то что постится на фОруме, не вырубается тапОрами
_______________________________________________
Мысли и женщины вместе не приходят М.Ж.
*

hedeag

  • Захожу иногда
  • 377
  • 23 / 3
на мастер хосте запутанные корни вы наверно не туда куда то лезите куда лезть не положено вот мастер хост и отказывает
*

al-teen

  • Глобальный модератор
  • 2385
  • 224 / 10
  • im
Закешировалась сама страница 500?
*

tefun

  • Живу я здесь
  • 2540
  • 130 / 1
  • Легче всего обмануть себя
Закешировалась сама страница 500?
мил человек не знаю, просто я зашел на домен (там уже была ошибка) когда сайта там еще не было, залил joomla-обновил стр, но ничего- часа 2 сидел и мучал хостеров, сам весь как на иголках был
то что постится на фОруме, не вырубается тапОрами
_______________________________________________
Мысли и женщины вместе не приходят М.Ж.
*

mean

  • Новичок
  • 9
  • 0 / 0
аналогичная проблема с большенством квикстартами сайтов "инет магазинов"(пробовал только такие).
ни у кого идей нет? :( :'(
« Последнее редактирование: 25.01.2012, 01:41:36 от mean »
*

mggirl

  • Осваиваюсь на форуме
  • 14
  • 0 / 0
Задача решена достаточно тупым образом %-) Самостоятельно создана новая папка www, из которой по все еще НЕ ПОНЯТНОЙ мне причине все отлично загружается.

Объясните, пожалуйста, умные люди, что это за ерунда такая в мастерхосте?!
*

yuri-it

  • Давно я тут
  • 994
  • 44 / 3
  • Быстрый хостинг https://jehost.ru
часто такая ошибка бывает при неверном .htaccess . А так логи смотреть нужно!
По-настоящему быстрый хостинг для Joomla : https://jehost.ru
Отзывы: http://joomlaforum.ru/index.php/topic,109288.0.html
Отзывы по хостингу http://hosting101.ru/jehost.ru
*

mggirl

  • Осваиваюсь на форуме
  • 14
  • 0 / 0
Логи - выше
*

tefun

  • Живу я здесь
  • 2540
  • 130 / 1
  • Легче всего обмануть себя
Задача решена достаточно тупым образом %-) Самостоятельно создана новая папка www,
а я один раз папку cgi-bin удалил, ппц как я мучался
то что постится на фОруме, не вырубается тапОрами
_______________________________________________
Мысли и женщины вместе не приходят М.Ж.
*

mean

  • Новичок
  • 9
  • 0 / 0
часто такая ошибка бывает при неверном .htaccess.
в каком смысле?
*

mggirl

  • Осваиваюсь на форуме
  • 14
  • 0 / 0
Не. Все. С меня хватит. Меняем туроператора.
В configuration.php ничего не записалось (хотя сделала его writable, как просили). Теперь вот пароль не признает в back-ende...

Порекомендуйте, пожалуйста, хороший joomla-friendly хостинг!
*

al-teen

  • Глобальный модератор
  • 2385
  • 224 / 10
  • im
Не. Все. С меня хватит. Меняем туроператора.
В configuration.php ничего не записалось (хотя сделала его writable, как просили). Теперь вот пароль не признает в back-ende...

Порекомендуйте, пожалуйста, хороший joomla-friendly хостинг!
Мудрое решение. Смотрите соответствующий раздел форума, там много рекомендаций по хостингу.
*

hedeag

  • Захожу иногда
  • 377
  • 23 / 3
Цитировать
Порекомендуйте, пожалуйста, хороший joomla-friendly хостинг!
бери мультихост(multihost.ru) я им доволен, у него хорошая админка

я о проблемах хостингов читаю только на форуме, у самого их не было благо использую мультихост
Вот как создавать суб домены, а домены просто привязываешь к папке субдомена и все работает на ура
число баз и юзеров БД безлимитное, я для каждого суб домена создаю свою бд и юзера
http://s41.radikal.ru/i093/1201/57/544d3e9b961c.jpg

благодарность принимаю плюсами или деньгами на R184892837312
« Последнее редактирование: 26.01.2012, 12:17:25 от hedeag »
*

tigra-uki

  • Давно я тут
  • 565
  • 11 / 0
  • Joom'лiстка
Поделюсь для информации:
пыталась установить одну сборку (во внутреннюю папку) - получала ошибку 500, о которой тут идет речь.
Скачала с http://joomla.ru/
Вывод: Joomla.ru - лучше всех! ура!  :D
Слишком сконцентрированное внимание необходимо разбавлять действием.
*

Seal_LOSrec

  • Осваиваюсь на форуме
  • 25
  • 1 / 0
Только что столкнулся с такой проблемой. Выход из ситуации - сменить версию php на более новую
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Как заставить Joomla 1.5 работать на сервере с MySQL версии 5.7 и выше?

Автор Palomnik

Ответов: 14
Просмотров: 8302
Последний ответ 01.10.2024, 00:22:40
от jesus
Как установить Joomla 1.5 на php 7?

Автор Marius

Ответов: 8
Просмотров: 3948
Последний ответ 30.05.2021, 21:11:21
от Marius
При попытке войти в админку 404 ошибка компонента - Joomla 1.5: Общие вопросы

Автор omezik

Ответов: 1
Просмотров: 3560
Последний ответ 30.08.2019, 16:10:56
от voland
Нужно починить модуль импорта на сайте Joomla

Автор matus-8

Ответов: 0
Просмотров: 3349
Последний ответ 22.08.2019, 15:09:17
от matus-8
Восстановление Joomla на локальном компьютере из резерной копии

Автор raf88

Ответов: 6
Просмотров: 8355
Последний ответ 28.12.2018, 01:48:46
от natalileto