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

Сергей С

  • Осваиваюсь на форуме
  • 17
  • 0 / 0
Добрый день!
Столкнулся с такой проблемой. Делаю магазин на локальном сервере.  Пример: есть один товар с разными расцветками, цена одинаковая.  Вывожу на страницу все расцветки. Внутри товара так же можно выбрать и посмотреть все варианты цвета по товару. Цвет, цена, количество -  задаю через зависимые атрибуты.
Надо корректно вывести наличие товара на странице.  При создании нового товара, графа количество становится неактивной (пишет, что количество надо указывать в атрибутах). 
Получается следующая картина. Допустим товар синего цвета. Указываю в атрибутах 0 по количеству. Если смотреть этот синий товар на основной странице сайта, то нет информации об отсутствии товара ( должно быть - нет в наличии). Если заходим в карточку товара, то видим его отсутствие - пишет нет в наличии. Это изначально вводит покупателя в заблуждение.
Если в карточке товара по всем цветам ставлю 0 (нет в наличии), то на основной странице появляется информация, что товара нет в наличии.
Вопрос следующий - как вывести на основную страницу корректное количество, которое указано в атрибуте.
PS.: если у меня пять цветов товара и по  двум ставлю в атрибутах ноль, то на основной странице под каждым цветом пишет количество 3 штуки, это неправильно.
*

kit2m2

  • Живу я здесь
  • 3366
  • 276 / 0
  • Беру сайты на полное сопровождение
... если у меня пять цветов товара и по  двум ставлю в атрибутах ноль, то на основной странице под каждым цветом пишет количество 3 штуки, это неправильно.
По умолчанию выводит всегда общее кол-во и только один раз! Значит что-то у Вас не стандартно... Прикрепите хотя бы принскрин, что у Вас там...
« Последнее редактирование: 18.09.2018, 15:25:08 от kit2m2 »
Расширения для JoomShopping | Ссылка на Телеграм-канал | Сайты и магазины под ключ: Дизайн, Верстка, Программирование (расширения на заказ), СЕО-оптимизация, Сопровождение, Перенос на Joomla 4+ (5+) и JoomShopping 5+
*

dmitry_stas

  • Легенда
  • 13151
  • 1234 / 8
добрый.

1. что такое "на основную страницу"?
2. в JoomShopping атрибуты показываются только на странице товара. нигде более они не показываются. если у вас они показываются еще где то, то значит и надо смотреть то, с помощью чего это сделано. какой то аддон, который выводит атрибуты в списке товаров, или типа такого.
3. как и сказал уже @kit2m2 никакого "под каждым" в принципе нет, даже на странице товара. короче, надо смотреть ваши правки и/или искать плагин который это делает
Тут дарят бакс просто за регистрацию! Успей получить!
Все советы на форуме раздаю бесплатно, то есть даром. Индивидуально бесплатно консультирую только по вопросам стоимости индивидуальных консультаций
*

Сергей С

  • Осваиваюсь на форуме
  • 17
  • 0 / 0

Первое фото - страница магазина, общий каталог.   Синий рюкзак (верхний правый), по количеству нет информации.

Фото №2. Когда заходим в синий рюкзак, то видно, что его нет в наличии. А в общем каталоге этой инфы нет.

Фото №3. В админке синего рюкзака. Количество 3, изменить нельзя,  только через атрибуты.

Фото №4. В админке синего рюкзака - атрибуты.

Фото №5. основной каталог.  Черный, серый рюкзаки - есть отображение информации, что нет в наличии

Фото №6   Админка черного рюкзака, атрибуты.  По всем цветам стоит ноль в наличии, только тогда в основном каталоге выводится информация об отсутствии товара. Если хоть по одному цвету будет значение отличное от нуля, то на странице основного каталога, по всем цветам товара будет отсутствовать информация, что его нет. Надо заходить внутрь товара и тогда видно его отсутствие.

Очень надеюсь, что понятно изложил мысль.
*

dmitry_stas

  • Легенда
  • 13151
  • 1234 / 8
понятно изложили мысль. непонятно, что тут непонятного :) если хоть один атрибут есть - то значит товар есть. а значит никакой информации о "Не в наличии" в списке товаров и быть не должно. а в карточке товара, где атрибуты выводятся, уже видно по каждому атрибуту свое наличие. что не так то?
Тут дарят бакс просто за регистрацию! Успей получить!
Все советы на форуме раздаю бесплатно, то есть даром. Индивидуально бесплатно консультирую только по вопросам стоимости индивидуальных консультаций
*

Сергей С

  • Осваиваюсь на форуме
  • 17
  • 0 / 0
Все вроде бы так.   Мне не нравится, что отсутствие информации о наличии в основном каталоге вводит в заблуждение клиента. Ему надо зайти в карточку товара и только тогда он видит, что товара нет.  Каким инструментом можно добавить эту информацию (об отсутствии товара) в основной каталог? Что бы клиент не тыкал лишний раз в товар, которого нет. 
*

dmitry_stas

  • Легенда
  • 13151
  • 1234 / 8
а почему его нет, если он есть? у него есть атрибут, который в наличии. значит товар есть, его можно купить. почему его нет?
Тут дарят бакс просто за регистрацию! Успей получить!
Все советы на форуме раздаю бесплатно, то есть даром. Индивидуально бесплатно консультирую только по вопросам стоимости индивидуальных консультаций
*

Сергей С

  • Осваиваюсь на форуме
  • 17
  • 0 / 0
В наличии может быть только один цвет. А остальных не будет. Это можно увидеть только когда зайдешь в карточку товара. В основном каталоге эта информация никак не отобразится.  Вот это меня и бесит.  Т.е. в основном каталоге будет десять цветов товара. Клиент выберет нужный, зайдет внутрь, а его нет. Он сразу уйдет в основной каталог выбирать цвет, и т.д.  Мне нужно вывести по каждому цвету информацию о наличии в основном каталоге.  Вот ищу инструмент или плагин, который это сможет сделать.
*

dmitry_stas

  • Легенда
  • 13151
  • 1234 / 8
Т.е. в основном каталоге будет десять цветов товара. Клиент выберет нужный, зайдет внутрь, а его нет
не могу понять, как он тут сможет выбрать цвет? еще раз: информация об атрибутах есть только в карточке товара. в списке товаров атрибуты не выводятся.
Тут дарят бакс просто за регистрацию! Успей получить!
Все советы на форуме раздаю бесплатно, то есть даром. Индивидуально бесплатно консультирую только по вопросам стоимости индивидуальных консультаций
*

Сергей С

  • Осваиваюсь на форуме
  • 17
  • 0 / 0
Я вывожу в основном каталоге одну и туже модель, но в разных (во всех имеющихся) цветах.  Т.е. если у меня у модели пять цветов, то в основном каталоге будет пять рюкзаков подряд, но разного цвета. Так вот если в атрибутах, хоть у одного цвета будет количество отличное от нуля, то в основном каталоге не понятно будет, какой цвет отсутствует. Клиенту придется тыкать в каждый цвет, что бы увидеть его отсутствие. Это дико неудобно.
*

dmitry_stas

  • Легенда
  • 13151
  • 1234 / 8
еще более стало запутано. если вы выводите в списке товаров пять рюкзаков подряд - то это значит что это разные товары, а не разные атрибуты одного товара. а в разных товарах вы можете делать разные остатки, как считаете нужным.
Тут дарят бакс просто за регистрацию! Успей получить!
Все советы на форуме раздаю бесплатно, то есть даром. Индивидуально бесплатно консультирую только по вопросам стоимости индивидуальных консультаций
*

kit2m2

  • Живу я здесь
  • 3366
  • 276 / 0
  • Беру сайты на полное сопровождение
Хотите наглядность количества по аттрибутам в списке товаров - Вам нужно расширение JoomShopping атрибуты в списке товаров
Расширения для JoomShopping | Ссылка на Телеграм-канал | Сайты и магазины под ключ: Дизайн, Верстка, Программирование (расширения на заказ), СЕО-оптимизация, Сопровождение, Перенос на Joomla 4+ (5+) и JoomShopping 5+
*

Сергей С

  • Осваиваюсь на форуме
  • 17
  • 0 / 0
dmitry_stas

Это так. Но я, сделал возможность внутри товара (например зашли в синий рюкзак) - посмотреть информацию по любому другому цвету (добавлены атрибуты по всем цветам). Т.е. внутри синего рюкзака, клиент может выбрать атрибут красный, желтый и т.д. и посмотреть информацию по другим цветам не выходя в общий каталог.
Я так понимаю, что стандартными средствами JS это не решить. Либо прямо в описании, делать пометку "Нет в наличии", тогда эта информация будет выводиться в общий каталог. Но при большом количестве артикулов это практически нереально менять и отслеживать.

kit2m2

Смотрел как раз этот плагин, спасибо. Хотел обойтись бесплатными вариантами. Будем думать.
*

kit2m2

  • Живу я здесь
  • 3366
  • 276 / 0
  • Беру сайты на полное сопровождение
Если у Вас каждый цвет это отдельный товар, то зачем Вам атрибуты? Дополнительные цвета в товаре делайте сопутствующими товарами, тогда и количество будет в товаре корректное по цветам и не будете путать покупателей.
Расширения для JoomShopping | Ссылка на Телеграм-канал | Сайты и магазины под ключ: Дизайн, Верстка, Программирование (расширения на заказ), СЕО-оптимизация, Сопровождение, Перенос на Joomla 4+ (5+) и JoomShopping 5+
*

dmitry_stas

  • Легенда
  • 13151
  • 1234 / 8
я, сделал возможность внутри товара (например зашли в синий рюкзак) - посмотреть информацию по любому другому цвету (добавлены атрибуты по всем цветам). Т.е. внутри синего рюкзака, клиент может выбрать атрибут красный, желтый и т.д. и посмотреть информацию по другим цветам не выходя в общий каталог.
это можно сделать и без велосипеда с атрибутами. добавьте свои товары как сопутствующие к текущему, и они будут показаны в товаре. мне кажется, вы все усложняете.
Тут дарят бакс просто за регистрацию! Успей получить!
Все советы на форуме раздаю бесплатно, то есть даром. Индивидуально бесплатно консультирую только по вопросам стоимости индивидуальных консультаций
*

Сергей С

  • Осваиваюсь на форуме
  • 17
  • 0 / 0
Доп. атрибуты делал только для того, что бы внутри товара можно было посмотреть информацию по другим цветам не выходя из карточки товара.  По поводу "Сопутствующих товаров" очень хороший вариант. Попробую. 

Думаю тема закрыта, спасибо всем, кто поучаствовал.
*

dmitry_stas

  • Легенда
  • 13151
  • 1234 / 8
Доп. атрибуты делал только для того, что бы внутри товара можно было посмотреть информацию по другим цветам не выходя из карточки товара.
да, я понял. но это ж сколько лишней работы... что-то поменялось в товаре - это менять самом товаре, а потом менять в каждом похожем товаре в атрибуте... ужос :)
Тут дарят бакс просто за регистрацию! Успей получить!
Все советы на форуме раздаю бесплатно, то есть даром. Индивидуально бесплатно консультирую только по вопросам стоимости индивидуальных консультаций
*

Сергей С

  • Осваиваюсь на форуме
  • 17
  • 0 / 0
да, я понял. но это ж сколько лишней работы... что-то поменялось в товаре - это менять самом товаре, а потом менять в каждом похожем товаре в атрибуте... ужос :)

Согласен)) сейчас уже задумался, а надо ли мне это "удобство" для клиента.   Контента вносить очень много приходится. И редактировать потом сложно, если какой-то цвет допустим убрать захочется из каталога.  Пока товара мало, это еще терпимо, но потом ..... меня уже пугает этот процесс)).
Спасибо за помощь.
*

nevigen

  • Moderator
  • 10451
  • 863 / 25
  • http://n*****n.com
грамотнее сделать другие цвета сопутствующими товарами чтобы дать удобство..

Профессиональные / Бесплатные решения для JoomShopping
Не лечи бесплатно, ибо тот, кто лечится бесплатно, рано или поздно перестает ценить свое здоровье,
а тот, кто лечит бесплатно, рано или поздно перестает ценить результаты своего труда/ (с) Гиппократ?
Не ищите ответов, ищите решение !
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

WT JoomShopping Favorite - кнопки избранного в категории товаров и карточке тов

Автор sergeytolkachyov

Ответов: 25
Просмотров: 35720
Последний ответ 23.09.2025, 11:22:23
от Alex_gs
Атрибуты полей при оформлении заказа в JoomShopping

Автор goga_pgasovav

Ответов: 1
Просмотров: 632
Последний ответ 12.08.2025, 11:21:29
от kit2m2
Конфликт js шаблонов JoomShaper helix3 J5 с JoomShopping 5

Автор heartlink

Ответов: 6
Просмотров: 1407
Последний ответ 22.07.2025, 12:40:12
от heartlink
Модуль карусели товаров JoomShopping на Swiper.js для Joomla

Автор sergeytolkachyov

Ответов: 2
Просмотров: 2050
Последний ответ 04.07.2025, 10:30:36
от sergeytolkachyov
[Решено] Сбросить счётчик ID товаров JoomShopping

Автор goga_pgasovav

Ответов: 3
Просмотров: 1360
Последний ответ 13.02.2025, 00:11:20
от goga_pgasovav