Sphinx

Sphinx

С нами с 12 января 2015; Место в рейтинге пользователей: #351

Вывод карточек товара магазина в статьях на сайте

Несколько недель назад от заказчика поступила такая хотелка — надо чтоб в статьи блога на сайте магазина можно было бы вставлять карточки товаров этого самого магазина. Обдумывал разные варианты, но в итоге, совместно с чатиком в телеграме пришел к такому решению:
  1. В статье в нужном месте менеджер делает конструкцию такого вида: %%34,45,54%%, где 34,45 и 54 — айди товаров в магазине, таких вхождений может быть хоть сколько в статье.
  2. На событие onWebPagePrerender вешается плагин, который с помощью регулярки выбирает все вхождения нашего паттерна, для каждого вхождения вызывает сниппет msProducts и последним шагом заменяет в контенте страницы паттерны соответствующими результатами сниппета.
Под катом код плагина:
Антон
19 августа 2019, 01:30
modx.pro
7
1 463
+7

Curl клиент modx

Встроенный curl клиент для отправки запросов на сторонние сервисы (RESTful и другие).
Так как все чаще используются сторонние сервисы в повседневной разработке сайтов, для этих целей в modx есть встроенный клиент, с помощью которого можно отправлять запросы:

/* @var modRest $client */
$client = $modx->getService('rest', 'rest.modRest');
$response = $client->get('GET запрос');
или
$response = $client->post('POST запрос');

// Обработка полученных данных в json или xml формате и преобразование их в массив
$array = $response->process();
В заметке перечислены способы работы с клиентом
Андрей Степаненко
12 августа 2019, 07:56
modx.pro
34
5 240
+39

Увечиличаем скорость синхронизации 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 703
+10

Избавляемся от ошибки «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
11 125
+13

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

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

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

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

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

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

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

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

Подпираем костылём EXIF

Школьная задачка.
Дано: есть вертикальная фотка в горизонтальном файле размером 2016х1512 и метаданными EXIF, куда её вращать.
Поведение: phpthumb фотку послушно поворачивает, но вот обрезку делает по исходному горизонтальному формату.
Найти: смысл жизни в форме правильно обрезанной фотки.

В исходниках phpthumb и премудростях $this->source_width, $this->source_height я не разобрался, поэтому решил задачу двухколесным другом — поворачиваю исходную фотку согласно EXIF перед тем как она попадет в phpthumb.

tolanych
29 января 2019, 21:25
modx.pro
5
1 751
+5

ExtJS Grid renderer доступ к гриду и тулбару

Всем привет!

Имеется вопрос по ExtJS Grid.
Наумов Алексей
25 января 2019, 14:31
modx.pro
1
1 772
0

Как вернуть старую кнопку "Уничтожить ресурсы" в MODX

Полезно для тех кого не устраивает менеджер для удаления ресурсов, начиная с версии 2.7:
Оказалось довольно просто: создаем плагин returnKilButton
И два события OnManagerPageBeforeRender и OnResourceToolbarLoad

Андрей Степаненко
10 января 2019, 09:37
modx.pro
1
1 697
+6

[miniShop2] Кнопка печати заказа из бек-энда


Часто приходится реализовывать максимально простую распечатку заказа из бек-энда для админов. Делается это в 3 простых и лёгких шага!
Павел Гвоздь
09 января 2019, 21:54
modx.pro
29
2 732
+24