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

Rosheh

  • Осваиваюсь на форуме
  • 11
  • 0 / 0
То есть в главном меню каждый пункт соответствовал своей категории, например в пункте меню зерно товары категории зерно, в комбикорм товары категории комбикорм, а в дополнительном меню в каждом пункте собирались определенные товары из разных категорий, например пункт меню куры несушки и товары из зерна и комбикорма имено для кур несушек. На примере этого сайта http://zerno-kombikorm.ru/korma-dlya-ptits/dlya-kur/mel_
*

dmitry_stas

  • Легенда
  • 13151
  • 1234 / 8
это называется посадочные страницы. http://joomlaforum.ru/index.php/topic,224274.0.html
Тут дарят бакс просто за регистрацию! Успей получить!
Все советы на форуме раздаю бесплатно, то есть даром. Индивидуально бесплатно консультирую только по вопросам стоимости индивидуальных консультаций
*

Rosheh

  • Осваиваюсь на форуме
  • 11
  • 0 / 0
это же только фильтр
*

dmitry_stas

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

Rosheh

  • Осваиваюсь на форуме
  • 11
  • 0 / 0
я могу не пользоваться этим фильтром, а вручную создать для каждого пункта меню все товары. Товары будут повторяться, но алясы будут отличатся 1-2 символами, это будет плохо, например для поисковиков?
*

Rosheh

  • Осваиваюсь на форуме
  • 11
  • 0 / 0
вообще не очень понял что такое посадочные страницы. Неужели чтоб выполнить такое простое действие, которое было описано в самом начале, нужно покупать фильтр за 4к
*

Rosheh

  • Осваиваюсь на форуме
  • 11
  • 0 / 0
прокоментируйте
*

ViktorMah

  • Захожу иногда
  • 252
  • 30 / 0
я могу не пользоваться этим фильтром, а вручную создать для каждого пункта меню все товары. Товары будут повторяться, но алясы будут отличатся 1-2 символами, это будет плохо, например для поисковиков?
За дубли контента, однако, поисковики сильно не одобрят.

https://www.webdesigner-profi.de/joomla-webdesign/shop/addons/product-seo.html?lang=en
Аддон позволит корректно выводить один товар в нескольких категориях = без образования дублирующих алисов, так как в адресе страницы товара будет только домен/товар . Ещё из особенностей данного аддона - привязывает товар, для отображения хлебных крошек, к категории с меньшим id.
Например, Вы создаёте товар в категории с айди=12 и потом решаете показать его ещё и в в категории с айди=5. То на сайте при заходе в товар, модуль хлебных крошек покажет путь до 5-ой категории.

Вариант на который направил Вас dmitry_stas называется "Пункт меню = характеристика товара" или посадочная страница. У данного варианта есть два варианта решения:
1- простой. Покупаете/устанавливаете аддон_фильтра. И прямо из админки создаёте пункт меню = характеристика.
2-сложнее)). Руками, не пропустив поход в БазуДанных, создаёте пм=характеристика.
Цитировать
.
В любом случае нужно в Опции-Характеристики_товаров создать характеристику="для животинки" и её опциями="вид животинки(куры_брой, утки, хрюши и т.д.)".
И главное не забыть в товаре на вкладке характеристика выбрать нужную опцию/и
.
« Последнее редактирование: 20.10.2015, 09:08:08 от ViktorMah »
*

Rosheh

  • Осваиваюсь на форуме
  • 11
  • 0 / 0
ясно спасибо
*

Rosheh

  • Осваиваюсь на форуме
  • 11
  • 0 / 0
вроде вопрос не сложный, а ответа нигде нет, может нет так искал, но искать замучился
*

zeher

  • Захожу иногда
  • 169
  • 12 / 0
Может не совсем понял. что автор хочет.
Попробуйте создать метки и добавить одну метку допустим всем курам несушкам, а потом создать пункт меню жш с определенной меткой. Вторую метку для другой группы товара и т.д.
*

Rosheh

  • Осваиваюсь на форуме
  • 11
  • 0 / 0
на один товар вроде тока одна метка
а мне нужно будет на некоторые товары по 5 меток ставить
« Последнее редактирование: 21.10.2015, 09:00:10 от nevigen »
*

nevigen

  • Moderator
  • 10451
  • 863 / 25
  • http://n*****n.com
вообще не очень понял что такое посадочные страницы.
посадочные страницы - поищите в сети что это такое.
в свете поставленной задачи в теме, это возможность формирования пункта меню, который ведет на товары по определенной выборке.
например товары из категорий 1,5,7 с характеристикой 5,67,95, производителя 1.

Неужели чтоб выполнить такое простое действие, которое было описано в самом начале, нужно покупать фильтр за 4к
если оно простое, то чего тут обсуждать ? сделайте да и все ;)
обычно люди которые пишут что это просто, под словом просто, имеют ввиду "ПРОСТО мне надо"

можете попробовать использовать метки и выводить товары модулями.
например 2 модуля один с меткой кур несушки другой зерновые корма.

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

Стоимость доставки для нескольких товаров. Должна ли рассчитываться?

Автор goga_pgasovav

Ответов: 2
Просмотров: 748
Последний ответ 14.06.2025, 13:08:57
от victorantoniak
Вывести заголовок прописанный в пункте меню вместо названия категории

Автор anatolij

Ответов: 13
Просмотров: 2270
Последний ответ 04.12.2024, 15:20:00
от kit2m2
Не сохраняется порядок товаров в админке

Автор heartlink

Ответов: 7
Просмотров: 1892
Последний ответ 08.10.2024, 10:24:02
от kit2m2
Сортировка товаров внутри категории

Автор oslyabya

Ответов: 1
Просмотров: 1307
Последний ответ 02.08.2024, 22:06:39
от nevigen
Обновление количества товаров в корзине без кнопки "Обновить корзину"

Автор kit2m2

Ответов: 4
Просмотров: 2806
Последний ответ 23.07.2024, 12:23:33
от Шрек