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

dron

  • Завсегдатай
  • 1581
  • 16 / 10
Всем привет.

Подскажите, пожалуйста... Стоит задача отправлять товары из Китая. Принимать оплату через PayPal. Есть таблица со стоимостью доставки из Китая в разные страны. В таблице указаны страны, стоимость и время доставки. Как сделать полноценную продажу в разные страны? Чтобы клиент нажимал Купить, выбирал свою страну, к стоимости прибавлялась стоимость доставки, отображались сроки доставки, и клиент оплачивал все это.

Если честно, я чета никак не соображу, как реализовать это (((

Заранее спасибо
*

dmitry_stas

  • Легенда
  • 13151
  • 1234 / 8
Re: Доставка из Китая по всему миру
« Ответ #1 : 08.04.2019, 15:26:13 »
1. создаете Способ доставки
2. для этого способа создаете Цену на доставку, там выбираете страну (или несколько стран), задаете стоимость.
3. повторяете п.2 столько раз, сколько нужно
Тут дарят бакс просто за регистрацию! Успей получить!
Все советы на форуме раздаю бесплатно, то есть даром. Индивидуально бесплатно консультирую только по вопросам стоимости индивидуальных консультаций
*

dron

  • Завсегдатай
  • 1581
  • 16 / 10
Re: Доставка из Китая по всему миру
« Ответ #2 : 08.04.2019, 15:49:26 »
1. создаете Способ доставки
2. для этого способа создаете Цену на доставку, там выбираете страну (или несколько стран), задаете стоимость.
3. повторяете п.2 столько раз, сколько нужно
Благодарю, сейчас попробую.
*

dron

  • Завсегдатай
  • 1581
  • 16 / 10
Re: Доставка из Китая по всему миру
« Ответ #3 : 08.04.2019, 17:07:30 »
Блин. Выбираю страны для метода доставки, получаю: Error by saving into database
Вместо 3х стран добавилась лишь одна, а Delivery time и Price вообще не добавились (((
Куда копать, подскажите, пожалуйста?  :(

*

dmitry_stas

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

dron

  • Завсегдатай
  • 1581
  • 16 / 10
Re: Доставка из Китая по всему миру
« Ответ #5 : 08.04.2019, 17:14:38 »
Блин, кажется я знаю в чем причина.... При переносе (пару лет назад) с этим сайтом были проблемы с AUTO_INCREMENT... Но тогда я только материалы добавлял. Для 2-3 таблиц задал его и все. А теперь, видимо, такая же проблема уже с магазином.... Черт... А как понять, в каких таблицах и где должен стоять AUTO_INCREMENT?
*

sivers

  • Живу я здесь
  • 2593
  • 360 / 0
Re: Доставка из Китая по всему миру
« Ответ #6 : 08.04.2019, 17:50:33 »
А как понять, в каких таблицах и где должен стоять AUTO_INCREMENT?
Обычно первое поле в таблице с именем `id` должно быть автоинкрементным. При этом оно должно являться первичным ключом (PRIMARY KEY), если заглянете в структуру таблицы - индексы.
На связи в telegram @sivers
sivers @ inbox . ru
https://sivers.su/
*

dmitry_stas

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

dron

  • Завсегдатай
  • 1581
  • 16 / 10
Re: Доставка из Китая по всему миру
« Ответ #8 : 08.04.2019, 18:03:29 »
Блин, там, конечно задница (((( Много этих значений + в разных таблицах различные значения с ключиком... Как понять, у кого из них должен быть AUTO_INCREMENT, а у кого нет?!  :'(

*

dmitry_stas

  • Легенда
  • 13151
  • 1234 / 8
Re: Доставка из Китая по всему миру
« Ответ #9 : 08.04.2019, 18:18:38 »
AUTO_INCREMENT в таблице 1 всего лишь может быть, как правило это первый столбец. поставьте сначала аддон проверки таблиц, возможно он все сделает автоматом
Тут дарят бакс просто за регистрацию! Успей получить!
Все советы на форуме раздаю бесплатно, то есть даром. Индивидуально бесплатно консультирую только по вопросам стоимости индивидуальных консультаций
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Доставка с выпадающим списком

Автор Sanyo

Ответов: 1
Просмотров: 1139
Последний ответ 22.08.2016, 11:52:06
от nevigen
Бесплатная доставка по предоплате

Автор -sdr-

Ответов: 4
Просмотров: 1294
Последний ответ 07.11.2014, 19:26:53
от -sdr-
Доставка или самовывоз

Автор dron

Ответов: 0
Просмотров: 1169
Последний ответ 15.03.2013, 22:34:05
от dron