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

sun

  • Осваиваюсь на форуме
  • 17
  • 0 / 0
Я убрал глобальные дескрипшоны и кейворды, на каждой странице упор делается на один кейворд.
Это же вроде правильнее с точки зрения оптимизации?
Кто как считает? кто научит?
*

dreamwind

  • Захожу иногда
  • 166
  • 27 / 13
вообще да, если слов мало, а страниц много, но лучше не только один запрос писатЬ, а еще несколько, схожих по семантическому ядру
*

sun

  • Осваиваюсь на форуме
  • 17
  • 0 / 0
вообще да, если слов мало, а страниц много, но лучше не только один запрос писатЬ, а еще несколько, схожих по семантическому ядру

то есть допустим, кейворд на страницу - кот, то на него же кейворды коты, кошка...и тд.?
но к какждому всё равно отдельную страницу...
и ещё вопрос в титл желательно писать осмысленныу фразу, но чтобы ключевики присутствовали?...
спасибо
*

smart

  • Администратор
  • 6478
  • 1318 / 15
  • Хочешь сделать хорошо — сделай!
то есть допустим, кейворд на страницу - кот, то на него же кейворды коты, кошка...и тд.?
это все зависит от поисковика: например Яндекс поддерживает русскую морфологию, так что ему наверняка достаточно будет любой словоформы. Главное чтобы хотя бы несколько раз эта словоформа присутствовала в тексте материала
*

sun

  • Осваиваюсь на форуме
  • 17
  • 0 / 0
это все зависит от поисковика: например Яндекс поддерживает русскую морфологию, так что ему наверняка достаточно будет любой словоформы. Главное чтобы хотя бы несколько раз эта словоформа присутствовала в тексте материала

не еть понятно еть всё присутствует и по проверке морфологии все соотношения равны ста процентам;)


да ещё такой вопрос, как можно сниппет поменять, а то что на меня поисковики выдают эт просто ужАс!
*

smart

  • Администратор
  • 6478
  • 1318 / 15
  • Хочешь сделать хорошо — сделай!
да ещё такой вопрос, как можно сниппет поменять, а то что на меня поисковики выдают эт просто ужАс!
ну Гугл в качестве сниппета обычно берет то, что в description... про другие не знаю, но точно сталкивался с ситуацией, когда поисковик считал что описание не достаточно релевантно содержимому страницы, и для сниппета выбирал то, что по его мнению более релеватно на странице.
*

sun

  • Осваиваюсь на форуме
  • 17
  • 0 / 0
ну Гугл в качестве сниппета обычно берет то, что в description... про другие не знаю, но точно сталкивался с ситуацией, когда поисковик считал что описание не достаточно релевантно содержимому страницы, и для сниппета выбирал то, что по его мнению более релеватно на странице.

Свежий номер журнала Бурение и нефть
бурение и нефть\июнь 2006              - эт яша


Свежий номер журнала Бурение и нефть
бурение и нефть\июнь 2006
"БУРЕНИЕ И НЕФТЬ" - ежемесячный специализированный журнал. Издание структурировано как многопрофильное, охватывающее многие сферы жизни нефтегазодобывающего комплекса. Его подписчиками являются       эт маил


а предполагался вообще...
"БУРЕНИЕ И НЕФТЬ" - ежемесячный специализированный журнал. Издание структурировано как многопрофильное, охватывающее многие сферы жизни нефтегазодобывающего комплекса. Его подписчиками являются и тд...



что ж мне никак сниппет не поменять что ли)))
*

smart

  • Администратор
  • 6478
  • 1318 / 15
  • Хочешь сделать хорошо — сделай!
что ж мне никак сниппет не поменять что ли
попробуй сделать так, чтобы поисковику твое описание понравилось больше, чем текст материала... однако если они не будут связаны, то поисковик выберет то, что ему понравиться. хотя как я думаю, четкого механизма управления сниппетами быть не может...
*

sun

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

спасибо смарт чёт я ща подумал и вправду дескрипшн левый получился...
поменяю после апдейта сообщу чё по чём)
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Редирект для страницы с добавлением кода языка

Автор zeus07

Ответов: 0
Просмотров: 1911
Последний ответ 26.06.2023, 11:25:10
от zeus07
Google не индексирует страницы через ajax ссылки

Автор illimited

Ответов: 0
Просмотров: 1298
Последний ответ 31.03.2022, 23:53:05
от illimited
Не дело это - закрывать от индексации страницы с пагинацией

Автор ChaosHead

Ответов: 48
Просмотров: 11161
Последний ответ 04.11.2021, 06:44:26
от Slava77
В вебмастере появляются левые страницы

Автор Dmitriy M

Ответов: 1
Просмотров: 631
Последний ответ 22.09.2021, 19:14:32
от Dmitriy M
Скорость загрузки страницы

Автор creative3d

Ответов: 6
Просмотров: 1143
Последний ответ 15.03.2020, 19:26:25
от creative3d