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

sashgera

  • Захожу иногда
  • 113
  • 0 / 0
Здравствуйте
Необходимо в карточку товара вставить дополнительное изображение через URL, при этом создать его миниатюру.
Вхожу в Менеджер файлов, нажимаю на иконку Новый
Ввожу в поле URL файла путь к картинке:
http://www.мойсайт.ru/test/components/com_virtuemart/shop_image/product/картинка.jpg
жму сохранить

В итоге в карточке товара вместо миниатюры - полноразмерная картинка, при клике по которой, через lightbox, открывается такая же, полноразмерная.

Если вставлять картинку через Обзор, то в этом случае все нормально, миниатюры создаются и для основной и для дополнительных картинок.

Пожалуйста, кто сталкивался с такой проблемой, помогите.

(галка, Включить динамическое изменение размеров для мини-изображения в настройках у меня стоит)

*

fsv

  • Moderator
  • 2781
  • 411 / 2
Попробовал сейчас создать пару дополнительных изображений через URL. Все нормально, работает. В карточке миниатюра, по клику увеличивается.
VM1.1.9
Веб-разработка: заказ. Только новая разработка.
*

sashgera

  • Захожу иногда
  • 113
  • 0 / 0
Попробовал сейчас создать пару дополнительных изображений через URL. Все нормально, работает. В карточке миниатюра, по клику увеличивается.
VM1.1.9
у меня миниатюра не создается, подскажите, где мне копать?
*

fsv

  • Moderator
  • 2781
  • 411 / 2
Ну если дефолтный функционал нормально работает, я не могу знать, что у вас не так. Скачайте чистый дистрибутив и в тотал коммандер сравнивайте файлы \administrator\components\com_virtuemart\classes\
class.img2thumb.php
imageTools.class.php
htmlTools.class.php
\administrator\components\com_virtuemart\html\
product.file_list.php
product.file_form.php
Может еще какие, не помню уже, для меня это давняя тема.

Веб-разработка: заказ. Только новая разработка.
*

sashgera

  • Захожу иногда
  • 113
  • 0 / 0
fsv, скажите, пожалуйста, когда вы вставляете ДОПОЛНИТЕЛЬНУЮ картинку через URL, в селекте "Тип файла" все опции активны?
У меня, когда вставляю ДОПОЛНИТЕЛЬНУЮ картинку через URL, в селекте активны только опции: файл для скачивания, файл, изображение
а эти опции не активны: изображение товара (full and thumb), большая картинка, маленькая картинка
*

fsv

  • Moderator
  • 2781
  • 411 / 2
Все также.
Выбрано "изображение".
Веб-разработка: заказ. Только новая разработка.
*

sashgera

  • Захожу иногда
  • 113
  • 0 / 0
fsv, и еще вопрос, путь к картинке вы набираете в поле "URL файла (не обязательно)"
или
через Обор, а там уже набираете путь к картинке?
*

fsv

  • Moderator
  • 2781
  • 411 / 2
путь к картинке вы набираете в поле "URL файла (не обязательно)"
да
Веб-разработка: заказ. Только новая разработка.
*

sashgera

  • Захожу иногда
  • 113
  • 0 / 0
В большинстве товаров будет одинаковая дополнительная картинка. Чтобы не плодить картинки, а использовать одну для этих товаров, мне и нужно вставить ее через URL.
Проблема решилась, правда через пень-колоду - Сначала в поле URL указываю путь до маленькой картинки и жму Сохранить. Потом снова открываю, и вместо пути до маленькой картинки, указываю путь до большой. Теперь в карточке товара маленькая картинка при клике увеличивается через lightbox.
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

VirtueMart не может создать мини-изображение из .jpeg-файла

Автор Nick IntegraLL

Ответов: 13
Просмотров: 11712
Последний ответ 19.08.2025, 09:55:52
от AgentSmith
Настройки отображения товара

Автор wectra

Ответов: 2
Просмотров: 4257
Последний ответ 12.07.2017, 22:12:27
от wectra
Несколько изображений для товара/ Лупа для изображения/ Magic Zoom

Автор antoha333

Ответов: 41
Просмотров: 26795
Последний ответ 13.11.2015, 16:08:16
от sonics
Как реализовать на VirtueMart такую карточку товара?

Автор AdmbVlad

Ответов: 0
Просмотров: 1813
Последний ответ 14.10.2015, 17:01:55
от AdmbVlad
Как сделать чтобы при нажатии картинку с товаром открывалась страница с товаром?

Автор alicedooh

Ответов: 7
Просмотров: 2789
Последний ответ 01.04.2015, 16:01:14
от alicedooh