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

Fakir

  • Новичок
  • 6
  • 0 / 0
[FAQ] Joomla вырезает HTML теги
« : 24.02.2011, 01:36:37 »
Обновил значит сегодня сайт и столкнулся с проблемой.
В модуль "HTML-код" добавляю javascript (например <script>alert(777)</script>), а после сохранения остается только alert(777).
Пробовал:
1. Отключить все редакторы
2. Отключил во всех редакторах исправление кода
3. Отключил  "Фильтры текста" в менеджере материалов
« Последнее редактирование: 29.08.2013, 10:00:51 от b2z »
*

ura1964

  • Захожу иногда
  • 55
  • 0 / 0
Re: Joomla вырезает HTML теги.
« Ответ #1 : 24.02.2011, 21:38:32 »
Нужно отключить фильтр текста в менеджере материалов только в той под кем  Вы создаете материал .Например администратор.
*

Fakir

  • Новичок
  • 6
  • 0 / 0
Re: Joomla вырезает HTML теги.
« Ответ #2 : 24.02.2011, 21:51:20 »
ura1964

Разрешал только для админа и супер админа, не помогало.
Потом отключил в плагинах все редакторы включая "без редактора", а потом включил и о чудо теги терь не режутся))))
*

Igr

  • Осваиваюсь на форуме
  • 38
  • 4 / 0
Re: Joomla вырезает HTML теги.
« Ответ #3 : 04.03.2011, 20:18:43 »
Режет HTML :(( Уже всяко делал: устанавливал пользователю "нет редактора"; заходил в менеджер материалов и устанавливал "без фильтрации" - все равно режет :( Не удается даже счетчик поставить, не говоря уже про что-то другое!
Кто знает - подскажите, плз, что делать?!
*

nOObMeister

  • Захожу иногда
  • 126
  • 6 / 0
  • хД)))
Re: Joomla вырезает HTML теги.
« Ответ #4 : 06.03.2011, 18:58:38 »
да, а еще этот факин Tiny свои tiny_mce везде вставляет... ххх.
*

Igr

  • Осваиваюсь на форуме
  • 38
  • 4 / 0
Re: Joomla вырезает HTML теги.
« Ответ #5 : 07.03.2011, 02:05:22 »
Вопрос все еще актуален! Думаю - с подобной проблемой сталкиваются многие :(.
*

b2z

  • Глобальный модератор
  • 7284
  • 778 / 0
  • Разраблю понемногу
Re: Joomla вырезает HTML теги.
« Ответ #6 : 07.03.2011, 10:11:52 »
Вопрос все еще актуален! Думаю - с подобной проблемой сталкиваются многие :(.
Я не знаю, что вы делаете не так, но в режиме "без редактора" и в режиме "Code Mirror" у меня ничего не режет. Как вставил код, так и отображается. Специально только что проверил. Вы точно выключили фильтры?
*

Nik

  • Новичок
  • 7
  • 9 / 0
Re: Joomla вырезает HTML теги.
« Ответ #7 : 07.03.2011, 14:02:00 »
IncludePHP J1.6
Dieses Plugin ermöglicht das Inkludieren von PHP, Javascript oder HTML Code in den Content von Joomla 1.6. Es ist eine Weiterentwicklung von IncludePHP 1.1.1 für J1.5.

Этот плагин позволяет включить PHP, Javascript и HTML код в содержание Joomla 1.6 (немецкий правда, но можно перевести с помощью plg_translateHelper)

http://www.joomlaos.de/Joomla_1.6_Downloads/Joomla_1.6_Plugins/IncludePHP_J1.6.html
*

Nik

  • Новичок
  • 7
  • 9 / 0
Re: Joomla вырезает HTML теги.
« Ответ #8 : 07.03.2011, 17:08:25 »
Создай новый модуль "баннер" - в текст заголовка вставь скрипт. Так точно не обрезает.
да так все работает!
*

Nic.as

  • Новичок
  • 7
  • 0 / 0
Re: Joomla вырезает HTML теги.
« Ответ #9 : 08.03.2011, 23:55:03 »
Нашёл вот что: http://extensions.joomla.org/extensions/edition/custom-code-in-modules/3668
Модуль в который любой скрипт можно вставить и ничего не режет. Класс!
*

Nik

  • Новичок
  • 7
  • 9 / 0
Re: Joomla вырезает HTML теги.
« Ответ #10 : 11.03.2011, 19:50:58 »
Попробуйте сменить браузер, очистить кеш сайта, браузера.

Была точно такая же проблема, долго не мог понять в чем дело. обновился до 1.6.1, отключил фильтрацию, выключил редактор, все работает, никаких сторонних модулей не понадобилось, ничего не обрезается.
*

Igr

  • Осваиваюсь на форуме
  • 38
  • 4 / 0
Re: Joomla вырезает HTML теги.
« Ответ #11 : 14.03.2011, 17:12:22 »
Была точно такая же проблема, долго не мог понять в чем дело. обновился до 1.6.1, отключил фильтрацию, выключил редактор, все работает, никаких сторонних модулей не понадобилось, ничего не обрезается.

Спасибо! Обновился до 1.6.1 - помогло!
+1 :)
*

b2z

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

Dimension

  • Осваиваюсь на форуме
  • 31
  • 2 / 0
Re: Joomla вырезает HTML теги.
« Ответ #13 : 27.04.2011, 23:47:37 »
JS начал вставляться, а вот PHP не воспринимает
*

Mihanja80

  • Завсегдатай
  • 1918
  • 168 / 4
  • Всю жизнь учусь...
Re: Joomla вырезает HTML теги.
« Ответ #14 : 28.04.2011, 00:09:56 »
JS начал вставляться, а вот PHP не воспринимает
А зачем поднимать несколько тем по одному и тому же вопросу?
Я Вам уже ответил тут:
joomlaforum.ru/index.php/topic,151298.msg877621.html#msg877621
Я с мобильного, в основном...
*

nOObMeister

  • Захожу иногда
  • 126
  • 6 / 0
  • хД)))
Re: Joomla вырезает HTML теги.
« Ответ #15 : 30.04.2011, 17:57:09 »
JS начал вставляться, а вот PHP не воспринимает

Такая же запарка была недавно, отлично помог плагин DirectPHP

http://www.kksou.com/php-gtk2/Joomla/DirectPHP-plugin.php
*

Mihanja80

  • Завсегдатай
  • 1918
  • 168 / 4
  • Всю жизнь учусь...
Re: Joomla вырезает HTML теги.
« Ответ #16 : 02.06.2011, 16:18:33 »
процитирую свой пост в эту тему так как тема прикреплена в FAQ Joomla 1.6 а мне уже поднадоело 32 раза отвечать копируя свое сообщение ::)


Сделать отключение аналогично, открыть материал, вставить код, сохранить и закрыть.
Все.
Я с мобильного, в основном...
*

Maxandrey

  • Осваиваюсь на форуме
  • 28
  • 0 / 0
Re: Joomla вырезает HTML теги.
« Ответ #17 : 04.07.2011, 16:54:12 »
Спасибо Mihanja80 за видео, и всем остальным кто откликается на призывы о помощи.
Сам промучился несколько часов над тем чтобы элементарно поставить счетчик. В 1.5 все вставало, а тут начались грабли.
И никто конкретно не написал, что для установки модуля с произвольным HTML нужно сначала в Менеджере материалов в настройках убрать фильтр. Я когда читал посты, думал, что фильтр действуйт только на материалы, но не на модули, по этому туда и не лез. А в "Настройках модулей" только настройки прав для групп пользователей.

Я конечно не спец, критиковать разработчиков, они конечно хотели повысить уровень безопасности и все такое, но в итоге у многих возникли проблемы. Могли хотя бы для нас админов фильтр выключить, мы все таки Admin-ы:) Хотя с другой стороны многие и не узнали бы о такой функции.

Еще раз всем спасибо!
*

monah46

  • Захожу иногда
  • 87
  • 0 / 1
Re: Joomla вырезает HTML теги.
« Ответ #18 : 13.08.2011, 22:51:51 »
Нашёл вот что: http://extensions.joomla.org/extensions/edition/custom-code-in-modules/3668
Модуль в который любой скрипт можно вставить и ничего не режет. Класс!
проблема не решена, фильтры отключены и данный модуль установлен, все равно режет скрипт Joomla 1.7
*

Snip

  • Захожу иногда
  • 236
  • 14 / 1
Re: Joomla вырезает HTML теги.
« Ответ #19 : 20.08.2011, 15:17:40 »
Блин, второй день мучаюсь, режет код хоть убей.
В фильтрах поставил отключить фильтры, не помогает.
*

Mihanja80

  • Завсегдатай
  • 1918
  • 168 / 4
  • Всю жизнь учусь...
Re: Joomla вырезает HTML теги.
« Ответ #20 : 20.08.2011, 17:40:06 »
Блин, второй день мучаюсь, режет код хоть убей.
В фильтрах поставил отключить фильтры, не помогает.
пообщались в личке...

Ребят, когда на странице нужно вставить пример HTML кода и при этом у Вас нифига не получается, не нужно винить в этом Joomla :)
Пример:
Код
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" >
 <html>
 <head>
 <meta http-equiv="Content-Type" content="text/html; charset=windows-1251">
 <meta name="copyright" content="Все права принадлежат бла бла">
 <meta name="autor" content="бла бла.net.ru">
 <!-- Немного авторства -->


 <meta name="keywords" content="бла бла">
 <meta name="description" content="Страница бла бла">
 <!-- все как всегда -->

 <meta name="robots" content="none">
 <!-- бла бла -->

 <meta http-equiv="refresh" content="1;http://www.бла бла">
 <!-- бла бла -->

 <title>Страница перехода на сайт бла бла</title>
 </head>

Не нужно вводить знаки больше/меньше (< >) и остальные спец.символы с клавиатуры! и то что вы обрамляете текст тегом <code> тоже не поможет, этот тег предназначен лишь для визуального оформления блока в таблице стилей.

В редакторе JCE есть кнопочка, с помощью которой можно вводить спец.символы кодом
Например:
Код
<
в исходном коде страницы будет отображаться как
Код
&lt;
И тогда предоставленный выше код будет корректно отображаться на странице
 
Первое что нагуглил:
Специальные символы

Спойлер
[свернуть]
Я с мобильного, в основном...
*

Snip

  • Захожу иногда
  • 236
  • 14 / 1
Re: Joomla вырезает HTML теги.
« Ответ #21 : 20.08.2011, 17:56:39 »
Спасибо именно это мне помогло, я даже и не имел представление о таком подходе.
*

tsirik

  • Захожу иногда
  • 134
  • 3 / 0
  • Это не Я :)
Re: Joomla вырезает HTML теги.
« Ответ #22 : 30.01.2012, 02:45:44 »
После обновления с 1.7 на 2.5 возникла вот такая проблема, вырезается код как бы я не крутил.
Не понятно в 2.5 куда запихнули "Фильтры текста" а без нее никак не могу настроить, и отключал редакторы и переключал...

Кто то еще сталкивался с этим?
*

dimon888951

  • Захожу иногда
  • 115
  • 24 / 3
Re: Joomla вырезает HTML теги.
« Ответ #23 : 30.01.2012, 06:03:23 »
После обновления с 1.7 на 2.5 возникла вот такая проблема, вырезается код как бы я не крутил.
Не понятно в 2.5 куда запихнули "Фильтры текста" а без нее никак не могу настроить, и отключал редакторы и переключал...

Кто то еще сталкивался с этим?
В Joomla 2.5 текстовые фильтры в глобальных настройках,туда их переместили.
*

tsirik

  • Захожу иногда
  • 134
  • 3 / 0
  • Это не Я :)
Re: Joomla вырезает HTML теги.
« Ответ #24 : 30.01.2012, 12:49:12 »
В Joomla 2.5 текстовые фильтры в глобальных настройках,туда их переместили.
Спасибо дружище :) +1
Перевод стоит от 1.7 и фильтры не переведены, по этому не догадался что это может быть фильтром.
*

dimon888951

  • Захожу иногда
  • 115
  • 24 / 3
Re: Joomla вырезает HTML теги.
« Ответ #25 : 30.01.2012, 15:30:25 »
Спасибо дружище :) +1
Перевод стоит от 1.7 и фильтры не переведены, по этому не догадался что это может быть фильтром.

На здоровье,сам тестю 2.5 на локалке, я в хроме , он автоматом переводит)
*

ecolora

  • Завсегдатай
  • 1535
  • 171 / 2
  • творец
Re: Joomla вырезает HTML теги.
« Ответ #26 : 19.02.2012, 07:25:31 »
Ещё зависит от редактора... нужно смотреть и его свойства. К примеру у меня стандартный вырезает <noindex>. Хотя в фитрации для Суперюзера стоит "нет фильтрации". Поставил свою любимый JCK Editor и всё стало путём.
Я рифме друг словесной. Тут
Свой упражняю словоблуд:
Блог Ecolora
*

danik.html

  • Живу я здесь
  • 2650
  • 353 / 4
Re: Joomla вырезает HTML теги.
« Ответ #27 : 19.02.2012, 08:08:57 »
Ещё зависит от редактора... нужно смотреть и его свойства. К примеру у меня стандартный вырезает <noindex>.
Потомучто нет такого тега. Нужно использовать <!--noindex--> <!--/noindex--> - это уже всем давно известно и не будет никаких проблем.
【Мегапак Virtuemart:
 • метатеги (description,keywords)
 • заголовки (title)
 • красивые алиасы (чпу) без тормозов и дублей!
*

ecolora

  • Завсегдатай
  • 1535
  • 171 / 2
  • творец
Re: Joomla вырезает HTML теги.
« Ответ #28 : 19.02.2012, 09:26:50 »
Это уже всем давно известно и не будет никаких проблем.
Значит я не такой как все! ;-) И слава Богу. :-)
Я рифме друг словесной. Тут
Свой упражняю словоблуд:
Блог Ecolora
*

danik.html

  • Живу я здесь
  • 2650
  • 353 / 4
Re: Joomla вырезает HTML теги.
« Ответ #29 : 19.02.2012, 09:58:11 »
Теперь такой как все )) ведь ты теперь тоже знаешь )
【Мегапак Virtuemart:
 • метатеги (description,keywords)
 • заголовки (title)
 • красивые алиасы (чпу) без тормозов и дублей!
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Руководство пользователя Joomla! 2.5 + 10 легких шагов к освоению Joomla! 3 (книги в pdf)

Автор Marques

Ответов: 69
Просмотров: 199510
Последний ответ 31.01.2025, 12:42:10
от brat_ii
Как редактировать отдельную страницу Joomla 2.5?

Автор mrporter

Ответов: 1
Просмотров: 2876
Последний ответ 17.12.2024, 00:13:11
от brat_ii
Почему в админке Joomla 2.58 - у меня 16 админов показывает?

Автор dyalex

Ответов: 8
Просмотров: 4202
Последний ответ 09.12.2024, 23:36:51
от brat_ii
Joomla 2.5.28, Safari под маком и сессии session

Автор beliyadm

Ответов: 19
Просмотров: 5491
Последний ответ 29.03.2023, 12:17:19
от Sawell
Joomla 2.5.28 как скачать все файлы через панель управления

Автор Sergei41984

Ответов: 7
Просмотров: 3336
Последний ответ 27.12.2022, 23:30:38
от Sergei41984