Новости 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 Ответов
  • 24290 Просмотров
*

AlekVolsk

  • Гуру
  • 6913
  • 416 / 4
Удалить RSS и atom из head
« : 26.02.2014, 11:28:05 »
J в head пихает 2 строчки
Код
  <link href="/?format=feed&amp;type=rss" rel="alternate" type="application/rss+xml" title="RSS 2.0" />
  <link href="/?format=feed&amp;type=atom" rel="alternate" type="application/atom+xml" title="Atom 1.0" />

Имеется ли какая-либо возможность их убрать? RSS на сайте не используется, в избранных материалах всегда только 1 материал (ни из какого другого места RSS новости почему-то не цепляет, (имею ввиду стандартные модули "материалы - последние" и "материалы - новости"), да и не нужно), надобности в этих 2х строчках не вижу (или я не прав?).
*

AlekVolsk

  • Гуру
  • 6913
  • 416 / 4
Re: Удалить RSS и atom из head
« Ответ #1 : 01.03.2014, 13:45:28 »
Похоже, никто не знает, жаль.
*

b2z

  • Глобальный модератор
  • 7284
  • 778 / 0
  • Разраблю понемногу
Re: Удалить RSS и atom из head
« Ответ #2 : 01.03.2014, 21:53:21 »
Уху, не знают. Сам задавался таким вопросом, но ответа не нашел.
*

Test1k

  • Осваиваюсь на форуме
  • 21
  • 0 / 0
Re: Удалить RSS и atom из head
« Ответ #3 : 12.03.2014, 20:30:32 »
АП
*

master-smeta

  • Захожу иногда
  • 298
  • 10 / 0
Re: Удалить RSS и atom из head
« Ответ #4 : 14.03.2014, 10:34:05 »
Эти строчки появляются только в тех категориях материалов, в которых включена RSS лента. А она, если не ошибаюсь, включена по умолчанию для всех категорий. Просто отключите ее в настройках материалов.
У меня эти строчки есть только в категории "Новости", т.к. там материалы постоянно появляются. Я просто сделал отдельную категорию материалов, под новости, а в пункте меню "новости" включил RSS.
*

AlekVolsk

  • Гуру
  • 6913
  • 416 / 4
Re: Удалить RSS и atom из head
« Ответ #5 : 14.03.2014, 11:32:28 »
master-smeta, спасибо! +

Более подробно для новичков:
1. В общих настройках материалов (главное меню "Система"->"Общие настройки"->в колонке слева пункт "Материалы") на закладке "Интеграция" установите параметру "Ссылки на ленту новостей" значение "Скрыть" (по умолчанию имеет значение "Показать").
2. Во всех пунктах меню, ссылающихся на материалы или категории на вкладке "Настройки интеграции" параметр "Ссылки на ленту новостей" выставить "По умолчанию". При этом обратите внимание: у пункта меню, назначенного как "Главная" параметр имеет значение "Показать", измените его, если не хотите иметь ленту новостей для избранных материалов.

Решено.

PS: модератору просьба - тему в FAQ )
*

b2z

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

hoi

  • Осваиваюсь на форуме
  • 21
  • 0 / 0
Re: Удалить RSS и atom из head
« Ответ #7 : 01.02.2022, 17:08:10 »
Более подробно для новичков:
1. В общих настройках материалов (главное меню "Система"->"Общие настройки"->в колонке слева пункт "Материалы") на закладке "Интеграция" установите параметру "Ссылки на ленту новостей" значение "Скрыть" (по умолчанию имеет значение "Показать").
2. Во всех пунктах меню, ссылающихся на материалы или категории на вкладке "Настройки интеграции" параметр "Ссылки на ленту новостей" выставить "По умолчанию". При этом обратите внимание: у пункта меню, назначенного как "Главная" параметр имеет значение "Показать", измените его, если не хотите иметь ленту новостей для избранных материалов.

Joomla 4 это решение так же актуально
*

khan-alex

  • Давно я тут
  • 649
  • 30 / 1
Re: Удалить RSS и atom из head
« Ответ #8 : 01.02.2022, 17:35:47 »
Joomla 4 это решение так же актуально
Да, там совершенно аналогичные настройки.
*

Kentyki

  • Новичок
  • 2
  • 0 / 0
Re: Удалить RSS и atom из head
« Ответ #9 : 07.06.2022, 14:02:06 »
не могу найти тему, где спросить. Есть заказ на сайт, как этот, доставка еды в Кишиневе. Он на joomle?
*

arma

  • Завсегдатай
  • 1753
  • 81 / 3
Re: Удалить RSS и atom из head
« Ответ #10 : 07.06.2022, 14:45:29 »
не могу найти тему, где спросить. Есть заказ на сайт, как этот, доставка еды в Кишиневе. Он на joomle?
Нет, он Word Press
*

Redbulxxl

  • Новичок
  • 2
  • 0 / 0
Re: Удалить RSS и atom из head
« Ответ #11 : 29.06.2022, 13:00:54 »
А вот этот сайт https://mossharik.ru/ он же не на Joomla, верно? Или я как начинающий специалист ошибаюсь. А если он действительно не на Joomla, то какой у него движок? И есть ли какая-то недорогая техническая возможность перенести его на Joomla? Желательно, конечно, в автоматическом режиме. Но, если это невозможно, то расскажите, кто в курсе, как это быстро сделать руками? Спасибо.
*

Alldar

  • Завсегдатай
  • 1504
  • 195 / 1
Re: Удалить RSS и atom из head
« Ответ #12 : 29.06.2022, 13:44:10 »
Это PrestaShop сомневаюсь что можно автоматически мигрировать на Joomla
*

Redbulxxl

  • Новичок
  • 2
  • 0 / 0
Re: Удалить RSS и atom из head
« Ответ #13 : 29.06.2022, 16:37:12 »
А как тогда это сделать менее затратно по средствам, да и по времени тоже.
*

marksetter

  • Завсегдатай
  • 1045
  • 40 / 0
Re: Удалить RSS и atom из head
« Ответ #14 : 29.06.2022, 18:28:46 »
только руками
ну можно посмотреть экспорт что дает и переписать под импорт Joomla
индивидуальная помощь: @SetAlexx
*

Roberto Pavlov

  • Новичок
  • 1
  • 0 / 0
Re: Удалить RSS и atom из head
« Ответ #15 : 04.06.2023, 04:16:17 »
только руками
ну можно посмотреть экспорт что дает и переписать под импорт Joomla

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

БУСТ-СЕРВИС RankStore поможет тебе с этим:
— Команда бустеров состоит из 4k+ ELO игроков;
— На сервисе имеется калькулятор faceit/mm/wingman;
— Возможность буста БЕЗ передачи аккаунта;
— Также разбор карт и демок.

Заказать буст можно:
Сайт – rankstore.org
TG – @rankstorecs
VK - vk.com/rankstorecs
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться