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

01Kuzma

  • Захожу иногда
  • 171
  • 1 / 0
Добрый день!
Нужен совет, как грамотно составить структуру Jooml'ы и её подстроить.
Сейчас есть глубокое меню, структуру которого повторяют категории. Каждый конечный пункт меню имеет точно такую же конечную категорию. Названия и структура их идентичны.
Смысл в том, что в некоторых пунтктах меню должен отображаться, скажем, один материал. С этим всё понятно.
А в некоторых других - много.
Т.е. при открытии какого либо пункта меню должен быть виден список материалов, содержание которых прикрывается тэгом "Читать далее".
Должна быть пагинация.
Подскажите, как это реализовать стандартными решениями Jooml'ы. С K2 никакого желания мучиться нет.
Спасибо!
*

Taatshi

  • Гуру
  • 5258
  • 481 / 2
  • Верстаем и кодим. Обращайтесь ;)
пункт меню - шаблон блога категории  - или я чего-то не поняла.
ВЕРСТКА, САЙТЫ ПОД КЛЮЧ, УДАЛЕНИЕ ВИРУСОВ, МИГРАЦИЯ НА JOOMLA 3, ОБНОВЛЕНИЕ  |  ОТЗЫВЫ 
Связь: telegram - Taatshi, почта - Taatshi на яндексе, Skype - Taatshi
*

01Kuzma

  • Захожу иногда
  • 171
  • 1 / 0
Да, да, кажется это :-)
Спасибо!
По поводу пагинации, где её можно настроить(количество отображаемых материалов на странице)?
*

Taatshi

  • Гуру
  • 5258
  • 481 / 2
  • Верстаем и кодим. Обращайтесь ;)
01Kuzma, там же смотрите - в пункте меню - в настройках справа. Их там море.
ВЕРСТКА, САЙТЫ ПОД КЛЮЧ, УДАЛЕНИЕ ВИРУСОВ, МИГРАЦИЯ НА JOOMLA 3, ОБНОВЛЕНИЕ  |  ОТЗЫВЫ 
Связь: telegram - Taatshi, почта - Taatshi на яндексе, Skype - Taatshi
*

01Kuzma

  • Захожу иногда
  • 171
  • 1 / 0
*

dariusii

  • Захожу иногда
  • 75
  • 0 / 0
Золотая тема, но где эти настройки? "справа".
Захожу в "меню>менеджер меню". Справа есть настройки меню, но там 0 настроек. Показывать заголовок страницы и более особо ничего.
Пробую угадать мысли дальше - захожу в сам нужный пункт меню - там кнопки настройки справа нет. Ок - предполагаю, что человек, кто отвечал, просто так думал. Второй его оттелепатировал. Листаю вкладки. Ну, наверное какая-то правая - человек говорил, что справа. Могу перечислять все вкладки и пункты опций, что бы рассказать о них и сказать, что все не то, но может кто хоть чуть чуть конкретнее изложит свою мысль?
Пожалуйста. Очень прошу. Три дня читаю доки по Joomla. Всякие блоги. Но вот ответа на эту тему пока что никак не получается найти.
« Последнее редактирование: 01.04.2016, 11:08:53 от dariusii »
*

Taatshi

  • Гуру
  • 5258
  • 481 / 2
  • Верстаем и кодим. Обращайтесь ;)
dariusii, смотрите здесь
Спойлер
[свернуть]
ВЕРСТКА, САЙТЫ ПОД КЛЮЧ, УДАЛЕНИЕ ВИРУСОВ, МИГРАЦИЯ НА JOOMLA 3, ОБНОВЛЕНИЕ  |  ОТЗЫВЫ 
Связь: telegram - Taatshi, почта - Taatshi на яндексе, Skype - Taatshi
*

dariusii

  • Захожу иногда
  • 75
  • 0 / 0
Огромное спасибо за помощь. Акцентирование на нужной вкладке и все такое, но у меня момент в том, что не могу никак понять, как сделать так, что бы при нажатии на нужном меню на странице, ссылка меню которой указывает на нее, отображались не ссылки на материалы, а сами материалы (блоки вводного текста таких материалов)! Я же не могу в один пункт меню засунуть несколько материалов. Могу лишь для определенной категории указать несколько подкатегорий, а для самих таких подкатегорий насоздавать материалов и меню и! вот эти самые насоздаваемые меню, привязанные к таким материалам и категориям, начнут лезть ссылками на странице.
На той вкладке, что вы указали, можно врубить опцию "все" для пункта "Включать подкатегории". Тогда материал начнет появляться на такой странице. Вводными блоками. Но ниже! все равно будут отображаться ссылки, черт их побери, для каждого материала, который уже! выводится вводным текстом. А ставить там цифру/не ставить - это вообще никакой погоды.

Идея - сделать подобную структуру: http://www.alta-sib.ru/catalog.html
Сайт>меню каталога>внутри рисуются блоки вводного текста материалов.
« Последнее редактирование: 01.04.2016, 11:54:36 от dariusii »
*

midav

  • Давно я тут
  • 926
  • 115 / 1
... Акцентирование на нужной вкладке и все такое, но у меня момент в том, что не могу никак понять, как сделать так, что бы при нажатии на нужном меню на странице, ссылка меню которой указывает на нее, отображались не ссылки на материалы, а сами материалы (блоки вводного текста таких материалов)! ...

Идея - сделать подобную структуру: http://www.alta-sib.ru/catalog.html
Сайт>меню каталога>внутри рисуются блоки вводного текста материалов.

Мда... это предложение просто "нечто"   Есть шанс попасть в раздел юмора ;D
Надо Вам научиться более понятно излагать свои мысли и задавать корректные вопросы .

По поводу структуры  "Сайт>меню каталога>внутри рисуются блоки вводного текста материалов" - это обычная структура вывода анонсов статей . В стандартном компоненте com_content она реализована . В меню надо выбрать тип пункта меню "Материалы - Блог категории"
Ответы на вопросы по CSS . Откройте для себя Firebug
*

dariusii

  • Захожу иногда
  • 75
  • 0 / 0
В меню надо выбрать тип пункта меню "Материалы - Блог категории"
Так и делал. Лезут ссылки на сами материалы. Можно активировать отображение вводных статей, но список ссылок на все материалы, что есть в меню, все равно будут видны. Внизу список ссылок, под вводными материалами. Где-то это отключается, но уже третий день перебираю опции, как отрубить показ.
« Последнее редактирование: 01.04.2016, 12:37:23 от dariusii »
*

midav

  • Давно я тут
  • 926
  • 115 / 1
Есть ссылка на сайт ? А то из объяснений ничего понять не возможно .
Ответы на вопросы по CSS . Откройте для себя Firebug
*

galll72

  • Осваиваюсь на форуме
  • 38
  • 0 / 0
Подскажите пожалуйста, установил шаблон не могу понять как редактировать модули в позициях чтоб оставались такие же эффекты как в оригинале.
*

dariusii

  • Захожу иногда
  • 75
  • 0 / 0
Есть ссылка на сайт ? А то из объяснений ничего понять не возможно .
http://site2/white/index.php/oborudovanie
« Последнее редактирование: 01.04.2016, 15:51:49 от dariusii »
*

midav

  • Давно я тут
  • 926
  • 115 / 1
Подскажите пожалуйста, установил шаблон не могу понять как редактировать модули в позициях чтоб оставались такие же эффекты как в оригинале.
Создайте отдельную тему для своего вопроса .
Ответы на вопросы по CSS . Откройте для себя Firebug
*

midav

  • Давно я тут
  • 926
  • 115 / 1
И что не так по этой ссылке ? Я не понимаю . Вижу анонс статьи  с кнопкой подробнее . По ссылке открывается полная статья . Что там не так ?
Ответы на вопросы по CSS . Откройте для себя Firebug
*

dariusii

  • Захожу иногда
  • 75
  • 0 / 0
Уже сделал. Ошибка была в том, что настройках корневого меню нужно было выбрать корневую категорию, а была выбрана одна из дочерних. Наверное так, ибо всего даже не уследил. Дохрена опций. Новичек и еще не в "образе" всей дисциплины настроек этой cms.
« Последнее редактирование: 01.04.2016, 16:15:54 от dariusii »
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Не удается разблокировать в менеджере материалов.

Автор vityavoluevich

Ответов: 4
Просмотров: 1230
Последний ответ 24.05.2025, 09:20:18
от azm1n
Не работает менеджер материалов, ошибка 500 SSL certificate problem

Автор Екатерина М

Ответов: 5
Просмотров: 1200
Последний ответ 06.04.2025, 09:27:20
от wishlight
Joomla! 3.9.21 Невозможно создать пункт меню

Автор edvalitto

Ответов: 1
Просмотров: 516
Последний ответ 26.03.2025, 19:26:30
от azm1n
Разные меню для мобильной и для ПК версии сайта

Автор jimka

Ответов: 7
Просмотров: 975
Последний ответ 24.03.2025, 20:03:01
от R31rus
Пагинация страниц

Автор Anna_N

Ответов: 3
Просмотров: 657
Последний ответ 06.01.2025, 02:45:52
от pavelrer