Готовые решения

Увечиличаем скорость синхронизации 1С с minishop2 в 3-5 раз. mSklad/mSync

Не давно обнаружил что во время синхронизации с 1С, есть возможность указать 1С-ке: упаковать в архив все файлы выгрузки и отправить на сервер.

Из-за того что 1С отправляет import.xml, offers.xml и изображения по одному файлу, синхронизация с сайтом довольно надолго затягивается.

К примеру: если у вас 1000 изображений (а время на отправку изображения минимум 1-2 секунды) то нетрудно подсчитать что в итоге ваша загрузка займет минимум 16 минут, это только на отправку файлов на сервер не считая самой обработки файлов.

Эта небольшая доработка класса, скажет 1С отправлять файлы в архиве со всеми данными целиком.
После чего архив будет слаться частями (размер архива указывается в file_limit).
Допустим что интернет у нас слабенький и укажим чтобы часть архива была максимум 10мб.

Внимание!!! Этот метод использовался для синхронизации через mSklad, так что ваш класс может чем то отличатся. Не советую пробовать на боевом сайте.
Андрей Степаненко
01 апреля 2019, 13:45
modx.pro
6
1 455
+10

Подмена пути источника файлов в текстовом редакторе

Суть проблемы. Сделал сайт, а далее клиенту нужно его наполнять, добавлять фото к статьям в редакторе. Всё бы хорошо, но когда источник файлов один единственный, то с ростом количества ресурсов, становится всё сложнее ориентироваться в папках с фотографиями. Люди начинают путаться, а ещё хуже переименовывать или перемещать уже созданные, случайно удалят, или пишут русскими буквами имена папок… Куча времени тратится на объяснение как надо работать с файловым менеджером.

Хорошо бы было, чтобы при нажатии на кнопку выбора фото (в редакторе), сразу открывалась папка конкретного ресурса, допустим, путь assets/manager/resources/id ресурса/.

Перерыл всё что можно по этой теме, так и не нашёл решения. Публикую неидеальное, но решение)

Николай
25 марта 2019, 15:13
modx.pro
2
1 531
+4

Избавляемся от ошибки «modAction support is deprecated» в старых пакетах

Если у вас есть дополнение, которое вы делали ещё на первой версии modExtra, то при его установке сейчас вы будете видеть такое сообщение об ошибке:

modAction support is deprecated since version 2.3.0.
Support for modAction has been replaced with routing based
on a namespace and action name. Please update the extra
with the namespace simpleupdater to the routing based system.

Исправить её не сложно, но раньше всё не доходили руки.
Илья Уткин
25 марта 2019, 11:43
modx.pro
11
9 570
+13

Автоматическая смена версии стилей при очистке кэша в MODX

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

К слову, пока писал этот пост, в телеграм канале как раз подняли эту тему. :-)
iWatchYouFromAfar
25 марта 2019, 10:33
modx.pro
10
2 277
+7

Генерация превью в формате webp для miniShop2

С приходом поддержки webp в MODX участились вопросы о возможности генерации превью товаров miniShop2 в этом формате. По началу казалось что все должно работать из коробки, но на практике этого нет.
Причиной оказалось отсутствие расширения webp в источнике файлов MS2 и в двух системных настройках ('upload_files','upload_images').
PG
PG
14 марта 2019, 06:57
modx.pro
16
4 014
+11

[Решено] Как подцепить редактор Ace к полю во всплывающем окне MIGX?

Как добавить Ace к обычным полям ресурса типа introtext, description, или TV-полям, я знаю. Но возникла необходимость сделать это для textarea-полей во всплывающем окне MIGX. Ситуация осложняется тем, что код окна подгружается аяксом… Кто-нибудь знает как это можно сделать, хотя бы примерно?

Николай
03 марта 2019, 01:24
modx.pro
17
2 402
+6

[mFilter2] Вывод товаров со смежными значениями

Небольшая заготовка из вчерашнего рукоделия.

Имеем сайт с подбором товаров по характеристикам, реализованным на mFilter2.
Один из параметров «Мощность активная» выглядит так (увеличение по клику):


Как видно, есть большое разнообразие товаров с близкими значениями мощностей, но общее количество товаров не столь велико.
Это приводит к тому, что когда посетитель выбирает, к примеру, мощность 10 кВт, то он видит 1 товар в результатах подбора. А специфика продукции такова, что логично предложить пользователю аналогичные изделия как с чуть меньшей мощностью, например 9 кВт, так и с большей, до 12-15 кВт.

Нет, конечно можно сказать, что пусть нащелкает нужные цифры в подборе, но всегда есть «но». На страницу «Товары с мощностью 10 кВт» (где уже стоит галочка в фильтре) пользователь приходит из поисковых систем, фильтра он не видел и не нажимал. Если на странице будет 1 товар, пользователь может быстро уйти, решив, что мы предлагаем крайне скудный ассортимент, так и не увидев, что есть фильтр.

В общем, небольшая зарисовка на тему того, как при выборе в фильтре параметра со значением 10, показать все товары в диапазоне -x%....+y%.

Наумов Алексей
26 февраля 2019, 10:29
modx.pro
15
1 174
+10

Оплата заказа miniShop2 без перехода на страницу платёжки

Порой клиенту приходит в голову навязчивая идея ни в коем случае никуда не перенаправлять со своего сайта. И даже чтобы оплатить заказ — ни на какую платёжку не уходить, оставаться на сайте. При этом, денег, чтобы заплатить за разработку интерфейса приёма карт прямо на сайте, у него нет:) Именно по этому поводу и был изобретён этот костыль.
mngatoff
20 февраля 2019, 14:56
modx.pro
23
1 693
+16

SMSC.ru хук

Всем привет, хотела запостить в modstore, но там уже есть похожие платные дополнения.
Хук для FormIt, который отправляет SMS.
Нужно добавить _smschook_ в _hooks_ вызова сниппета (перед mail). В системных настройках Formit указать ключи:

  • Логин — [[++smschook_login]]
  • Пароль — [[++smschook_password]]
  • Телефоны — [[++smschook_phones]] в формате КОД СТРАНЫ + НОМЕР ТЕЛЕФОНА (без +), можно указать несколько через запятую
  • smschook_tpl — чанк по аналогии чанка для писем
  • smschook_phones — сюда можно передать телефоны
Пример вызова:
{'!AjaxForm' | snippet : [
     'form' => 'tpl.AjaxForm.example',
    'emailTpl' => 'contactEmailTpl',
    'hooks' => 'smschook,email',
    'emailFrom' => $_modx->config.emailsender,
    'emailFromName' => $_modx->config.site_name,
    'emailSubject' => 'Сообщение с сайта' ~ $_modx->config.site_name,
    'emailTo' => $_modx->config.emailsender,
    'validate' => 'name:equired',
     'smschook_tpl' => 'smscTpl',
]}
yani
13 февраля 2019, 21:46
modx.pro
23
1 612
+26

Хватить это терпеть! Или зачем столько чанков в FormIt!?

Привет сообществу!

Небольшая хитрость которая поможет новичкам избавиться от множества чанков/файлов писем с сайта и реализовать их в одном чанке/файле. Кроме этого пару слов о том, что происходит с MODX в конце заметки.

Предисловие:

Пару месяцев назад в чате был небольшой джентльменский спор между Павлом Зарубином и Евгением на тему «Так ли хорош FormIt?». В этом споре, я разместился где-то посередине так как я вижу и плюсы и минусы данного компонента. Эта заметка об одном из минусов, ну и конечно же решение.

Баха Волков
11 февраля 2019, 14:56
modx.pro
31
4 325
+24