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

newjus

  • Захожу иногда
  • 53
  • 1 / 0
Всем доброго времени!

Исходные данные:
  • Joomla 2.5.
  • JoomShopping 3.20.2.
  • Установлен AlphaUserPoints - используется правило начисления баллов за приглашение и успешную регистрацию нового пользователя.
  • AlphaUserPoints с системой регистрации JoomShopping не работает, т.о. вынужден использовать стандартную форму регистрации Joomla.
  • При оформлении заказа неавторизованным пользователем, JoomShopping перенаправляет его на свою форму авторизации.
  • По понятным причинам хочу оставить доступными только по одной форме авторизации и регистрации (только стандартная).

Подскажите, пожалуйста, есть ли более элегантный способ, чем использование .htaccess, позволяющий обыграть данную ситуацию?
*

kit2m2

  • Живу я здесь
  • 3366
  • 276 / 0
  • Беру сайты на полное сопровождение
"ЭЛЕГАНТНОЕ" РЕШЕНИЕ: Сделать подобный плагин только в обратную сторону
Расширения для JoomShopping | Ссылка на Телеграм-канал | Сайты и магазины под ключ: Дизайн, Верстка, Программирование (расширения на заказ), СЕО-оптимизация, Сопровождение, Перенос на Joomla 4+ (5+) и JoomShopping 5+
*

dmitry_stas

  • Легенда
  • 13151
  • 1234 / 8
Цитировать
"ЭЛЕГАНТНОЕ" РЕШЕНИЕ: Сделать подобный плагин только в обратную сторону
:)
имхо единственно правильное решение - это научить AlphaUserPoints работать с регистрацией ЖШ. потому что данных при регистрации в Joomla явно для магазина маловато :)
Тут дарят бакс просто за регистрацию! Успей получить!
Все советы на форуме раздаю бесплатно, то есть даром. Индивидуально бесплатно консультирую только по вопросам стоимости индивидуальных консультаций
*

newjus

  • Захожу иногда
  • 53
  • 1 / 0
Сделать подобный плагин только в обратную сторону
Да, использовал я такой плагин пока не пришлось иметь дело с AlphaUserPoints... Но вот переписать я не смогу, да и судя по всему, мне регистрацию нужно стандартную Joomla оставить, а логин от JoomShopping, имхо, в этой ситуации будет удобнее и правильнее.

:)
имхо единственно правильное решение - это научить AlphaUserPoints работать с регистрацией ЖШ. потому что данных при регистрации в Joomla явно для магазина маловато :)
Это так - маловато, но это совсем не проблема и даже преимущество! ^-^ Зачем требовать от человека его адрес? Когда будет оформлять заказ - все внесет, а при регистрации это излишне, меньше заморочек - больше шансов, что человек вообще станет регистрироваться. По этой причине у меня на форме регистрации JoomShopping только минимум полей - только те, которые и при стандартной регистрации. Но было бы неплохо, если научить AlphaUserPoints работать с ЖШ, интересно, разработчик прислушивается? Хотя вряд ли, по-моему Joomla 2.5 он уже задвинул...
*

dmitry_stas

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

newjus

  • Захожу иногда
  • 53
  • 1 / 0
Значит - .htaccess :)

Я вот задумался, если к примеру SEF отключен и я использую для перенаправления формы регистрации ЖШ на стандартную эти самые "некрасивые" адреса, то после включения SEF перенаправление будет работать? Не знаю тонкостей внутренних, на каком там этапе эти правила из .htaccess обрабатываются и что Joomla для этого передает серверу...

P.S. Сам спросил - сам ответил, не будет работать, судя по всему.
« Последнее редактирование: 04.02.2016, 19:52:41 от newjus »
*

dmitry_stas

  • Легенда
  • 13151
  • 1234 / 8
да, так как сейчас прописано - не будет работать. htaccess не знает о SEF ровным счетом ничего. ему вообще все равно SEF у вас или не SEF. ему важна какая будет ссылка, и все

Цитировать
что Joomla для этого передает серверу
все с точностью до наоборот :) сервер передает Жумле, а не она ему
Тут дарят бакс просто за регистрацию! Успей получить!
Все советы на форуме раздаю бесплатно, то есть даром. Индивидуально бесплатно консультирую только по вопросам стоимости индивидуальных консультаций
*

newjus

  • Захожу иногда
  • 53
  • 1 / 0
Значит у меня все хорошо, но было бы неплохо - сменил алиас, а перенаправление работает :)
*

dmitry_stas

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

newjus

  • Захожу иногда
  • 53
  • 1 / 0
Тоже так подумал - это же SEO ухудшает, хотя, может и временно...
*

dmitry_stas

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

newjus

  • Захожу иногда
  • 53
  • 1 / 0
Все может быть :) Пока менял только пару раз, делая редирект 301, вроде как ничего страшного...
*

dmitry_stas

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

newjus

  • Захожу иногда
  • 53
  • 1 / 0
Для тех, кто задался такой же целью или вообще хочет навести порядок в своих ссылках для входа/регистрации/профиля (в т.ч. для улучшения SEO), привожу код для .htaccess. Исходные данные:

Сайт: www.site.ru
Алиас пункта "Войти" при использовании формы входа JoomShopping: login
Алиас пункта "Регистрация" при использовании формы регистрации Joomla: register
Алиас пункта "Профиль" при использовании профиля JoomShopping: account

Код:
Спойлер
[свернуть]

Вот такой странный SEF у Joomla...
« Последнее редактирование: 06.02.2016, 15:35:21 от newjus »
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

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

Автор sergeytolkachyov

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

Автор goga_pgasovav

Ответов: 1
Просмотров: 629
Последний ответ 12.08.2025, 11:21:29
от kit2m2
Конфликт js шаблонов JoomShaper helix3 J5 с JoomShopping 5

Автор heartlink

Ответов: 6
Просмотров: 1406
Последний ответ 22.07.2025, 12:40:12
от heartlink
Модуль карусели товаров JoomShopping на Swiper.js для Joomla

Автор sergeytolkachyov

Ответов: 2
Просмотров: 2049
Последний ответ 04.07.2025, 10:30:36
от sergeytolkachyov
[Решено] Сбросить счётчик ID товаров JoomShopping

Автор goga_pgasovav

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