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

bestoff1983

  • Осваиваюсь на форуме
  • 13
  • 0 / 0
Добрый день.

Подскажите, пожалуйста, как мне вывести кол-во товаров в одном из пунктов Главного меню (например, Корзина) см. изображение.

У меня установлены: Joomla 2.5.11 и JoomShopping 3.12.3



Заранее огромное спасибо!
*

bestoff1983

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

ELLE

  • Глобальный модератор
  • 4505
  • 893 / 0
*

bestoff1983

  • Осваиваюсь на форуме
  • 13
  • 0 / 0
используйте модуль корзины, а не пункт меню

Заказчик хочет, чтобы было именно так. На внутренних страницах установлен модуль, в котором указаны и общая сумма заказа, и кол-во добавленного товара, но..хотят видеть кол-во (только кол-во! ) товара в этой кнопке меню Корзина.  У меня мозгов не хватает, к сожалению, как это сделать (

« Последнее редактирование: 01.06.2013, 22:48:21 от bestoff1983 »
*

ELLE

  • Глобальный модератор
  • 4505
  • 893 / 0
только на одной странице надо так сделать или на всех?
тогда скриптом можно было продублировать просто блок с нужной цифрой из корзины в эту кнопку в меню
*

bestoff1983

  • Осваиваюсь на форуме
  • 13
  • 0 / 0
только на одной странице надо так сделать или на всех?
тогда скриптом можно было продублировать просто блок с нужной цифрой из корзины в эту кнопку в меню

Он хочет, чтобы на всех страницах это было. Меню же сквозное. Только я не знаю ELLE , как скриптом можно продублировать этот блок (((

у меня был вариант

Код
<?php	  
$cart = JModel::getInstance('cart', 'jshop');
$cart->load("cart");
?>
<span id = "jshop_quantity_products"><?php print $cart->count_product ?></span>

но куда его вставить, ума не приложу (

Помоги, пожалуйста
*

bestoff1983

  • Осваиваюсь на форуме
  • 13
  • 0 / 0
вот тут почитайте, может так проще будет, да и быстрее
ELLE, спасибо. Сейчас почитаю. Может и додумаюсь, как сделать.
*

bestoff1983

  • Осваиваюсь на форуме
  • 13
  • 0 / 0
ELLE, спасибо. Сейчас почитаю. Может и додумаюсь, как сделать.
посмотрел...))) Честно скажу...для меня все это - темный лес. Вообще 0. Дырка от нуля. Не знаю, ELLE. Сдаюсь ) Помоги, пожалуйста, а.
Напиши, если не сложно, по шагам, что и куда я должен вставить, чтобы получить требуемый результат.
*

ELLE

  • Глобальный модератор
  • 4505
  • 893 / 0
Неее, так не пойдет )
Либо вы сидите, вникаете и набираетесь опыта, либо есть коммерческий раздел.
Здесь никому знания с неба не упали ;)
*

bestoff1983

  • Осваиваюсь на форуме
  • 13
  • 0 / 0
посмотрел...))) Честно скажу...для меня все это - темный лес. Вообще 0. Дырка от нуля. Не знаю, ELLE. Сдаюсь ) Помоги, пожалуйста, а.
Напиши, если не сложно, по шагам, что и куда я должен вставить, чтобы получить требуемый результат.

И еще... я так понимаю, что clone сможет брать только значения со страницы, а на главной странице у меня модуль корзины не размещен. То есть, логично предположить, что clone можно использовать только на тех страницах, на которых опубликован модуль корзины. Ну, это мне, в принципе, не очень поможет в любом случае... потому как я ничего все равно не смогу без твоей помощи сделать)
*

bestoff1983

  • Осваиваюсь на форуме
  • 13
  • 0 / 0
Неее, так не пойдет )
Либо вы сидите, вникаете и набираетесь опыта, либо есть коммерческий раздел.
Здесь никому знания с неба не упали ;)

Сколько с меня? ) я готов!
*

nevigen

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

bestoff1983

  • Осваиваюсь на форуме
  • 13
  • 0 / 0
такое в комразделе или в личке обсуждается.
Ок. Понял. Новичок. Простительно.
*

bestoff1983

  • Осваиваюсь на форуме
  • 13
  • 0 / 0
Неее, так не пойдет )
Либо вы сидите, вникаете и набираетесь опыта, либо есть коммерческий раздел.
Здесь никому знания с неба не упали ;)

ELLE, написал в личку ) жду ответа. очень жду!
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться