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

koda

  • Захожу иногда
  • 57
  • 1 / 0
Обмен ссылками
« : 11.12.2011, 19:26:24 »
Вообщем предложение такое, раз мы все тут занимаемся спортивными сайтами, так почему бы не обмениваться ссылками, было бы еще лучше если по конкретной тематике "Хоккей", "Футбол" и т.д. Ссылки размещать по договаренности в разных местах сайта и главное что бы были индексируемые. Кому интересно вставляем ссылку и отписываемся здесь с указанием урла где она размещена и оставляем свою или пишем предложение.

мой сайт: http://khl22.ru/
*

tranceRoller

  • Захожу иногда
  • 452
  • 37 / 0
Re: Обмен ссылками
« Ответ #1 : 12.12.2011, 18:16:14 »
А зачем это делать?
Ведь у всех небольшие турниры для определённой группы людей. Тем кто о турнире не знает, просто не интересно будет посещать страницу.
*

koda

  • Захожу иногда
  • 57
  • 1 / 0
Re: Обмен ссылками
« Ответ #2 : 12.12.2011, 19:22:17 »
Ну так я просто думал может для поднятия ТИЦ - ведь сайты родственные.
*

Dynamik

  • Захожу иногда
  • 130
  • 7 / 0
  • Пива бы!
Re: Обмен ссылками
« Ответ #3 : 16.12.2011, 10:00:28 »
joomline у тебя уже индексируется и не раз:)
Да и рекламодатели частенько просят монополию на контекстную рекламу
*

sharp

  • Завсегдатай
  • 1173
  • 97 / 2
Re: Обмен ссылками
« Ответ #4 : 16.12.2011, 10:26:44 »
В общем смысл есть. Обменяюсь ссылкой с футбольным сайтом. (Россия)
сайт http://pfcufa.ru
Хочешь знать правду!? читай таблицу умножения.
Поисковое продвижение или раскрутка сайта!
*

koda

  • Захожу иногда
  • 57
  • 1 / 0
Re: Обмен ссылками
« Ответ #5 : 16.12.2011, 19:23:08 »
В общем смысл есть. Обменяюсь ссылкой с футбольным сайтом. (Россия)
сайт http://pfcufa.ru
Вот ссылка на страницу http://khl22.ru/-news/item/25-zawershenie-zayvocnoy-komp.html подробности отправил в личку

И для всех желающих ответы буду писать в личку, так же о размещении отписываемся.
*

sharp

  • Завсегдатай
  • 1173
  • 97 / 2
Re: Обмен ссылками
« Ответ #6 : 16.12.2011, 20:10:39 »
смысл меняться ссылками если их прятать ?
Код
rel="nofollow"
Хочешь знать правду!? читай таблицу умножения.
Поисковое продвижение или раскрутка сайта!
*

koda

  • Захожу иногда
  • 57
  • 1 / 0
Re: Обмен ссылками
« Ответ #7 : 17.12.2011, 17:00:23 »
прошу прощения, запарился, у меня автоматом стоит закрытие ссылок и я не глянул, щас исправил, еще раз сори.
*

kish

  • Захожу иногда
  • 243
  • 3 / 0
  • Estonian referee
Re: Обмен ссылками
« Ответ #8 : 17.12.2011, 20:11:12 »
мимовая тема =\
*

grogworld

  • Захожу иногда
  • 82
  • 1 / 0
Re: Обмен ссылками
« Ответ #9 : 20.12.2011, 23:26:21 »
Вообщем предложение такое, раз мы все тут занимаемся спортивными сайтами, так почему бы не обмениваться ссылками, было бы еще лучше если по конкретной тематике "Хоккей", "Футбол" и т.д. Ссылки размещать по договаренности в разных местах сайта и главное что бы были индексируемые. Кому интересно вставляем ссылку и отписываемся здесь с указанием урла где она размещена и оставляем свою или пишем предложение.

мой сайт: http://khl22.ru/
Это на написано на твоем сайте: При использвании любых материалов этого сайта необходима указывать индексируемую ссылку на http://khl22.ru

А при копировании с чужого сайта изображений ссылку ставить ненужно? Или картинки это не материалы? Или они сами к тебе перекочевали? Прежде, чем требовать с других научись сам чужой труд уважать!
*

koda

  • Захожу иногда
  • 57
  • 1 / 0
Re: Обмен ссылками
« Ответ #10 : 21.12.2011, 14:27:30 »
Что ты возмущаешся, могу сказать откуда ты сам слямзил данные картинки, тем более они у меня уже были дело было только за малым уменьшить их, каюсь что взял у тебя только 2 картинки (клюшки и хоккеист) постараюсь в ближайшее время их заменить. А на счет ссылок что ж ты сам не поставил ссылку картинок где взял их?

Тема закрыта.
*

grogworld

  • Захожу иногда
  • 82
  • 1 / 0
Re: Обмен ссылками
« Ответ #11 : 21.12.2011, 18:39:47 »
Те, которые ты спер я сделал сам. Остальные из стандартного набора Joomleague! Наблюдательный ты наш...
*

bigrash

  • Осваиваюсь на форуме
  • 27
  • 0 / 0
Re: Обмен ссылками
« Ответ #12 : 06.03.2013, 14:55:52 »
Эффект конечно есть от обмена ссылками но часто вебмастера через месяц два после обмена производят с сайтом какие нибудь перетурбации типа сделать удобнее красивее и так далее. В результате забывают поставить ссылку . Поэтому я полностью отказался от прямых обменов.
Для этих целей есть сайты для бесплатного обмена типа turbo-link.ru
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться