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

Belka

  • Захожу иногда
  • 148
  • 8 / 0
Подскажите, пожалуйста, как изменить размер шаблона Protostar (J3.8.10) в процентах? 
*

dm-krv

  • Завсегдатай
  • 1028
  • 28 / 0
Кидайте ссылку на сайт и укажите, что именно хотите изменить.
*

Belka

  • Захожу иногда
  • 148
  • 8 / 0
Спойлер
[свернуть]
Сейчас он на весь экран. Не понятно, где менять в .css, чтобы было, скажем, 85%.
*

draff

  • Гуру
  • 5801
  • 434 / 7
  • ищу работу
А не лучше сразу указать фиксированный размер в стилях шаблона?
*

Belka

  • Захожу иногда
  • 148
  • 8 / 0
А не лучше сразу указать фиксированный размер в стилях шаблона?
Размер должен быть полностью адаптивный, в процентах.
*

draff

  • Гуру
  • 5801
  • 434 / 7
  • ищу работу
Пропишите в templates.css
Код
body {
font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
font-size: 13px;
line-height: 18px;
color: #333;
width: 80%;
margin: 0 auto;
}
Советую прописать для окна просмотра выше 1024 px , то есть применить @media
*

Belka

  • Захожу иногда
  • 148
  • 8 / 0
Пропишите в templates.css
Сделала. Размер стал 80%, но всё смещено влево. Как бы теперь сделать всё по центру?
*

draff

  • Гуру
  • 5801
  • 434 / 7
  • ищу работу
Проверяйте чтоб было правило, как я написал выше 
Код
margin: 0 auto;
*

Belka

  • Захожу иногда
  • 148
  • 8 / 0
Огромное спасибо! Всё получилось.
*

Belka

  • Захожу иногда
  • 148
  • 8 / 0
Такой ещё вопрос. Уменьшила ширину боковых модулей в позициях position-7 и 8, изменив класс span3. В итоге модули уменьшились в ширину, но всё сместилось влево. Как можно увеличить область вывода контента, чтобы выводилось по центру и соразмерно?
*

draff

  • Гуру
  • 5801
  • 434 / 7
  • ищу работу
Re: Protostar. Резиновый. Изменить размер в %
« Ответ #10 : 08.06.2019, 23:48:00 »
Уменьшила ширину боковых модулей в позициях position-7 и 8, изменив класс span3. В итоге модули уменьшились в ширину, но всё сместилось влево.
Я применяю max-width , но сам класс колонок span не трогаю
Код
.row-fluid .span3 {
  float: right;
  max-width: 18%;
  width: 23.4043%;
}
Код
.row-fluid .span9 {
  width: 74.4681%;
  min-width: 78%;
  box-sizing: border-box;
}
*

AlekVolsk

  • Гуру
  • 6913
  • 416 / 4
Re: Protostar. Резиновый. Изменить размер в %
« Ответ #11 : 09.06.2019, 01:32:03 »
80%? а если у меня мак про и моник 5к? представляете, как это выглядит? ширина контента получается больше, чем 2000 пикселей
следайте падинг 50px и ширину ограничьте max-width: 1200px, на мобильных падинг уменьшите до 15px
*

Belka

  • Захожу иногда
  • 148
  • 8 / 0
Re: Protostar. Резиновый. Изменить размер в %
« Ответ #12 : 09.06.2019, 03:09:37 »
Попробую все варианты. Спасибо очень большое за ответы.
*

draff

  • Гуру
  • 5801
  • 434 / 7
  • ищу работу
Re: Protostar. Резиновый. Изменить размер в %
« Ответ #13 : 09.06.2019, 07:28:11 »
80%? а если у меня мак про и моник 5к? представляете, как это выглядит? ширина контента получается больше, чем 2000 пикселей
Вы по какой причине мне устраивает холивар ? То непонятные поучения про подавление ошибки PHP, которую сделал разработчик расширения, а не я. То здесь про ширину.
Общая ширина body все равно равна 100 % .
*

AlekVolsk

  • Гуру
  • 6913
  • 416 / 4
Re: Protostar. Резиновый. Изменить размер в %
« Ответ #14 : 09.06.2019, 07:55:39 »
Вы по какой причине мне устраивает холивар
лично вам ничего не устраиваю, а по какой причине вы проявляете агрессию ко мне? (вопрос есс-но риторический)
вот так и не захочешь помогать людям после этого
*

draff

  • Гуру
  • 5801
  • 434 / 7
  • ищу работу
Re: Protostar. Резиновый. Изменить размер в %
« Ответ #15 : 09.06.2019, 08:55:08 »
О Вы опытный троль, приписать мне агрессию, хотя именно я вас и не трогал, от слова вообще, до моего простого вопроса.
А я и не просил помощи.
*

Taatshi

  • Гуру
  • 5258
  • 481 / 2
  • Верстаем и кодим. Обращайтесь ;)
Re: Protostar. Резиновый. Изменить размер в %
« Ответ #16 : 09.06.2019, 11:36:46 »
Народ, хватит уже вам... Идите в личку ругаться.

По ширине я вообще max-width ограничиваю статически до 1400-1500px. Потому что шире - приходится вертеть башкой, а это неудобно.
ВЕРСТКА, САЙТЫ ПОД КЛЮЧ, УДАЛЕНИЕ ВИРУСОВ, МИГРАЦИЯ НА JOOMLA 3, ОБНОВЛЕНИЕ  |  ОТЗЫВЫ 
Связь: telegram - Taatshi, почта - Taatshi на яндексе, Skype - Taatshi
*

ChaosHead

  • Гуру
  • 5242
  • 451 / 13
Re: Protostar. Резиновый. Изменить размер в %
« Ответ #17 : 09.06.2019, 12:29:00 »
А не лучше сразу указать фиксированный размер в стилях шаблона?
Так человек правильно написал. Нужно включить фиксированный размер и при необходимости его расширить в разумных пределах, а не включать на всю ширину, а потом изобретать ограничения.
*

draff

  • Гуру
  • 5801
  • 434 / 7
  • ищу работу
Re: Protostar. Резиновый. Изменить размер в %
« Ответ #18 : 09.06.2019, 13:32:38 »
Народ, хватит уже вам... Идите в личку ругаться.
Не пойду. И ругаться не буду. Я получил ответ на свой вопрос.
*

Алексей358

  • Осваиваюсь на форуме
  • 40
  • 0 / 0
Re: Protostar. Резиновый. Изменить размер в %
« Ответ #19 : 24.10.2019, 12:26:28 »
Помогите настроить шаблон protostar. В РЕЗИНОВОМ ВАРИАНТЕ НА ШИРОКОФОРМАТАХ РАСТЯГИВАЕСЯ НЕ КРАСИВО. Ставлю фиксированный и меняю ширину на 1300px на больших разрешениях становится хорошо, а вот что меньше 1300 начинает резать правую сторону сайта. Сайт https://www.prospinning.ru
*

Alldar

  • Завсегдатай
  • 1504
  • 195 / 1
Re: Protostar. Резиновый. Изменить размер в %
« Ответ #20 : 24.10.2019, 18:04:11 »
Например так можно:
Код
.container-fluid {
width: 1340px;
margin: auto;
max-width: 100%;
box-sizing: border-box;
}
*

Алексей358

  • Осваиваюсь на форуме
  • 40
  • 0 / 0
Re: Protostar. Резиновый. Изменить размер в %
« Ответ #21 : 24.10.2019, 18:14:33 »
Это на какой строке править?
*

Alldar

  • Завсегдатай
  • 1504
  • 195 / 1
Re: Protostar. Резиновый. Изменить размер в %
« Ответ #22 : 24.10.2019, 18:34:27 »
Добавить  в ваш CSS например сюда /templates/video/css/template.css
*

Алексей358

  • Осваиваюсь на форуме
  • 40
  • 0 / 0
Re: Protostar. Резиновый. Изменить размер в %
« Ответ #23 : 24.10.2019, 18:47:26 »
Спасибо огромное, помогли. Не подскажите ещё, если не трудно, как можно ширину контента оставить как сейчас 1340px, а к примеру шапку, меню и подвал растягивать больше в плоть на всю ширину экрана.
*

Alldar

  • Завсегдатай
  • 1504
  • 195 / 1
Re: Protostar. Резиновый. Изменить размер в %
« Ответ #24 : 24.10.2019, 18:53:27 »
Предыдущую правку убрать,  в место нее добавить это:
Код
.container-fluid > .row-fluid {
width: 1300px;
max-width: 100%;
margin: auto;
}
*

Алексей358

  • Осваиваюсь на форуме
  • 40
  • 0 / 0
Re: Protostar. Резиновый. Изменить размер в %
« Ответ #25 : 24.10.2019, 19:11:58 »
Спасибо ещё раз, Вы просто профи. Мне бы так научиться. Сколько раз пытался, тупо времени нет.
*

Алексей358

  • Осваиваюсь на форуме
  • 40
  • 0 / 0
Re: Protostar. Резиновый. Изменить размер в %
« Ответ #26 : 25.10.2019, 12:00:02 »
После последнего изменения стало как хотел, но есть одно большое но, видео плеер перестал открываться на весь экран.
*

Алексей358

  • Осваиваюсь на форуме
  • 40
  • 0 / 0
Re: Protostar. Резиновый. Изменить размер в %
« Ответ #27 : 25.10.2019, 12:50:18 »
Заработал, проблема  была в плеере после обновления.
*

Belka

  • Захожу иногда
  • 148
  • 8 / 0
Re: Protostar. Резиновый. Изменить размер в %
« Ответ #28 : 10.04.2021, 05:25:42 »
Такой вот вопрос возник. Как заключить область контента в Protostar в well по типу того, как это можно сделать с модулями добавив суффикс "well"?
*

sivers

  • Живу я здесь
  • 2578
  • 357 / 0
Re: Protostar. Резиновый. Изменить размер в %
« Ответ #29 : 10.04.2021, 09:27:47 »
Как заключить область контента в Protostar в well
Открыть /templates/protostar/index.php найти там <jdoc:include type="component" /> и обернуть.
На связи в telegram @sivers
sivers @ inbox . ru
https://sivers.su/
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Как зафиксировать размер полей инпутбоксов?

Автор Yasen

Ответов: 19
Просмотров: 1182
Последний ответ 15.09.2022, 09:20:37
от marksetter
Protostar css подвинуть модуль на мобильном

Автор Елeна

Ответов: 0
Просмотров: 650
Последний ответ 25.03.2022, 09:37:52
от Елeна
Логотип шаблона Protostar

Автор indi

Ответов: 3
Просмотров: 770
Последний ответ 20.12.2021, 22:28:57
от draff
Изменить область кликабельности ссылов в шаблоне (в шапке)

Автор Maffo

Ответов: 4
Просмотров: 891
Последний ответ 24.08.2021, 17:22:57
от Maffo
Шаблон Protostar, как поставить на фон картинку

Автор Дмитрий2586

Ответов: 32
Просмотров: 8529
Последний ответ 16.08.2021, 03:16:39
от Ада