Петропавловский Артем

Петропавловский Артем

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

Как создать свою сборку для MODX

Как и обещал, выкладываю инструкцию — как на основе сборки siteExtra сделать свою сборку. Скачать исходники можно на гитхабе https://github.com/ilyautkin/siteExtra. Полученный архив загружаем на сайт и распаковываем.

Илья Уткин
08 августа 2016, 18:42
modx.pro
59
7 579
+20

Сохранение корзины для пользователей

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

В качестве решения получился очень простой плагин, который выполняет 2 действия:
1) Сохраняет содержимое корзины в extended поля пользователя после каждого изменения корзины
2) Восстанавливает содержимое корзины перед каждой обработкой запрошенной страницы.

Воеводский Михаил
08 августа 2016, 15:06
modx.pro
42
5 744
+12

Как сделать сортировку через select?

Пытаюсь сделать сортировку
<select id="mse2_sort" >
                            <option data-sort="ms_product|publishedon" data-dir="[[+mse2_sort:is=`resource|publishedon:desc`:then=`desc`]]" data-default="desc" class="sort">[[%mse2_sort_publishedon]]</option>
                            <option data-sort="ms|price" data-dir="[[+mse2_sort:is=``:then=`desc`]]" data-default="desc" class="sort [[+mse2_sort:is=``:then=`active`]]">[[%mse2_sort_price]]</option>
                        </select>
Как сделать, чтоб при выборе пункт, все заработало?) Заранее спасибо.
DimenSi
24 июня 2016, 22:37
modx.pro
11
4 101
0

Дополнительные поля профиля юзера (не extended)


Разрабатываю проект, в котором необходимо было реализовать более простое редактирование дополнительных полей профиля, чем есть из коробки. К слову, неудобное редактирование — это не единственный минус нативного способа расширения профиля полями. Ни для кого не секрет, что фильтрацию по JSON полям нормально не осуществить, только костылями. Фактически, мне надо было получить решение, которое бы расширяло стандартный код MODX, не трогая исходники, дабы сохранить карму в порядке возможность обновления системы.
Пришёл к выводу, что буду расширять стандартную вкладку профиля «Общая информация». При желании можно чуть переписать код в событии OnUserFormPrerender и создать свою вкладку со своими полями.
Павел Гвоздь
30 мая 2016, 22:36
modx.pro
114
19 558
+19

Разные скидки в зависимости от количества товаров

Описан алгоритм для модуля интернет-магазина minishop2. Для других модулей алгоритм похож, но объекты отличаются.

Задача: сделать автоматический пересчет стоимости товаров в зависимости от общего количества товаров, находящихся в корзине.

$cartArray = $cart->get(); // Массив товаров в корзине
$cartProduct = $cartArray[$key]; // Один товар в корзине

Решение: пройти по всему массиву корзины и изменить цену товаров.
Воеводский Михаил
27 марта 2016, 21:14
modx.pro
32
4 847
+13

Подключаем Ecommerce в Яндекс.Метрике

Всем привет. На форуме куча полезной информации по разработке магазинов. Я же в свою очередь хочу рассказать про настройку аналитики.

Итак мы будем передавать информацию из магазина miniShop в Яндекс.Метрику для того, чтобы в полном объёме пользоваться отчётами Электронной коммерции.
mekirile
24 марта 2016, 07:05
modx.pro
39
10 411
+13

Рейтинг пользователя - общий, тикеты и комментарии

1 500
Выводим рейтинг пользователя как на modx.pro joxi.ru/eAOYVYPI476nQm

Т.е., выводим рейтинг общий, рейтинг за тикеты (Tickets) и рейтинг за комментарии.

1. Создаем сниппет getAuthorRating:

<?php
$userId = intval($userId);
if ($author = $modx->getObject('TicketAuthor',$userId)) $modx->setPlaceholders($author->toArray());
return;
2. Там где нужно вывести рейтинг:

[[!getAuthorRating? &userId=`[[+ID_пользователя]]`]]

<p>Рейтинг [[+rating]]</p>
<p>Рейтинг тикетов + [[+votes_tickets_up]] / - [[+votes_tickets_down]]</p>
<p>Рейтинг комментариев + [[+votes_comments_up]] / - [[+votes_comments_down]]</p>
Wassi Wassinen
18 февраля 2016, 14:49
modx.pro
20
3 903
+7

Облако тегов для miniShop2

UPDATE 20.03.2018: Сниппет обновлён на корректный и добавлен pdoTools для обработки чанка.

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



Сниппет умеет принимать параметры базового размера(font), шага в пикселях(step), количества размеров(levels) и чанка для вывода(tpl).

Алгоритм работы прост:
1. Собираются теги со всех товаров сайта.
2. Подсчитывается количество товаров для каждого тега.
3. Рассчитываются размеры для каждого уровня и границы по количеству использования тега.
4. Если не указан шаблон вывода, то на экране также будет облако тегов, но без ссылок.
Евгений Шеронов
17 февраля 2016, 21:46
modx.pro
27
6 208
+9

Добавляем "Цена от" для категории miniShop2

В некоторых моих сайтах-магазинах я отображаю в списке категорий цену в формате «от XXX руб.», вот так:



Небольшая инструкция, как я это делаю:
Наумов Алексей
17 февраля 2016, 08:36
modx.pro
32
5 626
+8

Скрипт создающий sudo юзера


Бывают ситуации, что пароль от админа теряется, а к почте, на которую зареган админ, доступа нет. Данный скрипт создаёт sudo юзера при запуске с рандомным логином и паролем. Дальше уже можно через этого юзера поменять пароль от админа, а залогинившись под админом — удалить только что созданного sudo. Скрипт просто надо закачать в папку с MODX и запустить.
Павел Гвоздь
15 февраля 2016, 10:08
modx.pro
32
4 175
+5