Новости Joomla

Совет по Joomla: несколько значений по умолчанию в XML-формах для стандартных полей типа list

👩‍💻 Совет по Joomla: несколько значений по умолчанию в XML-формах для стандартных полей типа list.При работе над плагином возникла необходимость указать стандартный набор из нескольких элементов стандартного поля списка. И хотелось указать их в стандартном же атрибуте default для полей. Когда это нужно?Когда Ваши пользователи устанавливают плагин и НЕ заходят в настройки - в коде вы можете использовать значения по умолчанию с помощью класса Registry (писал об этом ранее) и всегда быть уверенным, что хоть какие-то жизненно необходимые параметры к вам придут всегда. 🧐 Но как сделать то же самое для интерфейса админки?Пользователя нужно направлять, предлагать очевидный работоспособный сценарий для начала, а дальше он уже сам разберется. Когда человек заходит в параметры свежеустановленного плагина в Form ещё нет данных и параметры по умолчанию выставляются из атрибутов default в xml-полях.
<field name="showdesc" type="radio"                       label="PLG_CFI_PARAM_SHOWDESC"                       class="btn-group btn-group-yesno"                       default="1">                    <option value="0">JNO</option>                    <option value="1">JYES</option>                </field>
Здесь по умолчанию будет включено "Да". И если пользователь не переключит параметр, то при сохранении мы ожидаемо получим "да" в params плагина.Для поля списков type=&quot;list&quot; можно указать значение по умолчанию и многие знают, что его можно указать только одно.
<field type="list"                       name="article_fields"                       label="article_fields"                       description="article_fields_desc"                       layout="joomla.form.field.list-fancy-select"                       multiple="true"                       default="id"                >                    <option value="id">id</option>                    <option value="title">title</option>                    <option value="alias">alias</option>                    <option value="introtext">introtext</option>                    <option value="fulltext">fulltext</option>                    <option value="state">state</option></field>
Но у нас поле с множественным выбором (атрибут multiple) и хотелось бы указать несколько значений по умолчанию...Оказывается, так можно сделать. Для этого в атрибуте default нужно указать json с нужными параметрами в виде {int}key : {string} value.Например, default='{"0":"id","1":"title"}'.
<field type="list"                       name="article_fields"                       label="article_fields"                       description="article_fields_desc"                       layout="joomla.form.field.list-fancy-select"                       multiple="true"                       default='{"0":"id","1":"title"}'                >                    <option value="id">id</option>                    <option value="title">title</option>                    <option value="alias">alias</option>                    <option value="introtext">introtext</option>                    <option value="fulltext">fulltext</option>                    <option value="state">state</option></field>
⚠️ Обратите внимание на кавычки! Поскольку json_decode не понимает одинарные кавычки собственно json нужно писать с двойными, а значение для атрибута default писать в одинарные.🙏 За подсказанное решение огромное спасибо участникам нашего сообщества - разработчикам Дмитрию Васюкову (@fictionlabs) и Игорю Бердичевскому (@septdir).@joomlafeed#joomla #разработка #webdev #development

0 Пользователей и 1 Гость просматривают эту тему.
  • 6 Ответов
  • 2674 Просмотров
*

Dasha_s_uralmasha

  • Новичок
  • 7
  • 0 / 0
Добрый день всем!
Прошу помощи с модулем JA Masshead: не отображается фоновое изображение в шапке.
Версия Joomla 3.3.1
Шаблон скачан (куплен) непосредственно на Joomlart
Установлен из пакета quickstart.
Файл изображения лежит на месте, путь правильный. Но в шапке не отображается. Вместо этого просто темно-серый фон. Как будто там была настройка прозрачности, но сбилась.
Модуль JA Masshead уже переустановила - результата нет.
Что может помочь?
Слева - что у меня, справа - как в шаблоне с демо-данными
 
*

darkghost

  • Живу я здесь
  • 2212
  • 97 / 0
если верно понял, то вместо картинки (слайдера) у Вас идет цвет
На ДЕМО
Спойлер
[свернуть]
на этом месте идет слайдер ---
Код
<img title="Be involved" alt="Be involved" src="/images/resized/images/joomlart/slideshow/slideshow3_1240_600.jpg">
Смотрим CSS - в классе идет цвет фона - #000000
Код
.ja-slide-item img {
    background: none repeat scroll 0 0 #000000; ---- пробуем убрать
}
*

Dasha_s_uralmasha

  • Новичок
  • 7
  • 0 / 0
Спасибо за совет, но слайдер - это другой элемент.
Вот с этой страницы.
http://ja-biz.demo.joomlart.com/index.php/en/careers/get-in-touch
*

Snippet

  • Захожу иногда
  • 62
  • 9 / 0
FireBug у вас строчка есть такая?
Код: html4strict
<div class="jamasshead" style="background-image: url('/templates/ja_biz/images/bg-masshead.jpg')">
*

darkghost

  • Живу я здесь
  • 2212
  • 97 / 0
FireBug
Код: html4strict
<div class="jamasshead" style="background-image: url('/templates/ja_biz/images/bg-masshead.jpg')">
вот эта строка подтягивает Вашу фоновую картинку. Если же по указанному пути такой картинки нет, то тогда вступает в силу правило CSS (цвет фона - заливка)
Код
.jamasshead:after {
    background-color: #000000;
    border-radius: 2px;
    ...
}
.../t3-assets/css/css-791ea.css?t=86 (строка 6). Судя по Вашим скринам, у Вас отсуствует фоновая картинка или она не прописана к <div class="jamasshead" ...
*

Snippet

  • Захожу иногда
  • 62
  • 9 / 0
И так давайте разберемся в самих настройках JA Masshead
напротив Configuration Conditions вы должны вписать id пункта меню, где собственно будет выводиться Masshead. Далее фоновое изображение.
[Masshead Itemid="544" title="ВАШ ТАЙТЛ" background="templates/ja_biz/images/bg-masshead.jpg"]Бла бла бала текст[/Masshead]
Обратите внимание куда прописан путь фонового изображения, а он прописан в папку images шаблона ja_biz.
*

northwood69

  • Новичок
  • 3
  • 1 / 0
Тоже столкнулся с данной темой. Не знаю как в шаблоне JA Biz, но в моем шаблоне модуль JA Masshead не был изначально "заточен" под отображение фоновых изобрАжений. Ниже описание как решить проблему.
1. В конфигурации модуля JA Masshead нужно прописать похожее:
Код
[Masshead Itemid="539" title="Заголовок" background="http://mysite.ru/images/icons/bgnd.png"]<h3>Текст подзаголовка.</h3>Текст с вводной информацией...[/Masshead]

2. Для того чтобы php код модуля "понимал" опцию  background нужно изменить код шаблона в соответствии с советом производителя. Для этого в файле /modules/mod_jamasshead/tmpl/default.php надо заменить первую строку div на:
Код
<div class="jamasshead<?php echo $params->get('moduleclass_sfx','')?>" <?php if(isset($masshead['params']['background'])): ?> style="background-mage: url(<?php echo $masshead['params']['background'] ?>)" <?php endif; ?>>

3. Если надо чтобы фон не повторялся (например, пиктограмма пункта меню), то вместо пункта 2 имеет смысл прописать что то похожее:
Код
<div class="jamasshead<?php echo $params->get('moduleclass_sfx','')?>" <?php if(isset($masshead['params']['background'])): ?> style="background: url(<?php echo $masshead['params']['background'] ?>) no-repeat" <?php endif; ?>>
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Шаблон jm MyPlace - не воспроизводится видео

Автор THE KILLERS

Ответов: 2
Просмотров: 2021
Последний ответ 23.07.2024, 13:58:16
от THE KILLERS
Ошибка при входе в корзину шаблон jmart

Автор dimiur

Ответов: 5
Просмотров: 4890
Последний ответ 24.05.2023, 14:24:30
от Gleb72
Почему обновление шаблона ломает шаблон?

Автор gorbi_U

Ответов: 8
Просмотров: 3431
Последний ответ 03.05.2023, 22:54:19
от SmiP
Шаблоны Joomlart, Gavick, Yootheme, RocketTheme для Joomla: легально и с обновлениями, no warez

Автор _ib_

Ответов: 168
Просмотров: 207452
Последний ответ 15.04.2023, 18:26:50
от AS1969
Нужно ли переносить custom.css при переезде на новый шаблон?

Автор gorbi_U

Ответов: 3
Просмотров: 2756
Последний ответ 09.02.2023, 21:05:42
от marksetter