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

martinez

  • Осваиваюсь на форуме
  • 22
  • 0 / 0
  • www.barshow.com.ua
Перенес сайт на хостинг ipage.com на след день не смог зайти в панель управления (
После ввода логина, получаю ошибку
500 - An error has occurred.

Internal Server Error

The server encountered an internal error or misconfiguration and was unable to complete your request.

Please contact the server administrator, cgiadmin@yourhostingaccount.com and inform them of the time the error occurred, and anything you might have done that may have caused the error.

More information about this error may be available in the server error log.
*

wishlight

  • Гуру
  • 5051
  • 314 / 1
  • От 300 руб быстрый хостинг. Сервера.
*

martinez

  • Осваиваюсь на форуме
  • 22
  • 0 / 0
  • www.barshow.com.ua
error log смотрели?
#
#<?php die('Forbidden.'); ?>
#Date: 2012-03-14 01:50:52 UTC
#Software: Joomla Platform 11.4.0 Stable [ Brian Kernighan ] 03-Jan-2012 00:00 GMT

#Fields: date   time   priority   clientip   category   message
2012-03-14   01:50:52   INFO   127.0.0.1   Joomla FAILURE:    Пустой пароль не допускается
*

MJSN1k

  • Захожу иногда
  • 114
  • 6 / 0
  • Хочу уснуть, прыгающие овцы стареют и дохнут...
Поддерживаю, такая же проблема, пытаюсь бороться, пока не получается...
*

eclipseggg

  • Захожу иногда
  • 410
  • 32 / 2
Перенес сайт на хостинг ipage.com на след день не смог зайти в панель управления (
После ввода логина, получаю ошибку
500 - An error has occurred.

Internal Server Error

The server encountered an internal error or misconfiguration and was unable to complete your request.

Please contact the server administrator, cgiadmin@yourhostingaccount.com and inform them of the time the error occurred, and anything you might have done that may have caused the error.

More information about this error may be available in the server error log.
как ты его переносил это первое?второе лог ты не тот нашел, ищи другой
а пока восстанови таблицы в базе , ресетни логин пароль и еще перекинь с рабочего дистрибутива файлы админки)подозреваю что ты вырубил какой то важный плагин или потерял какой то файлик с папок в administrator
*

Marques

  • Завсегдатай
  • 1410
  • 190 / 9
  • Ctrl+F5
#
#<?php die('Forbidden.'); ?>
#Date: 2012-03-14 01:50:52 UTC
#Software: Joomla Platform 11.4.0 Stable [ Brian Kernighan ] 03-Jan-2012 00:00 GMT

#Fields: date   time   priority   clientip   category   message
2012-03-14   01:50:52   INFO   127.0.0.1   Joomla FAILURE:    Пустой пароль не допускается

Это не тот лог. Нужен лог ошибок сервера. Этот файл должен быть в корневой директории хостинга и имеет имя примерно такое - error.log

Поддерживаю, такая же проблема, пытаюсь бороться, пока не получается...

Подробности расскажете, или будем гадать ?
Зануда перфекционист, не признающий авторитетов, ищет легкую работу за большие деньги - http://dtkp.ru/ s@dtkp.ru
*

eclipseggg

  • Захожу иногда
  • 410
  • 32 / 2
кстати если все нормально с файлами и базами то вполне возможно что права неправильно еще поставили на админки
*

MJSN1k

  • Захожу иногда
  • 114
  • 6 / 0
  • Хочу уснуть, прыгающие овцы стареют и дохнут...
Подробности расскажете, или будем гадать ?

Сайт hotelimperator .ru/administrator
при попытке ввести любой логин пароль (даже правильный), выдает ошибку "500 - Обнаружена ошибка.".
Сейчас сижу пытаюсь расковырять мускул, думаю, что проблема заложена там...
*

eclipseggg

  • Захожу иногда
  • 410
  • 32 / 2
Сайт hotelimperator .ru/administrator
при попытке ввести любой логин пароль (даже правильный), выдает ошибку "500 - Обнаружена ошибка.".
Сейчас сижу пытаюсь расковырять мускул, думаю, что проблема заложена там...
проверь все что выше отписали
и лучше найди лог файлик сервера
*

Marques

  • Завсегдатай
  • 1410
  • 190 / 9
  • Ctrl+F5
Я зашел в вашу админку нормально.

А, извиняюсь, поторопился. Саму страницу же, вы и сами видите ?
Зануда перфекционист, не признающий авторитетов, ищет легкую работу за большие деньги - http://dtkp.ru/ s@dtkp.ru
*

eclipseggg

  • Захожу иногда
  • 410
  • 32 / 2
Я зашел в вашу админку нормально.

А, извиняюсь, поторопился. Саму страницу же, вы и сами видите ?
введи хотябы admin admin ошибку выдаст)
*

eclipseggg

  • Захожу иногда
  • 410
  • 32 / 2
какой то модуль включен выключен или плагин или компонент если с правами все нормально и файлы на месте:)
*

Marques

  • Завсегдатай
  • 1410
  • 190 / 9
  • Ctrl+F5
Да вижу, такое впечатление что ошибка где-то в файлах админки. База скорее всего не при чем.
Зануда перфекционист, не признающий авторитетов, ищет легкую работу за большие деньги - http://dtkp.ru/ s@dtkp.ru
*

Fedor Vlasenko

  • Живу я здесь
  • 3845
  • 733 / 7
  • https://fedor-vlasenko.web.app
*

oriol

  • Завсегдатай
  • 1042
  • 100 / 4
в папку administrator/  залей новые индексные файлы
*

eclipseggg

  • Захожу иногда
  • 410
  • 32 / 2
MJSN1k ты тоже перенос с локалки делал?
*

MJSN1k

  • Захожу иногда
  • 114
  • 6 / 0
  • Хочу уснуть, прыгающие овцы стареют и дохнут...
Так, новости с фронта, перенес полностью шаблон (самописный) и базу на локальный сервак. И о чудо... на локале - работает.
При этом шаблон закинул не в отдельную папку, а просто заменил стандартный BEEZ5.
Делаем вывод, проблема явно не с базой, ушел дальше колупать, сейчас буду экспериментировать с файлам админки... видимо проблема заложена тут... :)
*

eclipseggg

  • Захожу иногда
  • 410
  • 32 / 2
если у тебя сайт на локалке весь работает то ставь Akeeba Backup делай копию и извлекай на сервак, а там будет все видно, бываю бараны админы хостингов еще могут и GET POST Запретить  много чего)у тебя полностью сайт весь перенесется как есть)
*

MJSN1k

  • Захожу иногда
  • 114
  • 6 / 0
  • Хочу уснуть, прыгающие овцы стареют и дохнут...
у меня на хосте не поддерживается (наверное, русоникс юзаю) разахривация, поэтому акибой сейчас не вариант, через телефон в инете сижу)))) поэтому сейчас так буду шкурку снимать с сайта
*

eclipseggg

  • Захожу иногда
  • 410
  • 32 / 2
ну так файлы перелей как есть с заменой только тех которые отличаются размером и все быстро будет...а вообще хостинг Г...я посмотрел его уже...и даже архивации нет ну нафига такое чудо..)
*

MJSN1k

  • Захожу иногда
  • 114
  • 6 / 0
  • Хочу уснуть, прыгающие овцы стареют и дохнут...
Да, просто тут VPSник, который оплачивает компания, мне это очень выгодно)))) А файлы уже перезаливаю, посмотрим, что из этого выйдет)
*

eclipseggg

  • Захожу иногда
  • 410
  • 32 / 2
Да, просто тут VPSник, который оплачивает компания, мне это очень выгодно)))) А файлы уже перезаливаю, посмотрим, что из этого выйдет)
ну так хоть ясно станет проблема с твоей стороны или кастрация админа
*

martinez

  • Осваиваюсь на форуме
  • 22
  • 0 / 0
  • www.barshow.com.ua
сбросил пароль в базе данных и все получилось!
*

eclipseggg

  • Захожу иногда
  • 410
  • 32 / 2
сбросил пароль в базе данных и все получилось!
я же говорил,но оно не всем подходит, ибо причины у этой ошибки самые разные бывают
*

MJSN1k

  • Захожу иногда
  • 114
  • 6 / 0
  • Хочу уснуть, прыгающие овцы стареют и дохнут...
А ну ка подробнее пожалуйста, просто сменил пароль на базе данных ??
*

MJSN1k

  • Захожу иногда
  • 114
  • 6 / 0
  • Хочу уснуть, прыгающие овцы стареют и дохнут...
Проблема решена, как и обычно 99% из-за невнимательности или неадекватности.

Решение проблемы в моем случае:
В файле configuration.php нужно было выставить
Код
public $log_path = '/home/httpd/vhosts/sitename/httpdocs/logs';
public $tmp_path = '/home/httpd/vhosts/sitename/httpdocs/tmp';
*

MJSN1k

  • Захожу иногда
  • 114
  • 6 / 0
  • Хочу уснуть, прыгающие овцы стареют и дохнут...
Написал небольшую статейку о том, как я искал способы справиться с данной ошибку - Как исправить ошибку 500 в административной панеле Joomla 2.5
*

eclipseggg

  • Захожу иногда
  • 410
  • 32 / 2
Проблема решена, как и обычно 99% из-за невнимательности или неадекватности.

Решение проблемы в моем случае:
В файле configuration.php нужно было выставить
Код
public $log_path = '/home/httpd/vhosts/sitename/httpdocs/logs';
public $tmp_path = '/home/httpd/vhosts/sitename/httpdocs/tmp';
никогда бы не подумал))))))и не подумал))Ну да..ошибка 500 такая никогда не угадаешь в каком месте берется))))))
*

Vekach

  • Захожу иногда
  • 162
  • 1 / 0
В файле configuration.php нужно было выставить
У меня все прописано. Никаких манипуляций ссайтом не делала, разве что юзера на файлы поменяла, и права на все файлы (кроме тех что темп, лог, кешь) 644. Думаю у меня траблы с правами. Не знаю как решить
*

Vekach

  • Захожу иногда
  • 162
  • 1 / 0
Вот и я думаю что так. У меня логин через К2,
кстати если все нормально с файлами и базами то вполне возможно что права неправильно еще поставили на админки
JomSocial перестали работать когда всем файлам 644 присовила, и почти всем папкам 755. Подскажите где собака зарыта? в папке /администратор?
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Joomla2.5 в панели управления/общие настройки:Недопустимое поле: Сервер справки

Автор rostovkrovlya

Ответов: 1
Просмотров: 2355
Последний ответ 24.05.2024, 17:42:06
от Шрек
Не заходит в панель управления

Автор RE1m

Ответов: 9
Просмотров: 2713
Последний ответ 13.12.2018, 15:35:41
от lexxbry
Не могу установить Akeeba Backup

Автор ALKION

Ответов: 8
Просмотров: 2567
Последний ответ 13.04.2017, 11:15:04
от juliad2017
Не могу обновить до 3 версии джуалы

Автор GuN

Ответов: 3
Просмотров: 1741
Последний ответ 21.12.2016, 16:07:16
от SeBun
У вас нет доступа к панели управления сайтом

Автор vbm

Ответов: 20
Просмотров: 20144
Последний ответ 11.07.2016, 13:20:13
от pavel_28121