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

Simply

  • Захожу иногда
  • 71
  • 7 / 1
Добрый день.
На складе к примеру 1 товара, но при добавлении в корзину и оформлении заказа, JoomShopping это не проверяет и разрешает купить больше чем есть, остаток уходит в минус. Как с этим бороться, в настройках ничего подобного нет. Искал на форуме похожие темы, но или плохо искал, или никого такая проблема не беспокоит)
*

AlexB

  • Завсегдатай
  • 1973
  • 54 / 2
проверьте на дефолтном шаблоне
*

Simply

  • Захожу иногда
  • 71
  • 7 / 1
без изменений, могу выбрать любое количество и оформить заказ
*

AlexB

  • Завсегдатай
  • 1973
  • 54 / 2
дефолтный шаблон JoomShopping и Joomla?
*

AlexB

  • Завсегдатай
  • 1973
  • 54 / 2
только проверил на стандартных все работает
поставил на складе 12
в корзину хотел отправить 15
написало что максимум 12
*

Simply

  • Захожу иногда
  • 71
  • 7 / 1
как так  :o выбрал Protostar и у меня все добавляется) может есть какая то хитрая настройка в джумшоппинге?
*

AlexB

  • Завсегдатай
  • 1973
  • 54 / 2
так а шаблон JoomShopping выбрали дефолтный?
*

AlexB

  • Завсегдатай
  • 1973
  • 54 / 2
/administrator/index.php?option=com_jshopping&controller=config&task=general
*

Simply

  • Захожу иногда
  • 71
  • 7 / 1
да, там дефолтный, у меня один шаблон, он типа адаптивный под JoomShopping
*

AlexB

  • Завсегдатай
  • 1973
  • 54 / 2
а сама функция склада включена?
administrator/index.php?option=com_jshopping&controller=config&task=adminfunction
*

Simply

  • Захожу иногда
  • 71
  • 7 / 1
да, остатки заполнены, галочки без ограничений в карточках не стоят
*

AlexB

  • Завсегдатай
  • 1973
  • 54 / 2
ну тогда точно где то проблема в переопределениях
вырезано условие
*

Simply

  • Захожу иногда
  • 71
  • 7 / 1
Joomla и JS устанавливал чистыми, ничего вроде не менял, потому что не умею) странно
*

kit2m2

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

Simply

  • Захожу иногда
  • 71
  • 7 / 1
вроде не трогал их никогда
*

nevigen

  • Moderator
  • 10451
  • 863 / 25
  • http://n*****n.com
если при смене шаблона Ж уходит проблема, то 99% шаблон ЖШ переопределен в шаблоне Ж.
Профессиональные / Бесплатные решения для JoomShopping
Не лечи бесплатно, ибо тот, кто лечится бесплатно, рано или поздно перестает ценить свое здоровье,
а тот, кто лечит бесплатно, рано или поздно перестает ценить результаты своего труда/ (с) Гиппократ?
Не ищите ответов, ищите решение !
*

Simply

  • Захожу иногда
  • 71
  • 7 / 1
А если при смене шаблона проблема не уходит, то какие варианты?
Подскажите какие файлы в JS отвечают за это? Может попробовать их перезалить с чистой JS?
*

AlexB

  • Завсегдатай
  • 1973
  • 54 / 2
если ничего не переопределено то вам сюда
/components/com_jshopping/templates/default/product/product_default.php
*

nevigen

  • Moderator
  • 10451
  • 863 / 25
  • http://n*****n.com
А если при смене шаблона проблема не уходит, то какие варианты?
Подскажите какие файлы в JS отвечают за это? Может попробовать их перезалить с чистой JS?
а вы вообще кол-во товарам задаете ?
склад включен ?
Профессиональные / Бесплатные решения для JoomShopping
Не лечи бесплатно, ибо тот, кто лечится бесплатно, рано или поздно перестает ценить свое здоровье,
а тот, кто лечит бесплатно, рано или поздно перестает ценить результаты своего труда/ (с) Гиппократ?
Не ищите ответов, ищите решение !
*

AlexB

  • Завсегдатай
  • 1973
  • 54 / 2
а вы вообще кол-во товарам задаете ?
склад включен ?
да я уже спрашивал
говорит что да
остатки забиты
галки нет что неограниченно
*

nevigen

  • Moderator
  • 10451
  • 863 / 25
  • http://n*****n.com
скрыть кнопку купить когда нет на складе тоже включено ?
Профессиональные / Бесплатные решения для JoomShopping
Не лечи бесплатно, ибо тот, кто лечится бесплатно, рано или поздно перестает ценить свое здоровье,
а тот, кто лечит бесплатно, рано или поздно перестает ценить результаты своего труда/ (с) Гиппократ?
Не ищите ответов, ищите решение !
*

AlexB

  • Завсегдатай
  • 1973
  • 54 / 2
скрыть кнопку купить когда нет на складе тоже включено ?
кстати да
причина тут скорее всего
даже проверил у себя
поведение как у тс
*

Simply

  • Захожу иногда
  • 71
  • 7 / 1
Да, помогло, спасибо  :D
Ошибка
Товар невозможно заказать в данном количестве
Максимальное количество заказа 2.

логика правда не понятна, может я не хочу кнопку скрывать)
ЗЫ плюсики к сожалению поставить пока не могу
*

nevigen

  • Moderator
  • 10451
  • 863 / 25
  • http://n*****n.com
Да, помогло, спасибо  :D
Ошибка
Товар невозможно заказать в данном количестве
Максимальное количество заказа 2.

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

Simply

  • Захожу иногда
  • 71
  • 7 / 1
не хотите скрывать? значит, хотите продавать в минус.
если товара нет на складе, обычно его нет в магазине и купить его нельзя.
нет, не хочу скрывать, потому что тогда скрывается и вишлис, и теряется его смысл, логичнее было бы оставить и корзину и вишлист, но при попытке добавить в корзину, был бы отказ, и тогда бы посетитель отложил бы товар в список желаний, надеюсь когда нибудь этот момент проработают
*

nevigen

  • Moderator
  • 10451
  • 863 / 25
  • http://n*****n.com
тогда смогут из вишлиста добавить в корзину.
даже когда товара нет в наличии.
Профессиональные / Бесплатные решения для JoomShopping
Не лечи бесплатно, ибо тот, кто лечится бесплатно, рано или поздно перестает ценить свое здоровье,
а тот, кто лечит бесплатно, рано или поздно перестает ценить результаты своего труда/ (с) Гиппократ?
Не ищите ответов, ищите решение !
*

Simply

  • Захожу иногда
  • 71
  • 7 / 1
тогда смогут из вишлиста добавить в корзину.
даже когда товара нет в наличии.
вернусь к этому вопросу, потому как он мне не дает покоя)
протестировал эту ситуацию, добавил товар в wishlist, поставил на складе наличие 0, при попытке добавить в корзину выводит сообщение что товара нет в наличии, и в корзину не добавляет, т.е. все работает как надо, правильно! Вопрос, как выводить кнопку при отсутствии товара? Может встречали платный модуль, который будет работать как надо.
Я нашел ваш пост с 2016 года, вы же сами поднимали этот вопрос Что нужно доделать в ЖШ
*

kit2m2

  • Живу я здесь
  • 3366
  • 276 / 0
  • Беру сайты на полное сопровождение
Вопрос, как выводить кнопку при отсутствии товара? Может встречали платный модуль, который будет работать как надо.
Если Вы про кнопку "Купить", то зачем ее выводить если нажав на нее нельзя купить товар? Обычно кнопка "Купить" выводиться если можно заказать товар в минус.

Например, товара = 0, нажимаю купить и на складе становиться кол-во = -1 и т.д.

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

nevigen

  • Moderator
  • 10451
  • 863 / 25
  • http://n*****n.com
вернусь к этому вопросу, потому как он мне не дает покоя)
протестировал эту ситуацию, добавил товар в wishlist, поставил на складе наличие 0, при попытке добавить в корзину выводит сообщение что товара нет в наличии, и в корзину не добавляет, т.е. все работает как надо, правильно! Вопрос, как выводить кнопку при отсутствии товара? Может встречали платный модуль, который будет работать как надо.
Я нашел ваш пост с 2016 года, вы же сами поднимали этот вопрос Что нужно доделать в ЖШ
выведите в шаблоне карточки товара кнопку вишлиста из под условия
Код
<?php if (!$this->hide_buy){?>....
Профессиональные / Бесплатные решения для JoomShopping
Не лечи бесплатно, ибо тот, кто лечится бесплатно, рано или поздно перестает ценить свое здоровье,
а тот, кто лечит бесплатно, рано или поздно перестает ценить результаты своего труда/ (с) Гиппократ?
Не ищите ответов, ищите решение !
*

Simply

  • Захожу иногда
  • 71
  • 7 / 1
Если Вы про кнопку "Купить", то зачем ее выводить если нажав на нее нельзя купить товар? Обычно кнопка "Купить" выводиться если можно заказать товар в минус.

Например, товара = 0, нажимаю купить и на складе становиться кол-во = -1 и т.д.

Если так хочется чтобы кнопка "Купить" оставалась при кол-ве товара = 0, но нельзя заказать в минус, то просто в шаблоне пропишите условие отключение кнопки (чтобы не было возможности нажать) - атрибут disabled
Нет я про кнопку вишлист, а купить я бы тоже оставил, просто деактивировать

Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

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

Автор sergeytolkachyov

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

Автор goga_pgasovav

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

Автор heartlink

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

Автор sergeytolkachyov

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

Автор goga_pgasovav

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