ViktorK

ViktorK

С нами с 17 февраля 2013; Место в рейтинге пользователей: #485

Полезные методы xPDOCacheManager

Класс xPDOCacheManager реализует механизм кеширования в MODX. Кеш у нас хранится в файлах, а значит, этот класс может помочь нам в работе с файловой системой.

Чтобы иметь доступ к методам класса xPDOCacheManager, нужно получить экземпляр этого класса. Это делается одной строчкой:
$cache = $modx->getCacheManager();

xPDOCacheManager::writeFile

Первый метод поможет нам записывать данные в файл. Работает он очень просто:
$cache->writeFile(MODX_BASE_PATH . 'filename.txt', 'Текст');
Илья Уткин
14 сентября 2018, 10:07
modx.pro
25
3 742
+24

[tvSuperSelect] 1.2.2 Кастомайз по полной программе!


Новый функционал позволяет навесить свой процессор на получение значений для любого ТВ с типом tvSuperSelect. Теперь мы можем вывести абсолютно любые значения в этом ТВ, которые передадим через наш процессор. Предлагаю рассмотреть подробнее, как это делается и что это нам даст.
Павел Гвоздь
13 сентября 2018, 10:54
modx.pro
20
3 173
+23

История SQL-injection в MODX Revolution

История SQL-injection в MODX Revolution начинается с того, что любой багрепорт изначально воспринимается как «ожидаемое поведение».
Так было в декабре 2013 года с подготовкой запроса через метод toSQL
Евгений Борисов
12 сентября 2018, 12:23
modx.pro
7
3 218
+18

Лечение зараженных сайтов на modhost.pro

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

Как многие уже заметили, в MODX недавно обнаружили критическую уязвимость. Заключается она в том, что одним простым запросом можно залить произвольный файл на сайт, и выполнить его. Это может быть шел, вредоносный скрипт, что угодно.

Простота атаки и беспечность владельцев сайтов привели к тому, что я уже неделю разгребаю последствия этой атаки на modhost.pro. Итак, что нужно делать, чтобы вылечить свои сайты?
Василий Наумкин
31 июля 2018, 09:57
modx.pro
16
11 623
+19

Есть ли компонент для продажи инструменталов?

Всем привет. Есть ли сейчас компонент для MODX Revo для продажи инструменталов (минусов, битов) и прочего музыкального контента? Если нет, то можете подсказать как такое лучше всего реализовать?

По задумке, человек регистрируется на сайте, заливает свои композиции, после чего с залитой композиции срезается программно кусок на 20-30 секунд и на него сверху накладывается звуковой копирайт? Возможно ли такое вообще сделать?
SEQUEL.ONE
12 мая 2018, 19:41
modx.pro
2
1 068
0

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

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


Pavel Zarubin
22 апреля 2018, 02:16
modx.pro
96
8 140
+41

Турбо страницы / AMP на modx

Занимаюсь сео, на многих клиентских сайтах поставили турбо и amp, полет отличный.
Хотел, предложить разработчикам, сделать простенький модуль под modx. Спрос в связи с хайпом будет нормальный, труда думаю не много займет. Я по крайней мере, бы, купил от 500-1000р. Да, без плагинов все настраивается легко, но аудитория думаю не только разработчики.
v2254303
02 января 2018, 16:44
modx.pro
3
2 743
0

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 994
+21

Показать анимацию до момента отправки заказа

Здравствуйте!
После нажатия на кнопку отправки заказа ([!msOrder?]]) до момента уведомления об успешном заказе ([[!msGetOrder]]) на сайте проходит примерно 2 секунды, подскажите пожалуйста, как добавить в этот промежуток времени показ какой-нибудь анимации (гифки, например), клиенту, чтоб не было возможности нажать кнопку отправки заказа 100500 раз?

Может посоветуете другие варианты решения проблемы? Оптимизация работы дополнения или запрет отправки нескольких заказов в течение 5 секунд?

Вызываю сниппеты в шаблоне корзины.
[[!msCart?tpl=`my.tpl.msCart`]]
[[!msOrder?tpl=`my.tpl.msOrder`]]
[[!msGetOrder?tpl=`my.tpl.msGetOrder`]]

Чанки:
Павел Мезенцев
14 июля 2017, 19:25
modx.pro
5
1 720
0

[ExtJS] Расширяем нативную гриду юзеров


После статьи о расширении профиля юзера правильными дополнительными полями мне посыпались вопросы о расширении нативной таблицы со списком юзеров. Мы знаем, что практически любой стандартный компонент системы, работающий на ExtJS, можно расширить не затрагивая исходника. Главное уметь пользоваться «методом тыка» понимать принцип того, что делаешь. Что-ж… давайте расширять нативную таблицу пользователей!
Сразу опишем задачу, которую реализуем в рамках статьи:

  1. Убрать слева каждой записи ненужный чекбокс,
  2. Добавить столбцы: Фото, Дата рождения, Страна, Город,
  3. Добавить возможность отфильтровать пользователей по стране,
  4. Заменить некрасивое поле поиска на симпатичное и компактное,
  5. Подсветить заблокированных красным цветом.
Павел Гвоздь
07 июля 2017, 19:14
modx.pro
43
5 320
+21