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

ltdmercury

  • Осваиваюсь на форуме
  • 14
  • 0 / 0
Доброго времени суток!
Помогите, пожалуйста, советом.

Вопрос:
Возможно ли с помощью JoomShopping организовать продажу динамически формируемого контента, уникального для каждого покупателя?
И если "да", то какие модули или дополнения лучше подойдут для этой цели?


Исходные данные:
- контент - каталог инфо состоит из объектов
- каждый объект имеет характеристики
- у каждой характеристики есть ранг значимости для данного объекта

Необходимо следующее:
1 шаг:
фильтрация контента / каталога
или
заполнение формы типа теста / опросника / анкеты
2 шаг:
результат выводится в файл pdf, который недоступен для пользователя, но доступен админу
3 шаг
оплата пользователем результата вывода
4 шаг:
получение покупателем доступа к файлу pdf с результатом вывода - в личном кабинете на сайте либо по эл.почте


Заранее благодарю за помощь!
*

nevigen

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

ltdmercury

  • Осваиваюсь на форуме
  • 14
  • 0 / 0
Файл с контентом формируется по запросу любого пользователя - не важно, авторизован он или нет. Для решения этой задачи это не самое главное. Лучше, конечно, чтобы был кабинет, в котором покупатель может скачать файл с результатом выведенного контента.

Формируемый контент похож:
1) на вывод результатов обычного фильтра товаров по характеристикам или
2) на вывод результатов заполненного теста.

В JoomShoping можно сделать кабинет, каталог виртуальных товаров-объектов с характеристиками, сделать фильтр для этих объектов.
Но вот результаты фильтрации выводятся по запросу любого пользователя, а задача в том, чтобы результат фильтрации формировался в файл pdf или в крайнем случае, формировалась ссылка на результаты фильтрации, и доступен файл или ссылка должны быть только после оплаты покупателем.
*

Виталик

  • Завсегдатай
  • 1244
  • 130 / 0
*

kit2m2

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

ltdmercury

  • Осваиваюсь на форуме
  • 14
  • 0 / 0
Дополнение Sale content, насколько я понимаю, предназначено для продажи контента, одинакового для всех пользователей.

А задача заключается в том, чтобы продавать результаты фильтрации, т.е. товаром по сути является вывод итогов фильтрации.
Поскольку объектов в каталог и их характеристик/ параметров в фильтре будет много, комбинаций вывода результатов фильтрации непредсказуемо много, и у каждого покупателя выбранные в фильтре характеристики как правило будут всегда разные. Отсюда и формируется уникальный контент, неповторимый для каждого покупателя.
*

kit2m2

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

ltdmercury

  • Осваиваюсь на форуме
  • 14
  • 0 / 0
"...вывод итогов фильтрации" - это и есть в итоге товар, которому привязаны для фильтрации определенные характеристики. Как Вы хотите сделать его уникальным, если два покупателя выберут одинаковые наборы опций характеристик?

Вряд ли покупатели выберут одинаковые наборы характеристик, т.к. характеристик и их вариантов будет очень много. И совпадение выбора будет скорее редкое исключение.
*

kit2m2

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

ltdmercury

  • Осваиваюсь на форуме
  • 14
  • 0 / 0
если не секрет сколько планируете характеристик и их опций? Не запутается ли покупатель при выборе? Что все таки за товар такой?

Характеристик будет не меньше 20 (это как минимум), и опций у каждой от 5 (тоже как минимум).
Сколько комбинаций возможно при таком количестве?
Для каждой комбинации делать заранее pdf файл или страницу?

Покупатель в итоге должен получить то, что подходит ему больше всего из каталога.
А в каталоге могут быть любые объекты. Это зависит от спроса покупателей и идей продавца.
Сейчас очень много разнообразной информации в интернете, но разобраться в ней и сделать выбор достаточно сложно. Особенно в специфических сферах. И цель продажи итогов фильтрации направлена как раз на помощь тем, кто не может разобраться в какой-либо информации, не может определиться с выбором чего-либо.
*

kit2m2

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

dmitry_stas

  • Легенда
  • 13151
  • 1234 / 8
Характеристик будет не меньше 20 (это как минимум), и опций у каждой от 5 (тоже как минимум).
Сколько комбинаций возможно при таком количестве?
95 367 431 640 625 как минимум

Для каждой комбинации делать заранее pdf файл или страницу?
очень сомневаюсь, что это возможно :)

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

ltdmercury

  • Осваиваюсь на форуме
  • 14
  • 0 / 0
    То есть я выбрав в фильтре одну из 100 опций получу один товар?

судя по количеству возможных вариантов может быть даже ни одного

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

dmitry_stas

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

ltdmercury

  • Осваиваюсь на форуме
  • 14
  • 0 / 0
    Сколько комбинаций возможно при таком количестве?

95 367 431 640 625 как минимум

Не слишком ли много комбинаций получилось?
По формуле подсчета сочетаний комбинаций получается 15 504 сочетаний.
*

dmitry_stas

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

ltdmercury

  • Осваиваюсь на форуме
  • 14
  • 0 / 0
я не знаю какую формулу вы используете, по моей получилось столько :) а по вашей формуле сколько получается комбинаций, если будет скажем 3 характеристики по 4 варианта в каждой?

Возможно, я неправильную формулу применяю (первый попавшийся в интернете калькулятор сочетаний), но делать страницы для каждой комбинации выбранных вариантов - это, конечно, не реально долго.

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

kit2m2

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

ltdmercury

  • Осваиваюсь на форуме
  • 14
  • 0 / 0
JoomShopping тут точно не поможет. Товары в нем создаются не динамически, а физически. Поэтому нужно делать форму с полями выбора и в зависимости от выбора генерировать результат.

А с помощью JoomShopping можно продавать результаты тестирования или результаты заполненной формы?
*

dmitry_stas

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

robert

  • Живу я здесь
  • 4974
  • 457 / 20
Не слишком ли много комбинаций получилось?
IMHO, слишком много :) - как-никак 520.
готовых таких расширений нет из-за специфичности, но можно сделать
То есть, потратиться вам не избежать.
Не будь паразитом, сделай что-нибудь самостоятельно!
*

ltdmercury

  • Осваиваюсь на форуме
  • 14
  • 0 / 0
готовых таких расширений нет из-за специфичности, но можно сделать

А сколько будет стоить плагин, который будет создавать PDF с результатами фильтра, и чтобы этот pdf файл был доступен  покупателю только после оплаты?
Можно в личку скинуть ваши предложения?
*

dmitry_stas

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

kern.USR

  • Давно я тут
  • 827
  • 68 / 1
Мне тут на ночь глядя мысль в голову стукнула. А зачем тут вообще нужен же. Можно все разрулить стандартным менеджером материалов + доп поля + компонент-конструктор форм!

Делаем материалы с доп полями. Потом создаём форму, в которой Алиас инпута соответствует алиасу доп поля. Потом пользователь отправляет форму и она пишется в базу. Таким образом мы имеем запись в паре «алиас»: «требуемое значение»
Далее, в личный кабинет пользователя выводим модуль с оплатой, например робокасса. Пользователь оплачивает и на робокассу передаём ид формы, за которую заплатил пользователь. Дальше, робокасса отправляет положительный ответ на сайт. Вместе с ответом отправим и тд формы. В коде страницы, на которую ответила робокасса получаем ид формы, дергаем ее из базы и, на основании строим запрос к базе, с джоинами и условиями по доп полям. В итоге получаем список материалов, отфильтрованных по результатам формы. Теперь дело за малым. Нужно все это добро отрендерить в pdf и в кабинет вывести ссылку на скачивание. Дополнительно, отрендеренный файл отдавать только средствами php а в базе хранить связку ид пользователя и название сформированного файла.
Стандартным функционалом такое не решить, но кастомная связка достаточно просто реализуется
*

ltdmercury

  • Осваиваюсь на форуме
  • 14
  • 0 / 0
А зачем тут вообще нужен же. Можно все разрулить стандартным менеджером материалов + доп поля + компонент-конструктор форм!

Да, я об этом уже думала, даже компоненты подобрала (менеджер материалов + фильтр по доп.полям к нему + конструктор форм, формирующий pdf).
Но хотелось узнать, существует ли решение для JoomShopping (нравится он мне  ;)).
И еще я в раздумьях, какой вариант менее затратный по времени.
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться