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

nevigen

  • Легенда
  • 10451
  • 863 / 25
  • http://n*****n.com
Расширение: Модуль комплексного расчета стоимости доставки Multiship




При расчете стоимости доставки используются службы:
Почта России, СДЭК, Boxberry, QIWI Post, B2Cpl, Maxima-Express, Axiomus, Курьер Сервис Экспресс, PickPoint

Стоимость $50.00
Лицензия на домен
Zend/IonCube не используются.

ПРИОБРЕСТИ
Профессиональные / Бесплатные решения для JoomShopping
Не лечи бесплатно, ибо тот, кто лечится бесплатно, рано или поздно перестает ценить свое здоровье,
а тот, кто лечит бесплатно, рано или поздно перестает ценить результаты своего труда/ (с) Гиппократ?
Не ищите ответов, ищите решение !
*

a_tsvetkov

  • Осваиваюсь на форуме
  • 44
  • 3 / 0
Доброго времени суток.
Немного пробежался по API мультишипа.
Конечно, если все это реализовать в аддоне (синхронизация заказов, отправка в службу доставки и т.п.), то получиться кране удобная вещь, решающая проблемы доставки на корню.
Nevigen, что планируется реализовать? Особенно интересует синхронизация заказов.
*

nevigen

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

tiktakus-ru

  • Новичок
  • 6
  • 0 / 0
Посмотрел демо, появился вопрос.
Выбираю курьерскую службу, нажимаю кнопку "Оформить заказ", заказ завершен. А адрес самовывоза выбрать где? Или это в демо отключено, а в обычной версии будет?
Еще вопрос - можно ли эту доставку поставить на стандартную корзину или она работает только с вашим OneStepCheckout PRO?
*

dmitry_stas

  • Легенда
  • 13151
  • 1234 / 8
Или это в демо отключено, а в обычной версии будет?
на демо есть все, что есть в текущем релизе.

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

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

tiktakus-ru

  • Новичок
  • 6
  • 0 / 0
на демо есть все, что есть в текущем релизе.
точно там же, где и для других вариантов доставки - в полях адреса.

Не вижу где эти поля адреса. У вас на странице заказа есть нумерованные блоки-этапы заказа, в каком блоке выбирается адрес?
Работает только PickPoint - при нажатии на него появляется окно, где можно выбрать пункт выдачи.
При нажатии на другие курьерские службы ничего не происходит. А в родном Мультишипе выскакивает окно, где собраны все адреса всех служб в конкретном городе.
Вот поэтому и не понял.
*

dmitry_stas

  • Легенда
  • 13151
  • 1234 / 8
адрес - в блоке адреса. шаг 1. пикпоинт имеет собственную выборку, предоставленную самим сервисом пикпоинт. остальные - нет. клиент должен сам задать нужный адрес, как это происходит при всех других способах доставок.

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

tiktakus-ru

  • Новичок
  • 6
  • 0 / 0
Родной Мультишип - API (что-то вроде этого) Мультишипа, для интеграции магазина с Мультишипом. Вот если использовать их метод интеграции, то выбор адреса происходит так же, как у вас с PickPoint.
Их метод мне нравится, но есть одна проблема с адресом, о которой я писал тут - http://joomlaforum.ru/index.php/topic,218567.msg1476230.html#msg1476230

Если кому интересно будет посмотреть на Мультишип, можно посмотреть тут (подопытный сайт) - http://timer.chabaev.tmweb.ru/

адрес - в блоке адреса. шаг 1. пикпоинт имеет собственную выборку, предоставленную самим сервисом пикпоинт. остальные - нет. клиент должен сам задать нужный адрес, как это происходит при всех других способах доставок.

А как я сам могу задать адрес пункта самовывоза, например, Boxberry? Откуда мне их знать? Должен же быть список адресов пунктов выдачи.

Еще заметил неполадку:
В шаге 1, при заполнении поля город выпадает список городов. Я пишу "Мос" - появляется список "Мосальск", "Москва"... Тыкаю в Москву - в поле остается только введенный мной "Мос". Щелкаю опять в поле "Город" и в выпавшем списке повторно тыкаю в Москву - в поле появляется Москва. Т.е. срабатывает со второго раза. Проверял несколько раз на нескольких городах.
*

dmitry_stas

  • Легенда
  • 13151
  • 1234 / 8
Их метод мне нравится, но есть одна проблема с адресом

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

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

tiktakus-ru

  • Новичок
  • 6
  • 0 / 0
Да, проблем у них хватает. Поэтому и ищу как бы от них избавиться.

что такое Доставка Multiship и почему если она выбрана, то я не могу пройти шаг дальше, и надо кликать по уже выбранному методу доставки.

"Доставка Multiship" - это можно переименовать. Остальное мне тоже не нравится. Точнее так - мне нравится всплывающее окно, в котором можно выбрать адрес на карте, а остальное не очень.

вполне вероятно что по результатам этих переговоров получится найти решение с визуальным выбором адреса.

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

но элементарно не могу повторить проблему :) ни разу у меня она не возникла.

Может от браузера зависит? У меня Яндекс.Браузер.
*

a_tsvetkov

  • Осваиваюсь на форуме
  • 44
  • 3 / 0
Цитировать
не могу повторить проблему Azn ни разу у меня она не возникла.
От браузера это не зависит, пробовал chrome и Firefox.
Проблему можно воспроизвести так (в связке с Onestepcheckout)
В настройках Onestepcheckout в элементах обновления формы прописываем sity,
Пробуем вводить в поле "город" Моск.. в общем все тоже самое что в посте выше.
Если все стереть то проблема повториться.
В блоке доставки появляется надпись "Ошибка при формировании XML" причем настройка "Скрывать неактивный" на эту надпись не влияет.
Посмотрите на сайте nevigen.com тоже самое.
Кстати без Onestepcheckout все нормально.
Рискну предположить что может быть связано со слишком быстрым срабатыванием обновления полей в Onestepcheckout.
А так аддон очень нужный для тех кто пользуется Multiship, но глубину интеграции нужно наращивать.
« Последнее редактирование: 24.07.2014, 01:00:24 от a_tsvetkov »
*

tiktakus-ru

  • Новичок
  • 6
  • 0 / 0
А можно посмотреть как работает модуль где-нибудь на настоящем сайте? Интересно как люди с адресами пунктов самовывоза поступают.
*

a_tsvetkov

  • Осваиваюсь на форуме
  • 44
  • 3 / 0
Случайно заметил, что нечто (видимо pickpoint) пихает в шапку экземпляр jQuery 4.2 Это норма?
*

dmitry_stas

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

a_tsvetkov

  • Осваиваюсь на форуме
  • 44
  • 3 / 0
А что же это тогда? И главное зачем? Одного jQuery мало?
*

dmitry_stas

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

nevigen

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

a_tsvetkov

  • Осваиваюсь на форуме
  • 44
  • 3 / 0
Доброе время суток. Что-то обновления не видать. Nevigen, подскажите что с обновлением.
*

nevigen

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

a_tsvetkov

  • Осваиваюсь на форуме
  • 44
  • 3 / 0
Замечательно, а то я хотел уже мультишиповскую корзину временно прикручивать.
*

dmitry_stas

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

a_tsvetkov

  • Осваиваюсь на форуме
  • 44
  • 3 / 0
Как все быстро меняется в этой жизни.
Был мультишип, нет мультишипа, вернее он есть только теперь без Яндекса.
Платформа, вроде бы остается у Яндекса и как будет работать мультишип непонятно.
На форуме пишут что новых договоров они не заключают.
Будем надеяться что сервис на пропадет.
*

dmitry_stas

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

nevigen

  • Легенда
  • 10451
  • 863 / 25
  • http://n*****n.com
жесть...
представляю как магазины провисли...
а связь с яндексом придавала веса конечно сервису...

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

a_tsvetkov

  • Осваиваюсь на форуме
  • 44
  • 3 / 0
Однозначно ждать.
Яндекс вложил в платформу лимон баксов. Думаю найдет что с ней делать.
Чем заменить то?
*

nevigen

  • Легенда
  • 10451
  • 863 / 25
  • http://n*****n.com
Ну что официально умерли
Спойлер
[свернуть]
так что обновление будет только после реинкарнации.
надеюсь Яндекс не будет тянуть с этим.
Профессиональные / Бесплатные решения для JoomShopping
Не лечи бесплатно, ибо тот, кто лечится бесплатно, рано или поздно перестает ценить свое здоровье,
а тот, кто лечит бесплатно, рано или поздно перестает ценить результаты своего труда/ (с) Гиппократ?
Не ищите ответов, ищите решение !
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

SM WT Cdek аддон доставки для JoomShopping

Автор sergeytolkachyov

Ответов: 10
Просмотров: 7885
Последний ответ 22.09.2025, 12:08:38
от sergeytolkachyov
WT SM Otpravka.pochta.ru интеграция и расчет доставки Почтой России для бизнеса

Автор sergeytolkachyov

Ответов: 6
Просмотров: 3378
Последний ответ 25.02.2025, 11:25:44
от sergeytolkachyov
Доставка СДЭК

Автор phpJS

Ответов: 55
Просмотров: 15308
Последний ответ 18.06.2023, 19:13:14
от kit2m2
[Доставка] Доставка СДЭК с выбором ПВЗ и тарифов для JoomShopping

Автор nevigen

Ответов: 35
Просмотров: 10113
Последний ответ 16.06.2023, 15:10:05
от kit2m2
WT SM Ozon Rocket способ доставки для JoomShopping

Автор sergeytolkachyov

Ответов: 10
Просмотров: 4580
Последний ответ 13.07.2022, 10:10:56
от sergeytolkachyov