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

Modis

  • Захожу иногда
  • 153
  • 0 / 0
Я добавил в товар атрибут (пусть будет Key) - он обязательный при оформлении заказа.
Как мне теперь сделать, чтобы после оплаты для каждого товара генерировался ответный ключ? Типа ключ активации
 Я на сайте joomlashopping покупал модуль - там как-раз в письме присылается ключ. Вот мне нужно так-же, только желательно, чтобы он создавался на основе определенных данных (например: атрибут key+login+еще один атрибут) и чтобы я мог его расшифровать
 И очень желательно, чтобы эти ответные ключи хранились в личных данных пользователя!
*

Linfuby

  • Завсегдатай
  • 1242
  • 176 / 0
  • Всё просто...
Re: Регистрационный ключ продукта
« Ответ #1 : 30.08.2014, 19:02:18 »
Вот это запрос...
очень сомневаюсь, что Вы найдете тут ответы. Ответы есть скорее на форумах по защите информации.
А учитывая Ваш уровень знаний в PHP (По вопросу понятно, что Вы не профессионал), то Вам до этого уровня еще далеко.
Ведь нужно не просто добавить какие-то куски кода в определенные места. Нужно понимать что там происходит.
Немного воображения и логики, и любая проблема становится решенной.
Кривые решения - дают кривой результат!
Решения для JoomShopping
Благодарности и поддержка принимаются по след. реквизитам:
Яндекс.Деньги - 41001751720054
*

nevigen

  • Moderator
  • 10451
  • 863 / 25
  • http://n*****n.com
Re: Регистрационный ключ продукта
« Ответ #2 : 30.08.2014, 19:11:57 »
:)
даже затрудняюсь сформулировать ответ.
Профессиональные / Бесплатные решения для JoomShopping
Не лечи бесплатно, ибо тот, кто лечится бесплатно, рано или поздно перестает ценить свое здоровье,
а тот, кто лечит бесплатно, рано или поздно перестает ценить результаты своего труда/ (с) Гиппократ?
Не ищите ответов, ищите решение !
*

Modis

  • Захожу иногда
  • 153
  • 0 / 0
Re: Регистрационный ключ продукта
« Ответ #3 : 30.08.2014, 22:40:19 »
Ну и помощь (((
Я могу себе написать dll'ку, которая будет шифровать полученные данные. Тогда подскажите как ее прикрутить к сайту
*

nevigen

  • Moderator
  • 10451
  • 863 / 25
  • http://n*****n.com
Re: Регистрационный ключ продукта
« Ответ #4 : 30.08.2014, 22:46:19 »
нет, ну конечно Ваш вопрос напрямую связан с ЖШ.
возможно это поможет ?

больше сложно что либо сказать.

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

Modis

  • Захожу иногда
  • 153
  • 0 / 0
Re: Регистрационный ключ продукта
« Ответ #5 : 30.08.2014, 22:51:50 »
Неужели подобного никто не делал? Делал конечно! Неужели не информации как это или подобное сделать? Есть конечно! Просто нужно помочь ее найти
А советовать изучить php полностью... Ну не знаю - лучше тогда вообще ничего не советовать!
*

ELLE

  • Глобальный модератор
  • 4505
  • 893 / 0
Re: Регистрационный ключ продукта
« Ответ #6 : 30.08.2014, 22:57:58 »
Инструкцию вы вряд ли получите
Напишите, что конкретно вы попробовали сделать и что у вас не получилось.
*

Modis

  • Захожу иногда
  • 153
  • 0 / 0
Re: Регистрационный ключ продукта
« Ответ #7 : 30.08.2014, 23:02:03 »
Честно - я думал, что это есть в модуле магазина. Нету( Может есть какой модуль специальный? Или все же все вручную делать?
*

Fedor Vlasenko

  • Живу я здесь
  • 3845
  • 733 / 7
  • https://fedor-vlasenko.web.app
Re: Регистрационный ключ продукта
« Ответ #8 : 30.08.2014, 23:06:10 »
так я генерирую пароль
Код: php-brief
$options = [
                'cost' => 12,
                'salt' => mcrypt_create_iv(22, MCRYPT_DEV_URANDOM),
            ];
            echo password_hash("fedor", PASSWORD_BCRYPT, $options);
Функция password_verify проверяет правильность пароля
*

dmitry_stas

  • Легенда
  • 13151
  • 1234 / 8
Re: Регистрационный ключ продукта
« Ответ #9 : 30.08.2014, 23:06:26 »
Может есть какой модуль специальный? Или все же все вручную делать?

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

ELLE

  • Глобальный модератор
  • 4505
  • 893 / 0
Re: Регистрационный ключ продукта
« Ответ #10 : 30.08.2014, 23:06:41 »
Честно - я думал, что это есть в модуле магазина. Нету( Может есть какой модуль специальный? Или все же все вручную делать?
Этого в магазине нету, иначе любой, кто скачает свободно распространяемый компонент магазина, сможет также как и вы нагенерить ключей на все случаи жизни.

dmitry_stas опередил)
*

nevigen

  • Moderator
  • 10451
  • 863 / 25
  • http://n*****n.com
Re: Регистрационный ключ продукта
« Ответ #11 : 30.08.2014, 23:20:54 »
вопрос похож на ...
есть ли публичное решение по генерации ключей наподобие Мелкомягких :)

ну это сугубосубъективное решение.
для ЖШ нет ничего такого.
Генерацию ключей оганизовывайте как угодно.
можете просто на ходу добавлять тхт-файл с ключом к заказу.
Изучть полностью РНР никто не отправлял :) но Вы задали вопрос как свызать длл с сайтом.
Ответ только посредством PHP :)

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

Ссылка на полноразмерное (full) изображение продукта в каталоге (list_products)

Автор goga_pgasovav

Ответов: 8
Просмотров: 1058
Последний ответ 14.04.2020, 14:09:29
от goga_pgasovav
Мультиязычность в файлах продукта

Автор strange76

Ответов: 0
Просмотров: 967
Последний ответ 06.06.2018, 12:10:52
от strange76
Супер сниппет страницы продукта в Google

Автор Bozhkov2

Ответов: 35
Просмотров: 2732
Последний ответ 15.03.2016, 22:33:10
от dmitry_stas
Массовое изменение описания продукта

Автор pvi1

Ответов: 4
Просмотров: 1043
Последний ответ 29.07.2015, 18:46:55
от pvi1
Как узнать количество продаж конкретного продукта?

Автор djdim

Ответов: 5
Просмотров: 3105
Последний ответ 22.11.2014, 00:55:35
от nevigen