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

Mick_20

  • Завсегдатай
  • 1029
  • 13 / 0
  • Что тут писать?
Re: Данные заказчиков для рассылки
« Ответ #30 : 23.07.2018, 16:24:56 »
я честно говоря так и смог понять, что же итого нужно с этими пунктами меню. в конце концов можно создать Системный ссылки - Внешний URL, и сделать там хоть материал хоть что угодно.

а как мне поможет Внешний URL материал в админке вывести?
будет также на фронтенд кидать и все. А там своя авторизация...
Мой сайт про корабли
*

dmitry_stas

  • Легенда
  • 13151
  • 1234 / 8
Re: Данные заказчиков для рассылки
« Ответ #31 : 23.07.2018, 17:17:58 »
а при чем тут вообще авторизация на фронте?
Тут дарят бакс просто за регистрацию! Успей получить!
Все советы на форуме раздаю бесплатно, то есть даром. Индивидуально бесплатно консультирую только по вопросам стоимости индивидуальных консультаций
*

Mick_20

  • Завсегдатай
  • 1029
  • 13 / 0
  • Что тут писать?
Re: Данные заказчиков для рассылки
« Ответ #32 : 23.07.2018, 17:34:33 »
а при чем тут вообще авторизация на фронте?

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

dmitry_stas

  • Легенда
  • 13151
  • 1234 / 8
Re: Данные заказчиков для рассылки
« Ответ #33 : 23.07.2018, 17:42:15 »
та я вам вообще ничего пока не предлагаю. чтобы что то предлагать надо понять что вам вообще надо. а материал вывести во фронте с кнопками с админ панели - это по моему не то, что вам надо.
Тут дарят бакс просто за регистрацию! Успей получить!
Все советы на форуме раздаю бесплатно, то есть даром. Индивидуально бесплатно консультирую только по вопросам стоимости индивидуальных консультаций
*

kit2m2

  • Живу я здесь
  • 3366
  • 276 / 0
  • Беру сайты на полное сопровождение
Re: Данные заказчиков для рассылки
« Ответ #34 : 23.07.2018, 17:50:46 »
Советую вернуться к НАЧАЛУ... а то все не о чем...

Просто ТС нужно понять, что есть только два решения либо платно, либо самому. И завуалировать свою цель не получиться...
Расширения для JoomShopping | Ссылка на Телеграм-канал | Сайты и магазины под ключ: Дизайн, Верстка, Программирование (расширения на заказ), СЕО-оптимизация, Сопровождение, Перенос на Joomla 4+ (5+) и JoomShopping 5+
*

Mick_20

  • Завсегдатай
  • 1029
  • 13 / 0
  • Что тут писать?
Re: Данные заказчиков для рассылки
« Ответ #35 : 23.07.2018, 17:51:29 »
надо вывести в админке список заказчиков и их контакты
чтобы можно было их экспортировать в файл
чтобы можно было их редактировать

плагины платные не устраивают.
компонент написать не осилю.

решил на php написать код.
теперь надо создать в админке пункт меню типа "Материал"
Мой сайт про корабли
*

kit2m2

  • Живу я здесь
  • 3366
  • 276 / 0
  • Беру сайты на полное сопровождение
Re: Данные заказчиков для рассылки
« Ответ #36 : 23.07.2018, 17:57:08 »
Напишите код, оформлю его плагином.
Расширения для JoomShopping | Ссылка на Телеграм-канал | Сайты и магазины под ключ: Дизайн, Верстка, Программирование (расширения на заказ), СЕО-оптимизация, Сопровождение, Перенос на Joomla 4+ (5+) и JoomShopping 5+
*

Mick_20

  • Завсегдатай
  • 1029
  • 13 / 0
  • Что тут писать?
Re: Данные заказчиков для рассылки
« Ответ #37 : 23.07.2018, 18:06:44 »
Напишите код, оформлю его плагином.
хорошо
Мой сайт про корабли
*

Mick_20

  • Завсегдатай
  • 1029
  • 13 / 0
  • Что тут писать?
Re: Данные заказчиков для рассылки
« Ответ #38 : 24.07.2018, 09:11:05 »
Как-то так
https://yadi.sk/d/KVJcNJGJ3ZWCF8

взял кусок из старых наработок.


редактирование полей по двойному щелчку.
Мой сайт про корабли
*

Mick_20

  • Завсегдатай
  • 1029
  • 13 / 0
  • Что тут писать?
Re: Данные заказчиков для рассылки
« Ответ #39 : 24.07.2018, 09:18:10 »
экспорт будет в виде кнопки позже.
прикручу, если получится в виде плагина оформить вывод данных с редактированием.

Мой сайт про корабли
*

kit2m2

  • Живу я здесь
  • 3366
  • 276 / 0
  • Беру сайты на полное сопровождение
Re: Данные заказчиков для рассылки
« Ответ #40 : 25.07.2018, 07:50:34 »
Посмотрел ваш код, не пойму зачем такие сложности...  :o
На этой странице /administrator/index.php?option=com_jshopping&controller=users есть то что вы хотите
...надо вывести в админке список заказчиков и их контакты...
...чтобы можно было их редактировать...
Нет только этого -
...чтобы можно было их экспортировать в файл...
... Причем для того чтобы получить эти данные не нужно обращаться в базу, они уже там есть. Просто нужно вывести список и сохранить (экспортировать) их в Эксель...
Расширения для JoomShopping | Ссылка на Телеграм-канал | Сайты и магазины под ключ: Дизайн, Верстка, Программирование (расширения на заказ), СЕО-оптимизация, Сопровождение, Перенос на Joomla 4+ (5+) и JoomShopping 5+
*

Biss

  • Давно я тут
  • 995
  • 101 / 0
Re: Данные заказчиков для рассылки
« Ответ #41 : 25.07.2018, 13:15:20 »
(Аддон) Устанавливать через компонент!
Искать в Опции ->  Импорт и Экспорт
Экспорт переделан из экспорта товаров
Кодировка 1251 (у меня в мс офисе и опен офисе открывает нормально)
Поля:
  • Номер заказа
  • Имя клиента
  • Почта
  • Моб. тел.
  • Сумма заказа
  • Валюта
  • Дата
« Последнее редактирование: 25.07.2018, 13:21:19 от Biss »
*

Mick_20

  • Завсегдатай
  • 1029
  • 13 / 0
  • Что тут писать?
Re: Данные заказчиков для рассылки
« Ответ #42 : 25.07.2018, 13:45:19 »
(Аддон) Устанавливать через компонент!
Искать в Опции ->  Импорт и Экспорт
Экспорт переделан из экспорта товаров
Кодировка 1251 (у меня в мс офисе и опен офисе открывает нормально)
Поля:
  • Номер заказа
  • Имя клиента
  • Почта
  • Моб. тел.
  • Сумма заказа
  • Валюта
  • Дата
спасибо большое.
только номер телефона не экспортировался и имя не целиком, но это уже мелочи
Мой сайт про корабли
*

Biss

  • Давно я тут
  • 995
  • 101 / 0
Re: Данные заказчиков для рассылки
« Ответ #43 : 25.07.2018, 13:49:13 »
Цитировать
только номер телефона не экспортировался и имя не целиком
Можно добавить, в заказе много полей. Какие нужны?
*

Mick_20

  • Завсегдатай
  • 1029
  • 13 / 0
  • Что тут писать?
Re: Данные заказчиков для рассылки
« Ответ #44 : 25.07.2018, 14:19:12 »
Можно добавить, в заказе много полей. Какие нужны?

Спасибо я уже сам добавил, что требовалось.
Вы видимо для старой версии магазина писали и название поля телефона в таблице поменялось.
Мой сайт про корабли
*

Biss

  • Давно я тут
  • 995
  • 101 / 0
Re: Данные заказчиков для рассылки
« Ответ #45 : 25.07.2018, 14:26:23 »
Цитировать
Вы видимо для старой версии магазина писали и название поля телефона в таблице поменялось.
Да нет, сегодня
Просто я указал mobil_phone а вам нужно phone по всей видимости
В ордере их 4
phone
mobil_phone
d_phone
d_mobil_phone
« Последнее редактирование: 25.07.2018, 14:30:06 от Biss »
*

Mick_20

  • Завсегдатай
  • 1029
  • 13 / 0
  • Что тут писать?
Re: Данные заказчиков для рассылки
« Ответ #46 : 25.07.2018, 14:34:01 »
Да нет, сегодня
Просто я указал mobil_phone а вам нужно phone по всей видимости
В ордере их 4
phone
mobil_phone
d_phone
d_mobil_phone

а ну да)) так и есть)
Мой сайт про корабли
*

Biss

  • Давно я тут
  • 995
  • 101 / 0
Re: Данные заказчиков для рассылки
« Ответ #47 : 25.07.2018, 14:50:10 »
Ну всё. kit2m2 подправит код   ^-^, перепакуем, закинем в первый пост и будем продавать по 20 евро  ;D
*

kit2m2

  • Живу я здесь
  • 3366
  • 276 / 0
  • Беру сайты на полное сопровождение
Re: Данные заказчиков для рассылки
« Ответ #48 : 25.07.2018, 14:56:06 »
Не понял, это в мой адрес? Я не у кого ничего не перепокупаю и не перепродаю. Пишу только свой код, учусь у других.
От халявы никогда не было толку. Хотя на моем сайте много халявы для других, вот только спасибо за это сказали единицы.
Расширения для JoomShopping | Ссылка на Телеграм-канал | Сайты и магазины под ключ: Дизайн, Верстка, Программирование (расширения на заказ), СЕО-оптимизация, Сопровождение, Перенос на Joomla 4+ (5+) и JoomShopping 5+
*

Biss

  • Давно я тут
  • 995
  • 101 / 0
Re: Данные заказчиков для рассылки
« Ответ #49 : 25.07.2018, 15:17:42 »
kit2m2, я ничего не предлагаю покупать или продавать, шутка же. Обратился, просто потому что вы проявили активность в теме, и могли бы немного оптимизировать код, если есть желание.
Цитировать
Пишу только свой код, учусь у других.
Аналогично.
Так же брал некоторые урывки кода из ваших плагинов. Считаю, опыта у вас больше.
Мне по сути этот аддон и не нужен, просто решил попробовать сделать что-то
*

kit2m2

  • Живу я здесь
  • 3366
  • 276 / 0
  • Беру сайты на полное сопровождение
Re: Данные заказчиков для рассылки
« Ответ #50 : 25.07.2018, 15:24:51 »
Ладно проехали  ;D, можно позже посмотреть если Вы просите...
Расширения для JoomShopping | Ссылка на Телеграм-канал | Сайты и магазины под ключ: Дизайн, Верстка, Программирование (расширения на заказ), СЕО-оптимизация, Сопровождение, Перенос на Joomla 4+ (5+) и JoomShopping 5+
*

Biss

  • Давно я тут
  • 995
  • 101 / 0
Re: Данные заказчиков для рассылки
« Ответ #51 : 25.07.2018, 15:37:10 »
Есть один нюанс. Номер заказа идет с нулями, а в экспорте в файле только последняя цифра (по скрину видно), может это и к лучшему. Там наверно нужно экранировать, не знаю...
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Где в БД записываются данные о главной картинке?

Автор Xlo

Ответов: 3
Просмотров: 610
Последний ответ 31.05.2018, 17:23:47
от dmitry_stas
Не отображается Код товара в админке, в заказе, рассылки уведомлений

Автор pruxlo

Ответов: 2
Просмотров: 1157
Последний ответ 15.02.2013, 11:23:56
от pruxlo