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

puzan

  • Осваиваюсь на форуме
  • 37
  • 1 / 0
Еще раз здравствуйте знатоки данного форума. возникла такая вот дилемма.
я так понял кнопка подробнее используются  для сокращение текста материала ( типо когда нажимаешь подробнее видно весь текст(я в этом новичок))
Так вот раньше(до обновление из 2.5.19 на 3.5.1)  при нажатии кнопки подробнее содержание материала ( новости ) открывался как то так site.ru/novosti/ochen_Vajnaya_novost, а сейчас открывается  так site.ru/index.php/ochen_Vajnaya_novost на главной странице а не как раньше в пункте меню новости. ссылка на сайт fincoje.ru
вопросы: что поменялось и как это исправить?   
заранее благодарен.
*

Guran

  • Захожу иногда
  • 329
  • 22 / 0
Re: проблемы после обновление Joomla
« Ответ #1 : 17.06.2016, 21:56:52 »
Файл .htaccess обновили? Его надо вручную обновлять из htaccess.txt нового дистрибутива, там в него добавите свои настройки.
*

Gosha5767

  • Захожу иногда
  • 487
  • 27 / 0
Re: проблемы после обновление Joomla
« Ответ #2 : 17.06.2016, 21:59:31 »
Нужно в админ панели поставить переключатель «Перенаправление URL» в положение «ДА», после этого приставка index.php исчезнет.
Чистка сайта от дублей в Яндекс и Google.
Миграция Joomla 1.5 до Joomla 3.хх
Доработка сайта
*

Guran

  • Захожу иногда
  • 329
  • 22 / 0
Re: проблемы после обновление Joomla
« Ответ #3 : 17.06.2016, 22:01:20 »
Да и перенаправление URL в общих настройках не включили.


P.S. :-) До меня уже ответили. На форуме сообщения нельзя удалить?
« Последнее редактирование: 17.06.2016, 22:06:10 от Guran »
*

puzan

  • Осваиваюсь на форуме
  • 37
  • 1 / 0
Re: проблемы после обновление Joomla
« Ответ #4 : 18.06.2016, 08:23:08 »
Файл .htaccess обновили? Его надо вручную обновлять из htaccess.txt нового дистрибутива, там в него добавите свои настройки.
ну я htaccess.txt переделал на .htaccess , но какие настройки туда вводит ? я думал просто переименовать и все .
Нужно в админ панели поставить переключатель «Перенаправление URL» в положение «ДА», после этого приставка index.php исчезнет.
про это я не знал сейчас поставил галочку "да" самое интересное что иногда приставка index.php есть а иногда исчезает.
*

Guran

  • Захожу иногда
  • 329
  • 22 / 0
Re: проблемы после обновление Joomla
« Ответ #5 : 18.06.2016, 08:40:24 »
Цитировать
но какие настройки туда вводит ?

Да ничего не вводите, если не нужны редиректы страниц, нет необходимости избавляться от 404 ошибки.
*

puzan

  • Осваиваюсь на форуме
  • 37
  • 1 / 0
Re: проблемы после обновление Joomla
« Ответ #6 : 18.06.2016, 08:45:56 »
и еще одно, когда я выбираю главной страницей  другой пункт меню например servis , то после нажатие кнопки подробнее  информация которая скрыта под подробнее открывается в этом пункте.
*

Guran

  • Захожу иногда
  • 329
  • 22 / 0
Re: проблемы после обновление Joomla
« Ответ #7 : 18.06.2016, 11:12:02 »
Вы со своими экспериментами из поиска вылетите. Там уже у Googleаи Яндекса, наверное, сколько скопилось дублей страниц.
Назначаете главной страницей ту или иную категорию материалов - урлы у этих материалов автоматически меняются.
*

puzan

  • Осваиваюсь на форуме
  • 37
  • 1 / 0
Re: проблемы после обновление Joomla
« Ответ #8 : 18.06.2016, 23:46:22 »
Вы со своими экспериментами из поиска вылетите. Там уже у Googleаи Яндекса, наверное, сколько скопилось дублей страниц.
Назначаете главной страницей ту или иную категорию материалов - урлы у этих материалов автоматически меняются.
это копия сайта, я на копии экспериментирую. мне бы вот эту ошибку исправить и все. потом останется так кое что отредактировать и все.
 
*

Guran

  • Захожу иногда
  • 329
  • 22 / 0
Re: проблемы после обновление Joomla
« Ответ #9 : 19.06.2016, 07:36:18 »
Я лично предпочитаю назначать главной страницей отдельно взятый материал, к нему прикрепляю модули. Но не какой ли компонент, не категорию материалов, не блог материалов.
Потом создаю техническое меню в админке, оно не публикуется, в этом меню формирую урлы для материалов. А в опубликованном модуле меню уже ставлю псевдонимы пунктов технического меню.
*

puzan

  • Осваиваюсь на форуме
  • 37
  • 1 / 0
Re: проблемы после обновление Joomla
« Ответ #10 : 21.06.2016, 10:32:17 »
Я лично предпочитаю назначать главной страницей отдельно взятый материал, к нему прикрепляю модули. Но не какой ли компонент, не категорию материалов, не блог материалов.
Потом создаю техническое меню в админке, оно не публикуется, в этом меню формирую урлы для материалов. А в опубликованном модуле меню уже ставлю псевдонимы пунктов технического меню.
допустим я выбрал главной страницей материал. а как сделать так чтобы новости которые обновляються раз в месяц появлялись там где они сейчас. мне этот сайт достался по наследству если можно так сказать. главная страница сделано в виде модуля (весь текст и картинка) и к нему как то прецепили блог материалов в виде новостей. я бы все так оставил если бы  не этот баг с кнопкой. теперь скорее всего придется менять главную страницу. в какой последовательности это сделать то?  как сделать чтобы новые новости появлялись на главной странице.
*

Guran

  • Захожу иногда
  • 329
  • 22 / 0
Re: проблемы после обновление Joomla
« Ответ #11 : 21.06.2016, 14:48:00 »
Во-первых, главной страницей назначить какой-либо модуль никоим образом невозможно, все модули прикрепляются к пункту меню, в том числе и к пункту главной страницы в позициях шаблона. Во-вторых, есть куча самых разных новостных, рейтинговых модулей, которые выводят материалы с картинками и без картинок, в хронологическом и ином порядке. В самой исходной установке Joomla есть  простенькие новостные модули, можно поискать модули в http://extensions.joomla.org/
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Нужна проф помощь в обновлении Joomla на лок.сервере osp. Можно платно

Автор Fati

Ответов: 0
Просмотров: 46
Последний ответ 16.06.2025, 16:40:04
от Fati
Помогите с БАГом в панели администратора Joomla 3

Автор akteon25

Ответов: 2
Просмотров: 1105
Последний ответ 26.02.2025, 16:41:56
от akteon25
Версии РНР и Joomla 3

Автор Ebelous

Ответов: 8
Просмотров: 2875
Последний ответ 27.01.2025, 20:38:45
от pavelrer
Trouble Upgrading from Joomla 3.8 to 3.9

Автор melissa00

Ответов: 0
Просмотров: 1707
Последний ответ 26.07.2024, 10:03:51
от melissa00
SP polls в Joomla 3.8.2

Автор wawont

Ответов: 2
Просмотров: 3374
Последний ответ 22.02.2024, 21:03:15
от Zegeberg