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

artyxa

  • Осваиваюсь на форуме
  • 15
  • 0 / 0
  • Артур
Попросили настроить чпу, а сайт уже проиндексирован 874 страницы (магазин)
стоит настраивать или оставить как есть?
включаю в админке чпу ссылки отображаются следующим образом www.сайт.ru/index.php/index.php/ ну это ладно разберусь, интересу вопрос настраивать вообще стоит.
*

Efanych

  • Глобальный модератор
  • 4683
  • 644 / 0
  • Меняю свою жизнь на 360°!
Стоит, но перед этим проверьте, что при вводе не чпу-ссылки переадресовывает на чпу и ответ сервера 301.
Создание сайтов, шаблонов, помощь в решении проблем.
*

alexey11

  • Осваиваюсь на форуме
  • 26
  • 0 / 0
вопрос схожий, потому не стал плодить темы:
Есть новостной сайт с тысячами страниц. алиасы мы начали прописывать при создании материала только полгода назад примерно. Т.е. на сайте материалы со ссылками как без алиасов:
/index.php?option=com_content&view=article&id=60:kirill&catid=3:2009-05-29-09-45-05&Itemid=13
так и с ними
/index.php?option=com_content&view=article&id=3036:kakaya-to-fraza-so-smislom&catid=9:2009-06-07-14-42-53&Itemid=21
Рубрики тоже стоят пока без алиасов.

Как поступить, чтобы не просесть в выдаче из-за ненайденных страниц и/или дубликатов?

1. Дать алиасы рубрикам
2. Забить на старые материалы (пусть так и остаются с джумловскими ссылками) и в Общих настройках включить Установки Search Engine Optimization
3. Как тогда сделать редирект в хтаксессе?

или

1. Дать алиасы рубрикам
2. Каким-нибудь из плагинов (видел, что sh404SEF и ukr_rus_что-то там такое делают) автоматом переписать в алиасы заголовки материалов
3. Прописать правило в хтаксессе
4. Что-то еще?

Какой-то другой порядок действий?
Я просмотрел все 22 страницы тем по SEO на этом форуме.
*

voland

  • Легенда
  • 11028
  • 588 / 112
  • Эта строка съедает место на вашем мониторе
Никаких плагинов.
Просто прописать алиасы и включить SEF.

По идее стандартный SEF должен редиректить старые адреса на новые - но лучше проверить что это так.
*

alexey11

  • Осваиваюсь на форуме
  • 26
  • 0 / 0
т.е.
1. даю алиасы рубрикам (всем статьям - просто рук не хватит)
2. Включаю SEF

а падение в поисковиках будет? Можно ли как-то избежать, если да.
извиняюсь за дилетантскую подачу вопроса, над проблемой мучаюсь уже пару недель, все никак не могу решиться. Ищу 100%-но верный вариант.
Жаль будет просесть, сайту уже 6 лет, а тут конкуренты повылазили. Мало того, что воруют материалы, так еще по запросам порой выше или рядом. Как одну из мер решили включить SEF.
« Последнее редактирование: 20.11.2012, 16:16:34 от alexey11 »
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

После включения SEF ссылки не до конца становятся красивыми

Автор borro

Ответов: 3
Просмотров: 3707
Последний ответ 19.04.2020, 13:48:12
от robert
Появилась проблема в метрике после установки sh404SEF

Автор Виктор.П.

Ответов: 6
Просмотров: 2748
Последний ответ 22.04.2019, 18:00:22
от Виктор.П.
Маршрутизация URL-настройка категорий в ссылке

Автор Mudraya

Ответов: 7
Просмотров: 1780
Последний ответ 02.04.2018, 14:31:05
от Efanych
Заголовок сайта

Автор denimet

Ответов: 1
Просмотров: 1179
Последний ответ 16.02.2018, 13:42:41
от kern.USR
После переноса материалов из Joomla 1.5 в Joomla 3.8 появились вопросы по работе

Автор WeX

Ответов: 0
Просмотров: 1337
Последний ответ 20.11.2017, 11:42:16
от WeX