Артем

Артем

С нами с 15 октября 2017; Место в рейтинге пользователей: #167

Как написать модуль оплаты для Minishop2

Привет всем :). Я не с первого раза разобрался как написать модуль оплаты для Minishop2. Поэтому решил сделать небольшую инструкцию. Не во всем правда разобрался, но надеюсь в комментариях подскажут.
Александр Туниеков
08 апреля 2018, 23:44
modx.pro
10
4 365
+7

Работа с MODX из IDE без админки

Привет друзья!

Прямо сейчас проходит MODXpo 2017 и я хочу поделиться с вами своим, только что показанным, докладом.
Идея в том, чтобы разрабатывать сайты без логина в админку, прямо из PhpStorm.



Я предлагаю делать это через свой пакет, который установит нужные ресурсы, настройки, шаблоны и вообще что угодно. Это не для разработки дополнений, это для разработки сайтов.
Василий Наумкин
11 ноября 2017, 12:15
modx.pro
70
8 794
+30

[msFavorites] - только для авторизованных юзеров

Иногда необходимо ограничить функционал избранного и разрешить его только для авторизованных пользователей. Под катом плагин для решения этого вопроса.
Володя
19 октября 2017, 08:58
modx.pro
7
1 870
+11

mFilter2 и оптимизация скорости на 7k товарах


Всем, кто хоть раз пытался завести mFilter2 на большом кол-ве товаров и хотя-бы 10 опциях в фильтре, известно, что тормозов не избежать. Вот и мне попался на днях сайт, в котором, казалось бы, всего-то 7000 товаров и 10 опций на странице каталога. Однако сниппет фильтра отрабатывал за 3-4 секунды. Переписал на Fenom — стал отрабатывать за 2-3 секунды.
Не годится! Тем более, что у заказчика было требование: «Чтобы сайтом было комфортно пользоваться». Что-ж, взял задачу — надо решать!

Дебаг показал, что проблема в методе mse2FiltersHandler::getMsOptionValues, а именно в запросе (7k товаров!), который выглядит как-то так:
SELECT `product_id`, `key`, `value` FROM `modx_ms2_product_options` AS `msProductOption` 
WHERE (`msProductOption`.`product_id` IN (3394,3408,еще 7 тысяч ID)
AND `msProductOption`.`key` IN ('atr_n1','atr_n6','atr_n5','atr_n12','atr_n43','atr_n46','atr_n29','atr_n11','atr_n44','atr_n2'))
Павел Гвоздь
14 августа 2017, 14:14
modx.pro
41
4 892
+21

Исходники webstartpage.ru

Привет, друзья.

Я подумал и решил, что выложить всем на обозрение исходники моего последнего проекта может быть весьма полезно. Так что вот они, держите.

Сайт отличается использованием файловых элементов и сборкой скриптов\стилей через Gulp. Если вы давно хотели узнать, как разрабатывают сайты MODX из PhpStorm — вот ваш шанс!

Для начала нужно установить pdoTools и HybridAuth. Затем нужно выгрузить исходники Startpage.
Внимание, работать только на чистом сайте! На рабочих проектах эксперементировать не нужно.
Василий Наумкин
18 мая 2017, 07:57
modx.pro
29
4 498
+28

modNodejs - Интеграция Nodejs в MODx

Всем доброе утро. Сегодня представляю на всеобщее обозрение компонент над которым я потел последние несколько дней.

Заголовок говорит сам за себя, это интеграция Nodejs в MODx.
Так зачем он нужен? Для realtime! Как сказал Николай: «технологии диктуют».

Простейший пример: в minishop2 поступил заказ, а менеджер гуляет по админке\сайту, вот что он увидит:

Без перезагрузки страницы и тд, можно выполнить любой js по наступлению эвента.
but1head
21 января 2017, 03:11
modx.pro
22
12 760
+27

Загрузка заказов ms2, Tikets на стартовой странице

При сравнении «специализированных» cms для интернет магазинов и minishop заметил общую тенденцию у первых выводить при входе в админку список заказов. После недолгой переписки с замечательным исполнителем Павлом Гвоздем возникло такое замечательное и гениальное по простоте решение:
заходим в настройки системы, далее в фильтре по ключу отыскиваем 2 значения:
1. welcome_action меняем с welcome на mgr/orders
2. welcome_namespace с core на minishop2
и вуаля на чистом клиенте отображается список заказов, очень удобно
Здоров Александр
11 октября 2016, 20:28
modx.pro
66
5 885
+27

Добавление своих полей в форму заказа [обновлено]

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

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

Решалось это следующим образом:
1. Добавлялись необходимые поля, для примера взяты тип плательщика, название организации и инн.
2. Добавлялся плагин срабатывающий при сохранении заказа и при подключении js минишопа в админке.
3. Редактировались настройки и записи словарей.

Более подробно далее
Дмитрий Меркурьев
11 октября 2016, 16:38
modx.pro
97
19 973
+11

MIGX getImageList и Fenom

Есть такой вызов
{$_modx->runSnippet('!getImageList', [
	'tvname' => 'tv_product_main_gallery',
	'tpl' => '@CODE: <some_chunk>'
])}


По поводу @CODE и fenom, — работает феном в чанке относительно самого ресурса. То есть, когда я делаю так
'tpl' => '@CODE: [[+image]]'
Работает.

Когда я пишу
'tpl' => '@CODE: {$image}'
То не работает.

Когда я пишу
'tpl' => '@CODE: {$_modx->resource.myMIGXtv}'

То работает, получаю содержимое переменной. Весь массив значений.

Вопрос, как использовать феном, чтобы не писать свой парсер переменной и не использовать классический вызов через квадратные скобки, а воспользоваться {$image}?
Paul B.
07 июня 2016, 13:54
modx.pro
18
12 869
0

CRON. Забивается журнал ошибок и "слетает" сайт.

Приветствую.

Раз в минуту CRON долбит сниппет, который ищет в пользовательской таблице запись со значением status = 0. Такая запись появляется примерно 10/15 раз в день.

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

[2016-05-31 11:03:59] (ERROR @ /index.php) Error caching script elements/modsnippet/69
[2016-05-31 11:04:02] (ERROR @ /index.php) Error caching script elements/modsnippet/173
[2016-05-31 11:04:02] (ERROR @ /index.php) Error caching script elements/modsnippet/72
[2016-05-31 11:04:02] (ERROR @ /index.php) Error caching script elements/modsnippet/69
Александр
31 мая 2016, 08:23
modx.pro
1
1 811
0