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

dmitry_stas

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

pvi1

  • Давно я тут
  • 566
  • 16 / 2
Ну, тут без вариантов - то, что мне надо было - никто не смог решить плагинами(аддонами) даже в коммерческом разделе. Кстати, именно это решение http://joomlaforum.ru/index.php/topic,291781.0.html
*

pvi1

  • Давно я тут
  • 566
  • 16 / 2
ну значит вам надо запаковать в zip только update.php и установить его как обновление ЖШ.
Спасибо, сделал. И все-таки - что происходит при этом действии?
*

dmitry_stas

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

pvi1

  • Давно я тут
  • 566
  • 16 / 2
выполняется код из update.php. выполняются запросы из update.sql. копируются папки (их вы из архива удалили, поэтому копироваться нечему) в корень сайта с заменой вложенных в них файлов. в принципе, все тоже самое можно и руками - выполнить руками код, выполнить руками запросы. но зачем?
т.е. если ручками - то файл update.php вообще не трогать?
*

dmitry_stas

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

pvi1

  • Давно я тут
  • 566
  • 16 / 2
если ручками, тоиз update.php

Все получилось. После апдейта на 3.19.0 никаких глюков пока не замечено. Xmap не обновлял, правда расширенные пункты меню от Linfuby не были установлены, а был установлен плагин от разработчиков Addon menu builder

Спасибо dmitry_stas за помощь -плюсую
*

dmitry_stas

  • Легенда
  • 13151
  • 1234 / 8
Xmap не обновлял

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

pvi1

  • Давно я тут
  • 566
  • 16 / 2
надо. пока меню создано по старому, все будет работать правильно. но вновь созданные пункты меню со старым плагином будут давать неверные ссылки. просто обновите плагин с сайта разработчиков ЖШ, они уже внесли нужные изменения в него.
Понял. Спасибо.
*

varan_2005

  • Новичок
  • 1
  • 0 / 0
ребят кто стыкался с подобным спасайте. обновился до jshopping v.3.20.1, версия Joomla 2.5.28.
"Заказы" не работают :( пишет  Fatal error: Call to undefined method JshoppingModelPayments::getListNamePaymens() in ........./www/administrator/components/com_jshopping/controllers/orders.php on line 94
*

dmitry_stas

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

kik84

  • Завсегдатай
  • 1350
  • 64 / 4
Обновляюсь поэтапно с 3.14.1 (до этого была еще более древняя версия)...
На 3.16.1→3.16.2 в адмике появился белый экран при входе в категории и товары, остальное без ошибок, с фронта все работает
На 3.18.0→3.18.1 уже по administrator/index.php?option=com_jshopping выдает белый экран, с фронта по-прежнему все работает
Куда копать?
Все плагины отключил - не помогает.

И подскажите, а что дает включение Отладки системы, если все равно консоли этой нет при белом?
*

nevigen

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

kik84

  • Завсегдатай
  • 1350
  • 64 / 4
ошибки включите чтобы посмотреть причину БЭ

http://joxi.ru/nAy9Gk0SGaZ7AZ
А на странице administrator/index.php?option=com_jshopping http://joxi.ru/YmENBJWh9BnJ26 и в консоли браузера пусто.
Инфы никакой нет, или я чего-то не знаю?)
*

dmitry_stas

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

kik84

  • Завсегдатай
  • 1350
  • 64 / 4
включите показ ошибок, а не отладку системы
Fatal error: Cannot redeclare getMainCurrencyCode() (previously declared in ...com_jshopping/lib/functions.php:132)
и Fatal error: Cannot redeclare getMainCurrencyCode() (previously declared in ...administrator/components/com_jshopping/functions.php on line 76

В коде эти строки:
Код
function getMainCurrencyCode(){
    $jshopConfig = JSFactory::getConfig();
    $currency = JTable::getInstance('currency', 'jshop');
    $currency->load($jshopConfig->mainCurrency);
return $currency->currency_code;
}
*

dmitry_stas

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

kik84

  • Завсегдатай
  • 1350
  • 64 / 4
что то у вас пошло не так. в ...com_jshopping/lib/functions.php не должно быть функции getMainCurrencyCode. откуда она там у вас? ваши правки?
Нет, сайт не я собирал.
*

kart072

  • Захожу иногда
  • 57
  • 2 / 0
Доброго времени суток.
Joomla 3.3.6 + JoomShopping 4.7.1
Всё отлично до обновления. После обновления  компонента на версию 4.7.0 (1) всё то, что выше описано. Разобрался. Спасибо за посты и темы. НО!
Старые пункты меню работают как надо, их и открывать не надо.
А вот при создании новых при нажимании на картинки самих категорий ссылка формируется нормально с алиасами меню, а при нажимании на сам пункт меню хвост.
Как от него избавится? Ссылку показываю...
http://www.v-tuning.com.ua/mazda/mx-3?layout=category
После обновления Jomshopping до версии 4.10.1 хвост отвалился. Проблема исчезла сама собой.
*

kart072

  • Захожу иногда
  • 57
  • 2 / 0
После обновления Jomshopping до версии 4.10.1 хвост отвалился. Проблема исчезла сама собой.

Обновлена Joomla до 3.5.0 + JoomShopping до 4.12.3
Опять та же проблема. В ссылках появились хвосты .../...?layout=category
*

dmitry_stas

  • Легенда
  • 13151
  • 1234 / 8
kart072, тема называется Обновление на 3.19.0 - проблемы и решения. скажите, как ваши посты с ней связаны?

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

victorantoniak

  • Moderator
  • 1579
  • 185 / 2
  • JoomShopping Team
Обновлена Joomla до 3.5.0 + JoomShopping до 4.12.3
Опять та же проблема. В ссылках появились хвосты .../...?layout=category
Универсальные товары - какой модуль вы используите?
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Установка и Обновление

Автор Beer

Ответов: 301
Просмотров: 50163
Последний ответ 28.08.2024, 09:15:12
от kit2m2
Обновление JoomShopping 3 до JoomShopping 4

Автор dmitry_stas

Ответов: 24
Просмотров: 9514
Последний ответ 16.09.2020, 11:43:57
от nevigen
А где обновление до версии 4.16.0 ?

Автор kit2m2

Ответов: 3
Просмотров: 3282
Последний ответ 25.01.2018, 23:40:05
от dmitry_stas
Обновление с 3.20 до 4.x вручную

Автор dron

Ответов: 3
Просмотров: 1262
Последний ответ 28.02.2017, 12:43:09
от nevigen
Обновление JS до версии 4

Автор Yargl

Ответов: 27
Просмотров: 2663
Последний ответ 10.02.2015, 22:51:56
от victorantoniak