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

Orel

  • Осваиваюсь на форуме
  • 13
  • 0 / 0
Добрый день всем.
Прошу Вашей помощи.
Вот создал магазинчик. Joomla Joomla! 3.1.1, JoomShopping 4.2.2. Тестировал делать заказ, всё было нормально. Менял настройки в JoomShopping, и теперь при нажатии "Оформить заказ" выскакивает ошибка "502 Bad Gateway".
В чём может быть причина ?
Ещё ставил модули для JoomShopping и Аддоны. Может какой-то из них конфликтует ?..

Буду благодарен за помощь.
Сам сайт modniki.pp.ua
*

nevigen

  • Moderator
  • 10451
  • 863 / 25
  • http://n*****n.com
AJAX корзину отключите проверьте.

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

Orel

  • Осваиваюсь на форуме
  • 13
  • 0 / 0
Включаю "родную" корзину, так у меня страницы с нею вообще не грузятся...
Кеши сайта и браузера чистил.
*

nevigen

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

Orel

  • Осваиваюсь на форуме
  • 13
  • 0 / 0
Вы думаете тут тусят экстрасенсы ?

Вот оно !
acymailing_newsletter отключил, заработало !
Сам acymailing пока не ставил, может из-за этого аддон глючил. Или старая версия, не проверял совместимость, скачал в пакете, версия 1.0.5.

Спасибо !
*

Orel

  • Осваиваюсь на форуме
  • 13
  • 0 / 0
отключите корзину вообще.
и  вы поставили AJAX корзину+ для 3.0 ?
Корзину да, для 3-ки ставил.
*

nevigen

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

Orel

  • Осваиваюсь на форуме
  • 13
  • 0 / 0
Мой + в карму.
*

nevigen

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

Orel

  • Осваиваюсь на форуме
  • 13
  • 0 / 0
да вы же сами сделали :)
так что + скорее вам ;)
походу просто нужна компания была :)
Ну да, вместе веселее, в т.ч. решать проблемы.  ;)
*

pobo

  • Захожу иногда
  • 65
  • 0 / 0
Столкнулся с такой же проблемой. Сайт использовался как каталог. На данный момент решили оформлять заказы на сайте.
Сайт перенёс на локалхост - обновил до последней версии.  - всё было нормально и заказы оформлялись
Перенес на хостинг - при нажатии "Оформить заказ" думает с минуту, потом ошибка "502 Bad Gateway The server returned an invalid or incomplete response."

Аcymailing_newsletter -не ставил, корзины -менял, отключал - не помогает. что еще порекомендуете проверить?
*

nevigen

  • Moderator
  • 10451
  • 863 / 25
  • http://n*****n.com
1. экстрасенсов нет.
2. как минимум исходные адрес сайта и данные где нажимаете и т.д.

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

pobo

  • Захожу иногда
  • 65
  • 0 / 0
1. Прошу прощения, http://bmds.1gb.ru/. Сайт тестовый к домену не припаркован
2. Генерация pdf отключена, но в будущем понадобится
3. Где нажимаю -просто добавляю товар в корзину ввожу данные и оформляю заказ
4. Еще заметил - при редактировании способов оплаты тоже зависает минут на 3-5 но ошибки не дает
« Последнее редактирование: 11.04.2015, 13:34:46 от pobo »
*

nevigen

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

pobo

  • Захожу иногда
  • 65
  • 0 / 0
нет, всё стандартно
*

dmitry_stas

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

pobo

  • Захожу иногда
  • 65
  • 0 / 0
При всех зависаниях -заказы в админке создаются.
К хостеру обратился -у них всё нормально.

"очень много вариантов из-за чего может такое быть" - например?
*

nevigen

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

pobo

  • Захожу иногда
  • 65
  • 0 / 0
Есть мысли. До ошибки 502 была ошибка
Fatal error: Maximum execution time of 120 seconds exceeded in /home/virtwww/w_bmds_f321ebec/http/libraries/vendor/phpmailer/phpmailer/class.phpmailer.php on line 916
возможно какие проблемы с почтой?
« Последнее редактирование: 10.04.2015, 12:45:13 от pobo »
*

nevigen

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

dmitry_stas

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

pobo

  • Захожу иногда
  • 65
  • 0 / 0
Решил проблему - помогло изменение версии PHP до версии 5.3
Всем спасибо))
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Ошибка при изменении статуса товара

Автор itbc

Ответов: 4
Просмотров: 1346
Последний ответ 08.05.2024, 10:31:16
от itbc
Ошибка при заполнении поля Улица/Номер дома. Как исправить ошибку?

Автор admi5575

Ответов: 9
Просмотров: 1629
Последний ответ 10.05.2023, 07:21:14
от admi5575
При обновлении Joomshopping до 4.16 и Joomla до 3.9.3 - ошибка 1054

Автор busik

Ответов: 8
Просмотров: 2997
Последний ответ 15.12.2021, 01:01:46
от nevigen
На PHP 8 ошибка в мобильной версии

Автор Kugata

Ответов: 6
Просмотров: 1098
Последний ответ 15.09.2021, 19:22:42
от ShopES
Ошибка 0 Call to a member function setModel() on bool

Автор oleg1015

Ответов: 2
Просмотров: 1068
Последний ответ 31.07.2021, 07:04:53
от Taatshi