Новости 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 Ответов
  • 1787 Просмотров
*

Anton shop

  • Захожу иногда
  • 261
  • 1 / 0
Подскажите, пожалуйста, просклонять слово Товар в зависимости от количества товаров в модуле корзины Module Cart?

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

(видел на форуме аналогичную тему, но там совсем другой код http://joomlaforum.ru/index.php?topic=161869.0).



- когда корзина пустая, нужно чтобы отображался текст "Корзина пустая"

- когда в корзине 1, 21, 31, 41, 51 . . . 101 товар, нужно чтобы отображалось "Товар"

- когда в корзине от 2 до 4 товаров, 22-24, 32-34, 42-44, 52-44 . . . 102-104 товаров,
нужно чтобы отображалось "Товара"

- когда в корзине от 5 до 20 товаров, 25-30, 35-40, 45-50 . . . 95-100 товаров,
нужно чтобы отображалось "Товаров"

Исходный код из моего шаблона:
Спойлер
[свернуть]

JoomShopping 4.10.3
« Последнее редактирование: 31.07.2015, 02:31:55 от Anton shop »
*

error648398

  • Захожу иногда
  • 168
  • 21 / 0
Могу предположить что вам надо типа такого:
Код
<?php if(($cart->count_product)==0) : ?> Корзина пустая<?php endif; ?>
<?php $dlinastroki = strlen($cart->count_product); $lastsymbol = intval ( substr($cart->count_product, $dlinastroki - 1)); ?>
<?php if(($cart->count_product) ==1) : ?><?php print $cart->count_product?> Товар<?php endif; ?>
<?php if(($cart->count_product) >=2 && $lastsymbol < 5) : ?><?php print $cart->count_product?> Товарa<?php endif; ?>
<?php if(($cart->count_product) >= 1  && $lastsymbol == 1) : ?><?php print $cart->count_product?> Товар<?php endif; ?>
<?php if(($cart->count_product) >= 5  && $lastsymbol <= 9) : ?><?php print $cart->count_product?> Товаров<?php endif; ?>

Но надо прописать правильные условия.
« Последнее редактирование: 31.07.2015, 06:15:49 от error648398 »
*

Cerber

  • Захожу иногда
  • 266
  • 34 / 0
  • Богиня Иштар и ее пес Пи..ц
Да только в корзину больше девяти не класть а то рванет..
Чуточку внимательности и Барбара Стрейзанд :)
*

nevigen

  • Moderator
  • 10451
  • 863 / 25
  • http://n*****n.com
блин да поставьте вперед слово и все.
Товаров в корзине - ___

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

Anton shop

  • Захожу иногда
  • 261
  • 1 / 0
блин да поставьте вперед слово и все.
Товаров в корзине - ___

а пустая корзина уже обсуждалась на форуме.
А как поставить впереди? На моём скриншоте вы видите, что products стоит после 0, а не перед. Как исправить?
*

nevigen

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

Anton shop

  • Захожу иногда
  • 261
  • 1 / 0
вы часто на форуме... и каждый вопрос начинается "я ничего не шарю..."
Чувство юмора у вас отменное! Серьёзно, улыбнуло)
*

nevigen

  • Moderator
  • 10451
  • 863 / 25
  • http://n*****n.com
Чувство юмора у вас отменное! Серьёзно, улыбнуло)
искренне благодарю...
это исключительно благодаря Вашему чувству юмора.
вдохновился
А как поставить впереди? На моём скриншоте вы видите, что products стоит после 0, а не перед. Как исправить?

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

Anton shop

  • Захожу иногда
  • 261
  • 1 / 0
П.С. но совет начать учиться, оставлю как серьёзный. если конечно Вы связываете свою деятельность с сайтами.
Иногда пользуюсь FireBug и сайтом htmlbook.ru.
Вот сейчас, например, хочу отредактировать CSS Filter product extended, чтобы подходил по дизайну и размеру под мой сайт,
и имею представление о том. как должно выглядеть в результате, но всё же не получается сделать так, как хотелось бы, хотя действительно пробовал делать...
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Товар - файл. Как ограничить добавление в корзину только 1 шт?

Автор SLV

Ответов: 15
Просмотров: 2361
Последний ответ 24.07.2025, 11:34:21
от SLV
WT On fly image handler изображения товара JoomShopping в webp на лету

Автор sergeytolkachyov

Ответов: 13
Просмотров: 4377
Последний ответ 29.01.2025, 20:38:38
от sergeytolkachyov
JoomShopping, вывод всех категории к которым принадлежит товар

Автор Valent777

Ответов: 12
Просмотров: 2470
Последний ответ 01.11.2024, 14:57:28
от kit2m2
Видео с Youtube вместо картинки на карточке товара

Автор ksena

Ответов: 35
Просмотров: 10214
Последний ответ 08.10.2024, 04:26:36
от kit2m2
Пакетная загрузка изображений в товар/категорию JoomShopping

Автор Frost68

Ответов: 3
Просмотров: 1950
Последний ответ 13.08.2024, 06:54:24
от Lemonez