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

svarg

  • Захожу иногда
  • 178
  • 1 / 2
Есть сайт с галлереей http://***
Joomla3, FocaGallery версия 4.0.2
Навигация на английском: Filter by category: Show All Я скоро уже застрелюсь! Ну не пойму как и где заменить на русский!? Прошу вас братцы поможите!
« Последнее редактирование: 21.01.2016, 17:33:03 от svarg »
*

Olg

  • Завсегдатай
  • 1181
  • 90 / 2
Re: Перевести навигацию на русский
« Ответ #1 : 21.01.2016, 11:45:07 »
С сайта галереи пакет русского языка скачан и установлен?
*

vipiusss

  • Гуру
  • 5739
  • 344 / 11
  • Скайп: renor_
Re: Перевести навигацию на русский
« Ответ #2 : 21.01.2016, 11:59:45 »
скорее всего в коде значит, а не в ленгвич файле.
поиском найдите и переведите в коде напрямую.
Миграция, установка, обновление версий Joomla  |  Создание сайтов "под ключ"  |  Эксклюзивные заглушки "offline"  |  Работа с "напильником" над шаблонами и расширениями
*

svarg

  • Захожу иногда
  • 178
  • 1 / 2
Re: Перевести навигацию на русский
« Ответ #3 : 21.01.2016, 12:18:24 »
Нашёл файл который отвечает за навигацию: templates/as002060/language/en-GB/en-GB.tpl_as002060.ini
Там поменял "Filter by category: Show All" на русский "Фильтр категории: Показать всё" получил на сайте вот это: ������� ���������: �������� ��� ���������
Танцы с кодировками на сервере и в .htaccess не помогли

От безисходности уже готов вставить какие нибудь символы типа ▶▶▶  :-X :o
« Последнее редактирование: 21.01.2016, 12:22:33 от svarg »
*

effrit

  • Легенда
  • 10132
  • 1118 / 13
  • effrit.com
*

svarg

  • Захожу иногда
  • 178
  • 1 / 2
Re: Перевести навигацию на русский
« Ответ #5 : 21.01.2016, 12:42:17 »
файл в Notepad++ сохранить в виде utf-8 без BOM.
в htaccess корня сайта дописать
Код
AddDefaultCharset utf-8

Стоит уже, не помогло
« Последнее редактирование: 21.01.2016, 12:53:27 от svarg »
*

vipiusss

  • Гуру
  • 5739
  • 344 / 11
  • Скайп: renor_
Re: Перевести навигацию на русский
« Ответ #6 : 21.01.2016, 12:47:53 »
ну вместо тех слов вставьте <?php print _NEW_G_FILTER?> и в легвиче добавьте ваше значение перевода.
(может там сама галерея не принимает в коде ютф-8)
Миграция, установка, обновление версий Joomla  |  Создание сайтов "под ключ"  |  Эксклюзивные заглушки "offline"  |  Работа с "напильником" над шаблонами и расширениями
*

svarg

  • Захожу иногда
  • 178
  • 1 / 2
Re: Перевести навигацию на русский
« Ответ #7 : 21.01.2016, 12:56:46 »
ну вместо тех слов вставьте <?php print _NEW_G_FILTER?> и в легвиче добавьте ваше значение перевода.
(может там сама галерея не принимает в коде ютф-8)
Ээээ...не совсем понял, вместо каких слов? Сейчас в лангвиче стоит:

Код
; --------------------------------------------------------------------
; Gallery

TPL_COM_CONTENT_GALLERY_FILTER_SHOW_ALL="показать все категории"
TPL_COM_CONTENT_GALLERY_FILTER_BY_CATEGORY="фильтр категорий"
*

effrit

  • Легенда
  • 10132
  • 1118 / 13
  • effrit.com
Re: Перевести навигацию на русский
« Ответ #8 : 21.01.2016, 13:01:39 »
файлы пересохранил в Notepad++ как указал выше?
сам языковой файл и тот, в котором вызов происходит этих самых TPL_COM_CONTENT_GALLERY_FILTER_SHOW_ALL
*

vipiusss

  • Гуру
  • 5739
  • 344 / 11
  • Скайп: renor_
Re: Перевести навигацию на русский
« Ответ #9 : 21.01.2016, 13:07:23 »
Ээээ...не совсем понял, вместо каких слов?
я подумал в файле в коде у вас нет выноса и просто стоит на латинице название;
вот и посоветовал вынести.
а раз есть, вам правильно говорят-сохраните и тот и тот файл в utf-8
можно просто даже блокнотом обычным, а внизу выбрать кодировку под именем файла при сохранении, если нотепага++ нету.
Миграция, установка, обновление версий Joomla  |  Создание сайтов "под ключ"  |  Эксклюзивные заглушки "offline"  |  Работа с "напильником" над шаблонами и расширениями
*

svarg

  • Захожу иногда
  • 178
  • 1 / 2
Re: Перевести навигацию на русский
« Ответ #10 : 21.01.2016, 13:39:10 »
Вот блин, век живи век учись!
Странное дело! В Notepad++ надо было "лангвич файл"  преобразовать в utf-8 без BOM, а потом сохранить.
Сейчас всё заработало, нихрена бы сам не допёр!

А Notepad++ теперь мой любимейший блокнот!
Спасибо вам товарищи!
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Как в PhocaGallery перевести на другой язык категории и фото без сторонних расширений?

Автор Evgenykg

Ответов: 6
Просмотров: 1678
Последний ответ 03.11.2016, 22:21:13
от Ilhom666
редактируем навигацию в картинках Phoca

Автор voron121

Ответов: 6
Просмотров: 1811
Последний ответ 07.09.2012, 18:42:31
от voron121
Отредактировать навигацию

Автор DimaXP

Ответов: 1
Просмотров: 1323
Последний ответ 16.03.2011, 22:36:12
от Raz0r
Русский шрифт-вопросиками...

Автор Jenich

Ответов: 2
Просмотров: 2434
Последний ответ 20.03.2010, 02:27:12
от armid
Убрать рамки и навигацию как?

Автор Ольга Кузьминская

Ответов: 3
Просмотров: 2644
Последний ответ 16.01.2010, 13:16:59
от Ольга Кузьминская