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

konsty

  • Новичок
  • 8
  • 0 / 0
Поставил Ваш модуль.
Прописал в php файлах для input minus value="-" и input plus value="+";
В списке товаров и корзине работает, в карточке товара нет, просто пустые инпуты.
?
*

nevigen

  • Moderator
  • 10451
  • 863 / 25
  • http://n*****n.com
вы слишком хорошего мнения обо мне.
я не телепаю... на таком уровне...

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

konsty

  • Новичок
  • 8
  • 0 / 0
Ссылка http://balashiha-web.ru/index.php

Добавил атрибут value="+" и value="-" в файлы:

/plugins/jshoppingcheckout/plus_minus_count_product/plus_minus_count_product.php
/plugins/jshoppingproducts/plus_minus_count_product/plus_minus_count_product.php

в тег ипут

<input class = "product_minus" value="-" type = "button"...
<input class = "product_plus" value="+" type = "button"...
*

Biss

  • Давно я тут
  • 995
  • 101 / 0
В плагине есть
plus_minus_count_product.php

function onBeforeDisplayProductListView -это список товаров
function onBeforeDisplayProductView -это карточка товара

вы добавили свой код в 2-х функциях?
*

konsty

  • Новичок
  • 8
  • 0 / 0
Просмотрел.
Добавил, все работает, спасибо!
*

zahar_92

  • Захожу иногда
  • 315
  • 8 / 0
Возможно ли сделать, чтобы кнопки + и - появились в старой AJAX корзине 4.0.3 от Brooksus. 
В новой версии модуля этой корзины эта функция идет по умолчанию, но она платная, да и моя со стилями и заточена под сайт...
*

intcorp

  • Захожу иногда
  • 456
  • 12 / 0
Установил на 4.18.2 + шаблон responsive (в стандартном шаблоне так же) + данный плагин. В списке товаров категории вывелся блок [- количество +], но дефолтный блок количества никуда не пропал. При добавлении товара в корзину, передается количество из стандартного блока, если стандартный блок (выводимый в <?php print $product->_tmp_var_top_buttons;?>) скрыть, то получаем ошибку "_JSHOP_ERROR_QUANTITY".
« Последнее редактирование: 25.11.2018, 23:29:53 от intcorp »
*

nevigen

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

dmitry_stas

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

intcorp

  • Захожу иногда
  • 456
  • 12 / 0
Шаблон респонсив (адаптивный)
На стандартном (дефолтном) шаблоне JoomShopping то же самое.

Оказывается, что конфликт с addon_joomshoping_cartajax_3.5.3. Есть ли проблема с более новыми версиями не знаю, т.к. на более новые, купленная когда-то лицензия уже не распространяется.

Можно решить проблему без обновления?
*

nevigen

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

intcorp

  • Захожу иногда
  • 456
  • 12 / 0
ну так есно :)
корзина сама обрабатыватет добавление.

как их подружить или прописать кнопки вручную?
« Последнее редактирование: 26.11.2018, 11:20:34 от intcorp »
*

nevigen

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

intcorp

  • Захожу иногда
  • 456
  • 12 / 0
Если я правильно понял, вот блок вывода количества
Код
if ($product->buy_link){
                    if ($listminqty[$product->product_id]) {
                        $value = $listminqty[$product->product_id];
                    } else {
                        $value = $minqty;
                    }
                    if ($instaddon_quantity_select_pview && count($attrQ)){
                        $products[$key]->_tmp_var_top_buttons .= JHTML::_('select.genericlist', $attrQ, 'quantity', 'class="inputbox"' . $show, 'attr_addon_quantity_select', 'name', $view->default_count_product,'addon_quantity_select');
                    }else{
                        $products[$key]->_tmp_var_top_buttons .= _JSHOP_QUANTITY . ': <input type="text" size="2" value="' . $value . '" name="quantity" class="input-mini" />';
                    }
                }
                $products[$key]->_tmp_var_top_buttons .= '<input type="hidden" value="' . $product->product_id . '" name="product_id" />';
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

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

Автор sergeytolkachyov

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

Автор goga_pgasovav

Ответов: 1
Просмотров: 626
Последний ответ 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
Просмотров: 2046
Последний ответ 04.07.2025, 10:30:36
от sergeytolkachyov
[Решено] Сбросить счётчик ID товаров JoomShopping

Автор goga_pgasovav

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