Артур

Артур

С нами с 24 мая 2019; Место в рейтинге пользователей: #35

[FAQ] Делаем сниппет-обёртку

Данное руководство предназначено в первую очередь для разработчиков, только начинающих знакомиться с MODX. При разработке сайта они как правило используют уже готовые решения. И часто так случается, что такое решение нужно подогнать под текущую задачу. Самая первая мысль, которая приходит им в голову — изменить тот или иной сниппет. Ведь именно сниппеты отвечают за логику работы. Ну ещё плагины, но новички обычно в них не лезут.
Совсем зелёный разработчик лезет в исходный сниппет и творит там своё колдовство. И безумно довольный выкатывает своё творение заказчику, раздуваясь от своего величия.

Но более осторожный юнец сначала зайдет в сообщество, чтобы поинтересоваться, нет ли такого же решения, но с перламутровыми пуговицами. И случайным образом узнаёт, что править исходный код ни в коем случае нельзя, потому что следующее обновление затрёт все изменения, и что есть достаточно простой способ решить задачу кастомизации. Это сниппет-обёртка.
Сергей Шлоков
12 февраля 2020, 14:55
modx.pro
13
1 117
+23

[SelectFilters] - выбор фильтров для mFilter2



Всем привет, написал простенькое дополнение которое решает одну очень надоевшую проблему — клиент не может выбирать какие опции miniShop2 попадут в фильтр товаров mFilter2. В общем дополнение добавляет чекбокс в окно создания и редактирования опций, в комплекте также сниппет подготовки поля 'filter'
Pavel Zarubin
03 декабря 2019, 18:58
modx.pro
6
1 022
+15

Изменяем форму заказа minishop2

За год работы с минишопом я понял одну вещь — никто не знает как просто и быстро кастомизировать стандартную форму заказов. Для меня это довольно частая задача, по этому соберу тут несколько приемов которыми сам пользуюсь:


Pavel Zarubin
22 апреля 2018, 02:16
modx.pro
95
5 182
+41

[msPNnotify] - заменяем JGrowl

Описание
Компонент полностью заменяет уведомления Jgrowl на PNnotify для minishop2
Требуется только установка, далее все будет работать само. Все что делает компонент — это добавляет свои js на страницу. Настройки minishop2 он не переписывает, а лишь заменяет метод Massage
Посмотреть работу вы можете на демо-сайте

Под катом маленькое отступление и ссылка на скачивание компонента

Pavel Zarubin
26 февраля 2018, 23:59
modx.pro
10
6 335
+11

modRelation - Похожие товары для minishop2 и pdoTools

В общем кратенькая заметка, но думаю некоторым поможет, нужно было реализовать правильную перелинковку сайта, а заказчик никак не хотел вручную делать связи, пришлось написать вот такой «Умный» сниппет, который при правильном заполнении каталога вполне неплохо себе справляется с подбором похожих ресурсов, если я ни для кого америку не открыл, то сорян, а если открыл, то могу собрать пакет с этим сниппетом и выложить в modstore бесплатно для более легкой установки :)

ОБНОВЛЕНО:
Компонент доступен для загрузки в modstore
Pavel Zarubin
07 ноября 2017, 06:51
modx.pro
16
4 976
+13

[msOptionsPrice2] работа с остатками

Опишу решение ряда проблем с которыми столкнулся сам. msOptionsPrice2 очень крутое решение для minishop2 но для нормальной работы с остатками там очень мало функционала.
Проблемы:
  1. На странице каталога и товара нет плейсхолдера, с помощью которого можно было бы скрыть кнопку добавления в корзину и вывести свою информацию
  2. На странице каталога при добавлении товара проверяется на наличии первая модификация, и, если она отсутствует, то выскакивает оповещение о недоступности товара
  3. На миникарточке указана неправильная цена, т.к. выводится цена продукта, а не цена модификации
Инструкция под катом
Pavel Zarubin
08 августа 2017, 13:15
modx.pro
11
3 460
+4

Соединяем EasyComm и mFilter2

Всем привет, и сразу к делу (кстати пишу первый раз тут, если будут ошибки — исправим).

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

Добавляем в вызов mFilter2 следующий код:

&loadModels=`easycomm`
&where=`{"class_key":"msProduct"}`
&leftJoin=`{
	"ecThread": {
		"class": "ecThread",
		"on": "msProduct.id = ecThread.resource"
	}
}`

&select=`{
	"msProduct": "*",
	"ecThread": "ecThread.rating_simple AS rating, ecThread.count AS reviews"
}`
Павел
25 декабря 2015, 10:34
modx.pro
33
3 802
+14

IDE phpStorm как инструмент разработки в MODX

Долгое время я пользовался простыми и быстрыми редакторами для разработки, типа Geany и Notepad++. Просто не понимал, зачем мне тяжеловесная IDE, если и этих редакторов хватает с головой?

Я помню свой код, что откуда выходит и как работает, зачем мне подсказки от программы, которая грузится полторы минуты? Тем более, я люблю по-быстрому забежать на сервер, подправить пару опечаток и сохранить файл. Мне не нужно создавать проект, синхронизировать его с сервером и т.д.

Однако, всё поменялось, когда я написал miniShop. Компонент вышел большой, и со временем я понял, что просто запутываюсь в нём. Заодно я понял, что допустил много грубых ошибок, по незнанию — например доставучие уведомления о необъявленных переменных или ключах массива, те самые — E_NOTICE.

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

Сразу говорю, всё освоено методом тыка, без чтения литературы или чьих-то инструкций. Подозреваю, что освоил я процентов 5 от общего функционала, однако и этот объем позволил мне работать радикально быстрее и выдавать в разы более качественный код.
Василий Наумкин
24 января 2013, 08:42
modx.pro
8
13 609
0