Семён Лобачевский

Семён Лобачевский

С нами с 06 марта 2013; Место в рейтинге пользователей: #357

Расширение любых таблиц MODX

В очередной раз понадобилось изменить таблицу сайта, менять которую не предусмотрено.

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

Пишем обычный плагин, выставляем для него событие OnMODXInit и меняем модель для нужных классов системы или дополнений. Например, я добавил id менеджера в заказ miniShop2:
Василий Наумкин
16 ноября 2015, 07:07
modx.pro
117
10 474
+11

mFilter2 - фильтрация категорий по дочерним товарам

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

Первым делом нужно разобраться в логике работы mFilter2:
  1. Фильтр использует для поиска и вывода ресурсов один сниппет, указанный в &elements. В случае работы с товарами там обычно указывается msProducts.
  2. К этому сниппету будет 2 обращения: предварительная выборка и возврат подходящих id товаров, а затем их вывод пользователю.
  3. Различить эти два запроса можно по присылаемому параметру returnIds.
В получение id товаров нам вмешиваться не нужно, потому что фильтр должен построить из них фильтры. Нам нужно изменить только вывод этих товаров, заменив их на категории.
Василий Наумкин
11 октября 2015, 07:25
modx.pro
23
4 905
+4

debugParser 1.1.0 и pdoTools 2.1.8

Работаю сейчас над одним сайтом, в котором всё делаю через шаблонизатор Fenom. Проблем нет, сплошное удобство, но из-за принципа работы шаблонизатора непонятно как отлавливать медленные сниппеты.

С обычным парсером MODX всё просто — покупаем debugParser и запускаем его на любой странице, добавляя к адресу параметр ?debug=1. Он подменяет собой системный парсер и замеряет время до и после обработки каждого тега на странице, что позволяет выявить тормозов.

А вот как быть с Fenom, который берёт код, компилирует из него php файл и выполняет за один присест, безо всяких тегов и разборов? Оказалось, можно отловить и это.
Василий Наумкин
26 августа 2015, 03:52
modx.pro
6
3 137
+14

Меняем стоимость доставки совершённого заказа

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


Ivan Shvindin
11 августа 2015, 07:16
modx.pro
9
4 669
-1

Про хороших людей

Начну немного издалека, так что если кому-то неинтересно, можете переходить сразу ко второму абзацу.
IT-технологии мне были интересны еще с самого их зарождения на постсоветском пространстве, т.е. в 90-х. Но возможности заниматься ими с детства не было, т.к. компьютеры тогда стоили дороже, чем квартиры, да и вообще, время было тяжелое.
Тимофей
26 июля 2015, 12:09
modx.pro
1
1 561
+10

[controlErrorLog] Контроль журнала ошибок

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

Сергей Шлоков
25 июля 2015, 14:31
modx.pro
6
3 730
+9

Подтверждение регистрации по sms

Доброго времени суток.
Столкнулся с задачей по подтверждению регистрации по средствам sms.
Есть ли готовое решение для данной задачи?
Подойдет ли дополнение ePochta? Оно вроде как присылает одноразовый код, но документация по нему достаточно скудная что бы разобраться в полной мере.
Валерий Савинов
07 июля 2015, 09:15
modx.pro
2
2 696
0

Как переименовать файлы через bash

Добрый вечер!
Подскажите, как переименовать файлы с именами 1053-84744_ SOCHI 2014, white.jpg в 1053-84744.jpg
Смог дойти только до:

rename -n 'y/_/{%.jpg} /' *
Но результат не тот что нужно.
Может кто знает как это сделать?
Семён Лобачевский
22 июня 2015, 18:38
modx.pro
1
1 383
0

[pdoTools] Версия 2.0 с шаблонизатором и кэшем

Доступна стабильная версия pdoTools 2.0, в которой я уже определился, как именно должен работать шаблонизатор Fenom.

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

Сначала настройки:

  • pdotools_fenom_default включает обработку синтаксиса Fenom во всех чанках сайта.
  • pdotools_fenom_parser включает обработку синтаксиса Fenom на страницах сайта. Контент ресурсов, шаблоны — везде. По умолчанию отключено.
  • pdotools_fenom_php включает возможность выполнения произвольных функций PHP в шаблонах через {$.php.функция()}. Опция эта очень опасная, так что тоже отключена.
  • pdotools_fenom_modx — чуть менее опасная опция, но во многих случаях, пока, необходимая — работа с объектами modX и pdoTools через переменные {$modx} и {$pdoTools}. Если вы не доверяете своим менеджерам — выключите её от греха подальше, потому что через объект modX можно удалить начисто весь сайт.
  • pdotools_fenom_cache — включает кэшированние чанков (только чанков, не страниц сайта) через кэшер MODX (а не как раньше). Стоит использовать только на продакшн сайтах при больших и сложных чанках.
Параметра &useFenom у сниппетов больше нет, включение шаблонизатора возможно только из системных настроек.
Василий Наумкин
22 мая 2015, 05:21
modx.pro
6
7 147
+13

MiniShop 2.2.0-beta1 в публичном доступе

Привет, сообщество.



Спешу поделиться новостью. Теперь новая версия MiniShop2, до недавнего времени доступная только тем, кто принимал участие в финансировании проекта, теперь доступна всем желающим в магазине дополнений!

Andrey Evteev
19 мая 2015, 13:11
modx.pro
2
13 492
+16