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

Shad-777

  • Осваиваюсь на форуме
  • 39
  • 0 / 0
Синхронизация с 1С
« : 08.02.2019, 07:20:04 »
Добрый день! А кто-нибудь уже пытался подружить PhocaCart с 1С? Зачастую это главное требование, предъявляемое заказчиком к Интернет-магазину.
*

Support

  • Захожу иногда
  • 114
  • 1 / 2
-
« Ответ #1 : 08.02.2019, 10:55:13 »
-
« Последнее редактирование: 17.07.2019, 12:53:10 от Support »
*

Shad-777

  • Осваиваюсь на форуме
  • 39
  • 0 / 0
Re: Синхронизация с 1С
« Ответ #2 : 08.02.2019, 11:06:30 »
тот кто интегрировал 1c с магазином на Joomla, наверно купил после этого типа рендж ровер и на бюджетных форумах больше не сидит  ^-^
Ну почему вы так категоричны ) JoomShopping вон вполне успешно подружили с 1С, что же мешает подружить Phoca Cart? ) Другое дело, что Phoca Cart - компонент совсем свежий и не может похвастаться пока таким количеством расширений, как JoomShopping.
*

Support

  • Захожу иногда
  • 114
  • 1 / 2
-
« Ответ #3 : 08.02.2019, 11:10:12 »
-
« Последнее редактирование: 17.07.2019, 12:52:56 от Support »
*

Support

  • Захожу иногда
  • 114
  • 1 / 2
-
« Ответ #4 : 08.02.2019, 11:11:41 »
-
« Последнее редактирование: 17.07.2019, 12:52:40 от Support »
*

passer

  • Завсегдатай
  • 1013
  • 75 / 3
Re: Синхронизация с 1С
« Ответ #5 : 08.02.2019, 12:22:05 »
Технически это не очень сложно. 1С по событию отправляет POST на определенный URL магазина или другого расширения, там этот POST ловится и вносятся изменения в БД или еще куда. А вот отправка и содержимое POST зависит от разработчика 1С. Т.е. это не просто действие на сайте, это еще и действие в самой 1С. В общем без коннекта с разработчиком 1С не получится. Универсально сделать невозможно. Только для конкретного сайта и конкретной 1С.
*

Support

  • Захожу иногда
  • 114
  • 1 / 2
-
« Ответ #6 : 08.02.2019, 12:27:14 »
-
« Последнее редактирование: 17.07.2019, 12:52:27 от Support »
*

Fedor Vlasenko

  • Живу я здесь
  • 3845
  • 733 / 7
  • https://fedor-vlasenko.web.app
Re: Синхронизация с 1С
« Ответ #7 : 08.02.2019, 13:27:30 »
go скрипт стоит в планировщике, с определенным промежутком времени стучит на компонент синхронизации Joomla
получает запрос, формирует из него заказы в формате json
запускает внешнюю обработку 1С которая смотрит наличие в папки файлов json и создает на основе них новые заказы
ищет клиентов, если нет создает их, договора и ...
вроде все написал
писал сам  (go, 1C, php, mysql). Много времени уходит на тестирование и развертывание тестовой среды.
Приходится так-же себе ставить и 1С с конфигурацией и данными клиента.

рендж ровера нет, езжу на Vitara новой  ;D
*

zikkuratvk

  • Глобальный модератор
  • 4820
  • 345 / 2
  • Обслуживаем проекты - дорого.
Re: Синхронизация с 1С
« Ответ #8 : 08.02.2019, 19:23:30 »
В phoca есть возможность парсить XML :-) то есть если обработка будет выкладывать на ftp XML, то вообще можно без каких либо действий со стороны магазина обойтись.
Хочется уникальное расширение? ===>>>> JoomLine - Разрабатываем расширения под заказ.
Использую хостинг TimeWeb и Reg
*

Shad-777

  • Осваиваюсь на форуме
  • 39
  • 0 / 0
Re: Синхронизация с 1С
« Ответ #9 : 25.03.2019, 09:42:39 »
успешная интеграция JoomShopping в бесплатном варианте очень сомнительна, пришлите ссылку почитать, где пишут
Я не говорил, что вариант бесплатный ) Для своих проектов мы покупаем модуль интеграции тут - http://site-with-1c.ru/index.php/forum/tekushchie-relizy-i-opisanie-raboty-modulya-integratsii-dlya-joomshopping/46-vyshel-novyj-modul-integratsii-joomshopping-c-1c. Работает прекрасно и без танцев с бубном. Вот очень надеюсь, что что-нибудь в этом роде появится вскоре и на PhocaCart, потому что сам компонент получился очень приятным. Однозначно на голову выше JS и VM. Единственное, в чем проигрывает, это количество кастомных расширений, плагинов и т.д. от других разработчиков.
*

Support

  • Захожу иногда
  • 114
  • 1 / 2
-
« Ответ #10 : 25.03.2019, 09:55:50 »
-
« Последнее редактирование: 17.07.2019, 12:52:00 от Support »
*

Support

  • Захожу иногда
  • 114
  • 1 / 2
-
« Ответ #11 : 25.03.2019, 10:06:34 »
-
« Последнее редактирование: 17.07.2019, 12:52:11 от Support »
*

dmitry_stas

  • Легенда
  • 13151
  • 1234 / 8
Re: Синхронизация с 1С
« Ответ #12 : 25.03.2019, 10:50:49 »
Вот очень надеюсь, что что-нибудь в этом роде появится вскоре и на PhocaCart
не думаю

потому что сам компонент получился очень приятным. Однозначно на голову выше JS и VM.
нет. демка красивая, да. но для продакшна к сожалению абсолютно не приспособлено

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

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

Support

  • Захожу иногда
  • 114
  • 1 / 2
-
« Ответ #13 : 25.03.2019, 13:48:05 »
-
« Последнее редактирование: 17.07.2019, 12:53:35 от Support »
*

dmitry_stas

  • Легенда
  • 13151
  • 1234 / 8
Re: Синхронизация с 1С
« Ответ #14 : 25.03.2019, 14:28:02 »
так база данных получается одна и обмен данными получается не нужен
аа, в этом смысле... так а 1С-ка разве умеет со сторонней базой работать? по моему нет же? или там можно подключить не внутреннее хранилище, а внешнюю MySQL, и настроить соответствие полей? в противном случае это ж придется всю логику 1С-ки переписать, все журналы, отчеты и прочее. там от 1С-ки тогда по сути ничего не останется. не знаю даже есть ли смысл такого в магазине...
Тут дарят бакс просто за регистрацию! Успей получить!
Все советы на форуме раздаю бесплатно, то есть даром. Индивидуально бесплатно консультирую только по вопросам стоимости индивидуальных консультаций
*

Support

  • Захожу иногда
  • 114
  • 1 / 2
-
« Ответ #15 : 25.03.2019, 14:39:37 »
-
« Последнее редактирование: 17.07.2019, 12:51:39 от Support »
*

Support

  • Захожу иногда
  • 114
  • 1 / 2
-
« Ответ #16 : 25.03.2019, 14:42:19 »
-
« Последнее редактирование: 17.07.2019, 12:51:27 от Support »
*

dmitry_stas

  • Легенда
  • 13151
  • 1234 / 8
Re: Синхронизация с 1С
« Ответ #17 : 25.03.2019, 14:47:37 »
аа, вы про ВнешниеИсточникиДанных что ли? я думал хранение базы сделать в 1С-ке полностью в MySQL... не то. ВнешниеИсточникиДанных тоже очень спорный момент. тот же заказ, и изменение количества товара в интернет магазине - это 1С-ке что ли надо каждый раз проверять актуальное количество в базе магазина? описывать эту логику на стороне 1С-ки, запоминать последний заказ, время проверки, и прочее? не проще ли при наступлении события заказа в магазине просто оповестить об этом 1С?
Тут дарят бакс просто за регистрацию! Успей получить!
Все советы на форуме раздаю бесплатно, то есть даром. Индивидуально бесплатно консультирую только по вопросам стоимости индивидуальных консультаций
*

Support

  • Захожу иногда
  • 114
  • 1 / 2
-
« Ответ #18 : 25.03.2019, 15:09:55 »
-
« Последнее редактирование: 17.07.2019, 12:51:13 от Support »
*

dmitry_stas

  • Легенда
  • 13151
  • 1234 / 8
Re: Синхронизация с 1С
« Ответ #19 : 25.03.2019, 17:12:41 »
не так, просто запускается и идет работа с базой данных
дык... все таки первый вариант? так а что ж тогда просто останется от 1C-ки то? это ж полностью своя логика, там же кроме оболочки и окошек тогда ничего не останется :) зачем она тогда вообще? :) проще тогда сайт подпилить имхо, чтобы учет прям там можно было вести..
Тут дарят бакс просто за регистрацию! Успей получить!
Все советы на форуме раздаю бесплатно, то есть даром. Индивидуально бесплатно консультирую только по вопросам стоимости индивидуальных консультаций
*

Support

  • Захожу иногда
  • 114
  • 1 / 2
-
« Ответ #20 : 25.03.2019, 18:42:48 »
-
« Последнее редактирование: 17.07.2019, 12:51:01 от Support »
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться