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

AHTOH

  • Захожу иногда
  • 104
  • 8 / 1
Не закрывайте пожалуйста тему в которой таки нет ответа и идет отсылка в поиск форума без ключевых слов и указания темы.
Проблема есть и она никуда не делась.

.htaccess
php_flag magic_quotes_gpc Off
- Ошибка 500

php.ini
magic_quotes_gpc = Off
magic_quotes_runtime = Off
magic_quotes_sybase = Off
- просто не реагирует.

Менять провайдера не хочу т.к. там вполне себе нормально функционирует сайт на 2.5
Цитировать
Версия Apache    2.2.23
Версия PHP    5.3.18
Версия MySQL    5.1.65-cll
Архитектура    x86_64
Операционная система    linux

Вопрос: Если этот magic_quotes просто не нужен то как вообще обойти его проверку при инсталляции?
Я так понимаю что это вообще не существенный флаг для самой системы?
« Последнее редактирование: 07.05.2013, 17:07:09 от b2z »
*

b2z

  • Глобальный модератор
  • 7284
  • 778 / 0
  • Разраблю понемногу
Re: Magic Quotes GPC Off
« Ответ #1 : 14.11.2012, 10:55:15 »
Если не реагирует на php.ini, то обратитесь к хостеру. Другого варианта нет.

А если не отключать, то Вас ждет вот это:


С чего Вы взяли, что нет ответов? Тут есть все ответы:
Ошибка при установке Joomla!: Magic Quotes GPC Off - НЕТ

А это тема ничто более, чем дубль...
*

AHTOH

  • Захожу иногда
  • 104
  • 8 / 1
Re: Magic Quotes GPC Off
« Ответ #2 : 14.11.2012, 11:01:19 »
Разумеется я обращался уже к хостеру. И получил отказ.
Вопрос как вообще отключить эту ненужную проверку?


p.s. Согласен что тема дубль, но та закрыта и я не могу там задать там свой вопрос.
*

b2z

  • Глобальный модератор
  • 7284
  • 778 / 0
  • Разраблю понемногу
Re: Magic Quotes GPC Off
« Ответ #3 : 14.11.2012, 11:05:01 »
Разумеется я обращался уже к хостеру. И получил отказ.
Классный хостер...

Вопрос как вообще отключить эту ненужную проверку?
Даже если Вы её отключите, то получите неожиданный результат при дальнейшей работе с J3 - я дал ссылку на тему.

p.s. Согласен что тема дубль, но та закрыта и я не могу там задать там свой вопрос.
По идее вопросов не должно быть - нужно отключать и все тут. Нет других вариантов - J3 и Magic Quotes GPC On несовместимы. И точка ;)
*

AHTOH

  • Захожу иногда
  • 104
  • 8 / 1
Re: Magic Quotes GPC Off
« Ответ #4 : 14.11.2012, 11:40:19 »
Не соглашусь так категорично. Всегда в ядре можно что то поправить.
Тем более из вашего описания http://joomlablog.ru/hosting-i-bezopasnost/297-joomla-3-0-i-magic-quotes-gpc
Становится понятно что это и не нужно. Ну включен, ну будет работать  JInput
Он же не полезет с проверкой на JRequest класс который отсутствует в J3
*

voland

  • Легенда
  • 11028
  • 588 / 112
  • Эта строка съедает место на вашем мониторе
Re: Magic Quotes GPC Off
« Ответ #5 : 14.11.2012, 11:43:08 »
А зачем?
Проще хостера сменить.
*

b2z

  • Глобальный модератор
  • 7284
  • 778 / 0
  • Разраблю понемногу
Re: Magic Quotes GPC Off
« Ответ #6 : 14.11.2012, 11:48:18 »
Не соглашусь так категорично. Всегда в ядре можно что то поправить.
Тем более из вашего описания http://joomlablog.ru/hosting-i-bezopasnost/297-joomla-3-0-i-magic-quotes-gpc
Становится понятно что это и не нужно. Ну включен, ну будет работать  JInput
Он же не полезет с проверкой на JRequest класс который отсутствует в J3
Что значит - это не нужно? Там написано, что не нужна лишняя проверка (которая была убрана в JInput), так как в PHP отказались от поддержки кавычек.

А если будет включено, Вы получите текст, в котором все кавычки экранированы. Оно Вам надо?


Вы собираетесь ядро при каждом обновлении править? Согласен с voland - проще сменить хостера.
*

AHTOH

  • Захожу иногда
  • 104
  • 8 / 1
Re: Magic Quotes GPC Off
« Ответ #7 : 14.11.2012, 11:53:11 »
Ну а если и надо?
Мне то всего то потестить ту самую J3 Не собираюсь я на нее пока переходить.
Мне нужно переделать свой шаблон сайта чтобы через год когда начну перелезать на J3 уже все было готово.
Т.е. хочу запустить J3 на том хостере на котором нахожусь сейчас.
И какие то мелкие ошибки в работе сайта меня не будут волновать.
Поэтому я прошу подсказать, как отключить эту проверку в инсталяторе?
*

b2z

  • Глобальный модератор
  • 7284
  • 778 / 0
  • Разраблю понемногу
Re: Magic Quotes GPC Off
« Ответ #8 : 14.11.2012, 11:59:24 »
Поэтому я прошу подсказать, как отключить эту проверку в инсталяторе?
Проще тогда установить 2.5.8 и обновить до 3.0.2 ;)
*

AHTOH

  • Захожу иногда
  • 104
  • 8 / 1
Re: Magic Quotes GPC Off
« Ответ #9 : 14.11.2012, 12:08:08 »
Хе... хе..  А это уже интересно. :)
Надо посмотреть как это можно сделать. Потому как пока не предлагает система, да и тут ничего (2.5.8 to 3.0.2) нет http://joomlacode.org/gf/project/joomla/frs/?action=index
*

b2z

  • Глобальный модератор
  • 7284
  • 778 / 0
  • Разраблю понемногу
Re: Magic Quotes GPC Off
« Ответ #10 : 14.11.2012, 12:19:30 »
Joomla! 3.0 FAQ

Цитировать
Как только вы готовы к переходу, зайдите в "Компоненты -> Обновление Joomla! -> Настройки -> Источник обновлений", выбирите "Дистрибутивы Joomla с краткосрочной поддержкой" и сохраните. Вы должны быть уведомлены о доступности Joomla 3.0. Кликните на кнопку для установки. Очистите кеш бразуера, чтобы убедиться в том, что вы видите последние изменения. Все готово!
*

b2z

  • Глобальный модератор
  • 7284
  • 778 / 0
  • Разраблю понемногу
Re: Magic Quotes GPC Off
« Ответ #11 : 14.11.2012, 12:36:46 »
localhost - тоже вариант :) Даже лучше, чем хостинг - заморочек меньше ;)
*

AHTOH

  • Захожу иногда
  • 104
  • 8 / 1
Re: Magic Quotes GPC Off
« Ответ #12 : 14.11.2012, 12:50:18 »
Проще тогда установить 2.5.8 и обновить до 3.0.2 ;)
Большое спасибо за совет! (и как только сам не додумался)
Не надо никуда лезть и что то править. действительно. Все само обновилось и ничего не спрашивала лишнего. И побаробану ей этот Magic Quotes GPC Off

Вот это я понимаю. А то смени хостера и прочие советы :)))

p.s. И не надо всем подряд советовать localhost и DENWER.
Я понятия не имею как поднять на своем ASUS Eee Pad Transformer работающим на Андроиде, да к тому же без ROOT прав поднять Apach
« Последнее редактирование: 14.11.2012, 13:12:31 от AHTOH »
*

AHTOH

  • Захожу иногда
  • 104
  • 8 / 1
Re: Magic Quotes GPC Off
« Ответ #13 : 14.11.2012, 13:11:00 »
а теперь напишите материал... вставьте в него картинку и нажмите кнопку сохранить раз 5.. потом нажмите кнопку выключить редактор )
Ну да, бардак там получается. Но мне это и не важно.
Теперь зато я смогу править свой шаблон. А это к материалам никакого отношения не имеет.
*

b2z

  • Глобальный модератор
  • 7284
  • 778 / 0
  • Разраблю понемногу
Re: Magic Quotes GPC Off
« Ответ #14 : 14.11.2012, 13:16:02 »
Вопрос решен. И эту тему тоже нет смысла оставлять открытой. Вывод все равно всегда один - кавычки надо отключать :) Про обновление тоже упомянули.
*

AHTOH

  • Захожу иногда
  • 104
  • 8 / 1
Re: Magic Quotes GPC Off
« Ответ #15 : 14.11.2012, 13:18:15 »
Приклейте ее лучше к закрытой.

Хотя мое мнение не стоит закрывать подобные темы. Они же актуальные. И в любом случае будут возникать вопросы. Пусть лучше она "утонет" за неактуальностью.
*

Masnerin

  • Осваиваюсь на форуме
  • 24
  • 0 / 0
Re: Magic Quotes GPC Off
« Ответ #16 : 24.11.2012, 19:16:06 »
Я пробовал отключить кавычки всеми перечисленными здесь способами, не получилось. Обратился на хост, а там мне сообщили, что на сервере Magic Quotes вообще отсутствует. Как быть в этом случае?
*

b2z

  • Глобальный модератор
  • 7284
  • 778 / 0
  • Разраблю понемногу
Re: Magic Quotes GPC Off
« Ответ #17 : 24.11.2012, 19:18:53 »
Обратился на хост, а там мне сообщили, что на сервере Magic Quotes вообще отсутствует. Как быть в этом случае?
Как это - отсутствует? :o Быть такого не может  ^-^
*

Masnerin

  • Осваиваюсь на форуме
  • 24
  • 0 / 0
Re: Magic Quotes GPC Off
« Ответ #18 : 24.11.2012, 19:40:27 »
Может я Неправильно понял? Вот полный ответ:

Hello Sergey,

The current server your account is hosted on supports PHP 5.3 . PHP 5.3 does not have Magic Quotes feature anymore so it is off.

Should you need more information, please don't hesitate to contact us.

Regards,
Gibson R.
Help Desk Staff
*

b2z

  • Глобальный модератор
  • 7284
  • 778 / 0
  • Разраблю понемногу
Re: Magic Quotes GPC Off
« Ответ #19 : 25.11.2012, 01:33:40 »
The current server your account is hosted on supports PHP 5.3 . PHP 5.3 does not have Magic Quotes feature anymore so it is off.
Некомпетентный хостер... Ткните их сюда:
http://php.net/manual/en/security.magicquotes.php
Цитировать
This feature has been DEPRECATED as of PHP 5.3.0 and REMOVED as of PHP 5.4.0.
Их не будет в PHP 5.4
*

Masnerin

  • Осваиваюсь на форуме
  • 24
  • 0 / 0
Re: Magic Quotes GPC Off
« Ответ #20 : 25.11.2012, 13:18:33 »
Спасибо за помощь.
Останусь ка я на Joomla 2.5.8
*

linoxru

  • Захожу иногда
  • 58
  • 5 / 0
  • joomla 3.8.5 joomshopping 4.16.3
Re: Magic Quotes GPC Off
« Ответ #21 : 09.12.2012, 20:49:00 »
Я поступил по другому, installation/models/setup.pnp
Код
$option->state  = (ini_get('magic_quotes_gpc') == false);
заменил
на
Код
$option->state  = (ini_get('magic_quotes_gpc') == true);
*

b2z

  • Глобальный модератор
  • 7284
  • 778 / 0
  • Разраблю понемногу
Re: Magic Quotes GPC Off
« Ответ #22 : 09.12.2012, 23:40:06 »
Я поступил по другому, installation/models/setup.pnp
Код
$option->state  = (ini_get('magic_quotes_gpc') == false);
заменил
на
Код
$option->state  = (ini_get('magic_quotes_gpc') == true);

И что? Вы все равно не сможете работать нормально. Любая кавычка в тексте будет превращаться в \'
*

danilovmy

  • Осваиваюсь на форуме
  • 28
  • 1 / 0
  • Технический директор http://linguaxtrem.at/ru/
добавлю свой бонус. у меня австрийскй хостер. в настройках стоит magicquotes = off в админке сайта php выводится упорно информация о magicquotes = on, долго доставал хостера. htacess не работает.

тогда положил в корневую папку сайта php-ini с
Код
; Magic quotes for incoming GET/POST/Cookie data.
magic_quotes_gpc = Off
; Magic quotes for runtime-generated data, e.g. data from SQL, from exec(), etc.
magic_quotes_runtime = Off   
; Use Sybase-style magic quotes (escape ' with '' instead of \').
magic_quotes_sybase = Off

и тестовый
Код
<?php
phpinfo();
?>
тот показал наконец то magicquotes = off но в админке продолжалось отображение magicquotes = on

в итоге выяснилось, что еще один php.ini надо было положить в папку админки
после чего было достигнуто отображение в админке magicquotes = off

что за глюк хостера - мне непонятно, т.к. на хостинге стоит 5.3.1 php и в настройках изначально все как надо.

подтверждение верности моего решения позже было найдено на официальном форуме Joomla http://forum.joomla.org/viewtopic.php?p=2913680#p2913680
*

xcreotiff

  • Осваиваюсь на форуме
  • 22
  • 0 / 0
А мне помог метод php.ini
magic_quotes_gpc = Off
magic_quotes_runtime = Off
magic_quotes_sybase = Off

все заработало, до этого в поля для ввода текста где встречается символ ' ставил слэши. Что за фигня творится с 3 Joomla, помню 1.5 все без проблем было, легко настраивалась, легко устанавливалась, а сейчас с 1.5 перешел на 3 трындец какой то. Единственный плюс быстрее стала
*

Sabia

  • Новичок
  • 2
  • 0 / 0
   Мне тоже ничего не помогло, поэтому решил обновить енделс -поставил 1.53. теперь проверочного окна нет, сразу название сайта итп.Заполняю, тыц и...JLIB_APPLICATION_ERROR_INVALID_CONTROLLER.javascript:void(0);
 
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться