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

ОлегБеларусь

  • Осваиваюсь на форуме
  • 29
  • 0 / 0
Приветствую дорогие форумчане!
С праздниками всех поздравляю. Всего самого хорошего в новом году желаю.
Подскажите пожалуйста как можно проставить в карточку товара вот такие значки как на этом сайте:
https://ibb.co/WBxZ9NZ
Можно чтоб они проставлялись автоматически при создании нового товара? Парфюмерия поделена на категории:
-мужская
-женская
В карточки товаров мужской категории проставлять свой значок "МУЖСКОЙ АРОМАТ"
В карточки товаров женской категории проставлять свой значок "ЖЕНСКИЙ АРОМАТ"
*

effrit

  • Легенда
  • 10132
  • 1118 / 13
  • effrit.com
здра.
и вам с наступившим.

значки - это, по идее, характеристика товара, в данном случае.
т.е. можно создать в админке характеристику типа select, вбить 2 значения и в карточке товара выбирать одно из двух значений.
либо же, если структура у сайта закончена, то прямо в шаблоне карточки товара, на основании ID текущей категории, выводить значек.
*

ОлегБеларусь

  • Осваиваюсь на форуме
  • 29
  • 0 / 0
здра.
и вам с наступившим.

значки - это, по идее, характеристика товара, в данном случае.
т.е. можно создать в админке характеристику типа select, вбить 2 значения и в карточке товара выбирать одно из двух значений.
либо же, если структура у сайта закончена, то прямо в шаблоне карточки товара, на основании ID текущей категории, выводить значек.
Структура еще не закончена. Заказчик просит чтоб значки проставлялись автоматом на товары из соответствующей категории. А как можно так сделать? Закрепить значок к категории
*

dmitry_stas

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

ОлегБеларусь

  • Осваиваюсь на форуме
  • 29
  • 0 / 0
что имеется в виду?
Чтоб проставлялись значки "женский аромат" во все карточки товаров которые входят в ЖЕНСКУЮ КАТЕГОРИЮ.
Вот как здесь на скрине другого сайта: https://ibb.co/WBxZ9NZ
*

dmitry_stas

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

ОлегБеларусь

  • Осваиваюсь на форуме
  • 29
  • 0 / 0
ну так
А как это сделать?
Благодарю
*

dmitry_stas

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

ОлегБеларусь

  • Осваиваюсь на форуме
  • 29
  • 0 / 0
если вы о том, как получить id текущей категории, то в карточке товара это $this->category_id
А где  прописать путь к изображению?
*

dmitry_stas

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

ОлегБеларусь

  • Осваиваюсь на форуме
  • 29
  • 0 / 0
в смысле, где находится файл карточки товара?
:o Я не понимаю в каких файлах это прописывать. Я не кодер.
*

nevigen

  • Moderator
  • 10451
  • 863 / 25
  • http://n*****n.com
А как это сделать?
Благодарю
что имено не понятно как сделать ?
вы ожидаете готовый код или все таки что-то уже сделали и не получается какой-то момент ?

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

dmitry_stas

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

ОлегБеларусь

  • Осваиваюсь на форуме
  • 29
  • 0 / 0
А сколько будет стоить готовый код? И инструкция что и куда проставить
*

ОлегБеларусь

  • Осваиваюсь на форуме
  • 29
  • 0 / 0
какой файл за что отвечает, т.е. описание файлов шаблона, есть в [FaQ] JoomShopping - готовые решения
А сколько будет стоить готовый код? И инструкция что и куда проставить
*

nevigen

  • Moderator
  • 10451
  • 863 / 25
  • http://n*****n.com
ремонт автомобиля - $100
ремонт автомобиля в присутствии владельца - $300
ремонт автомобиля под чутким руководством владельца, с обяснениями и обучением - $800

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