man

man

С нами с 04 января 2016; Место в рейтинге пользователей: #208

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

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

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
34
3 458
+21

Шаблон сортировки для mFilter2

Здравствуйте, у меня в категории выводится сортировка вот в таком виде
<div class="sorting__cat sorting__cat-top" id="mse2_sort">

<a href="#" data-sort="resource|pagetitle" data-dir="[[+mse2_sort:is=``:then=`desc`]]"
 data-default="desc"
 class="sort" >Название <span></span></a>
 
<a href="#" data-sort="ms|price" data-dir="[[+mse2_sort:is=`ms|price`:then=`desc`]]" data-default="desc" class="sort">Цена <span></span></a>


</div>
Dolce
05 августа 2017, 12:53
modx.pro
8
3 990
0

Страницы - поддомены

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

Позволяет использовать обычные страницы в качестве поддоменов, примеры:

mysite.ru/test — Изначальный адрес.
test.mysite.ru — Новый адрес с поддоменом.

Также работает и с дочерними страницами, примеры:

mysite.ru/test/page.html — Изначальный адрес.
test.mysite.ru/page.html — Новый адрес с поддоменом.
Олег
18 июля 2017, 07:47
modx.pro
23
4 655
+10

Вставка копирайтов при копировании текста на сайте

Головная боль многих новостных сайтов — копирование оригинального текста и его использование на других сайтах.
В качестве официального решения проблемы — предлагается автоматическое добавление копирайтов при копировании текста в буфер обмена. Копирайт может содержать ссылку на сайт-источник, что дает дополнительное SEO преимущество.
Ниже я предлагаю найденное мною и немного оптимизированное решение этого вопроса.
Николай Савин
18 апреля 2017, 16:43
modx.pro
17
2 887
+7

Регистрация пользователя с суммой на счёте

Простенький скрипт, который пробегает по массиву email => name, регистрирует пользователя в системе и кладёт ему определённую сумму на внутренний счёт miniShop2.

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

Можно использовать для раздачи рекламных аккаунтов в магазинах.
Василий Наумкин
12 апреля 2017, 05:00
modx.pro
15
1 726
+12

mFilter2 Сортировка значений фильтров

Каким образов указывается сортировка в списках фильтров?

имеем
&filters=`
        parent:categories,
        ms|vendor:vendors,
        ms|price:number,
    `
Хотелось бы сортировать
parent:categories по menuindex
ms|vendor:vendors — по алфовиту

Документации не нашел :(

с Ценой благо слайдер справляется :)
Sergey Perepechin
06 апреля 2017, 13:14
modx.pro
5
3 117
0

Вариант определения мобильных устройств

Хочу поделиться своей практикой определения типа устройства, будь то мобильный гаджет или компьютер для тонкой настройки CSS и JS.

Сразу хочу уточнить, что данная заметка к MODX особенного отношения не имеет. Это просто JS и CSS, но надеюсь, что все таки будет полезна читателям.
Николай Савин
16 февраля 2017, 09:39
modx.pro
17
17 616
+9

Геозависимые скидки на продукт магазина

Возникла необходимость в скидках на продукт в зависимости от города покупателя.
Ниже краткая инструкция как это реализовать с помощью компонента Discontrol.
Володя
14 февраля 2017, 07:55
modx.pro
8
1 572
+9

Автосоздание ресурсов в контекстах-дублях

Задача:
Один сайт, несколько городов, один и тот же контент у всех, но разные данные (переменные).
Поначалу думал использовать Babel, но с ним не все так просто. Поэтому пришлось писать самому при поддержке неравнодушных Максима Кузнецова и Сергея Шлокова.

Решение:
  • Плагин для переключения контекстов (от Василия Наумкина)
  • Плагин на события: OnDocFormSave, OnDocFormDelete.
  • Снипет для вывода контекстов в качестве меню
  • Чанк вывода меню контекстов
  • Снипет для подтягивания полей ресурсов-оригиналов (чтоб не дублировать в базу весь контент к примеру)
  • Js-скрипт для переключения контекстов
Итак приступим…
Юрий Фомин
30 января 2017, 12:13
modx.pro
16
4 886
+11