
Громов Антон
С нами с 20 июня 2015; Место в рейтинге пользователей: #388Вывести поле создателя при редактировании ресурса
Стояла задача для определенного шаблона вывести поле создателя/автора с возможностью изменять его, но только для админа.
Плагин с кодом на событие OnDocFormRender
Плагин с кодом на событие OnDocFormRender
Migx событие
Возник вопрос, помогите пожалуйста.
Есть MigxDB нужно создать плагин который будет срабатывать на событие, изменения полей
1. Создаю событие
Но как сделать так чтобы этого плагин получал значения которые изменяются в MigxDB???
Есть MigxDB нужно создать плагин который будет срабатывать на событие, изменения полей
1. Создаю событие
$Event = $modx->newObject('modEvent');
$Event->set('name', 'OnEditMigxDB');
$Event->set('service',1);
$Event->set('groupname', 'MigxDB');
2. Создам плагин и повешу на него событие OnEditMigxDBНо как сделать так чтобы этого плагин получал значения которые изменяются в MigxDB???
Оптимизации и тонкости работы с БД для больших магазинов на MODX Revolution
Небольшое вступление
Данная статья не претендует на универсальное решение. Всегда пользуйтесь собственной головой. Всё описанное ниже актуально для MODX Revolution 2.8.3-pl, miniShop2 2.9.1-pl.
Данная статья не претендует на универсальное решение. Всегда пользуйтесь собственной головой. Всё описанное ниже актуально для MODX Revolution 2.8.3-pl, miniShop2 2.9.1-pl.
Быстрый AJAX поиск для pdoPage
Добрый день.
Подскажите, пожалуйста, есть ли быстрый ajax поиск по типу как в datatables.net/, но для работы в связке с pdoPage?
Планируется выводить более 30000 записей и подобный поиск очень бы пригодился.
Подскажите, пожалуйста, есть ли быстрый ajax поиск по типу как в datatables.net/, но для работы в связке с pdoPage?
Планируется выводить более 30000 записей и подобный поиск очень бы пригодился.
[СДЕЛАЙ САМ] mFilter2 фильтрация по диапазону дат.
Приветствую, к сожалению не нашёл приемлемого для себя решения данной задачи поэтому «написал» своё, в кавычках потому что немного подправил. На мой взгляд очевидно, что дата это число, а в mFilter2 есть фильтрация по диапазону чисел, значит нужно превратить дату в число. Чтобы при обновлении компонента ничего не сломалось, создадим свой класс фильтрации customfilter.class.php в папке core/components/msearch2/custom/filters/, потом прописываем в системную настройку mse2_filters_handler_class = CustomFiltersHandler
Магазин на 500 000+ товаров
Добрый день.
Есть задача сделать магазин на 570 000 товраов.
Товары простые — у них почти нет свойств, кроме изображения, описания и цены.
Первая проблема — это напролнение.
Модуль Импорт/Экспорт вешается. По моим расчетам ему надо 3-4 недели чтобы все загрузить )))
Это решилось импортом напрямую через запрос в БД. Слава mysql и после импорта 4 таблиц все товары на месте примерно за 15-20 минут.
Но начинается новый прикол, что до 300 000 товаров сайт еще более-менее живой и время отклика «около вменяемое» порядка 1000-1500 м/сек.
Но как только мы переваливаем за 400 тыс, время отклика уходит в 3-5 м/сек, а после 500 000 товаров доходит до 7 м/сек.
А в некоторых случаях сайт просто начинает отдавать 500 ошибку прямо с главной страницы.
Как быть с таким количеством наименований?
это просто магазин крепежа — куча разных винтиков разного размера и разной фасовки.
Тут нет модификаций, нет связей, один товар — одна категория.
Есть задача сделать магазин на 570 000 товраов.
Товары простые — у них почти нет свойств, кроме изображения, описания и цены.
Первая проблема — это напролнение.
Модуль Импорт/Экспорт вешается. По моим расчетам ему надо 3-4 недели чтобы все загрузить )))
Это решилось импортом напрямую через запрос в БД. Слава mysql и после импорта 4 таблиц все товары на месте примерно за 15-20 минут.
Но начинается новый прикол, что до 300 000 товаров сайт еще более-менее живой и время отклика «около вменяемое» порядка 1000-1500 м/сек.
Но как только мы переваливаем за 400 тыс, время отклика уходит в 3-5 м/сек, а после 500 000 товаров доходит до 7 м/сек.
А в некоторых случаях сайт просто начинает отдавать 500 ошибку прямо с главной страницы.
Как быть с таким количеством наименований?
это просто магазин крепежа — куча разных винтиков разного размера и разной фасовки.
Тут нет модификаций, нет связей, один товар — одна категория.
Кэширование данных
Добрый день,
делаю кэширование данных
Но еще он очищается при сохранении любого чанка, сниппета и т.п.
Можно как-то сохранять кэш, чтобы он не очищался при редактировании чанков/сниппетов. Но чистился при очистке всего кэша?
делаю кэширование данных
$cacheName = "cachename";
$output = $modx->cacheManager->get($cacheName);
if (empty($output))
{
...
$modx->cacheManager->set($cacheName, $output, 8640000);
}
return $output;
Все работает, кэш сохраняется в core/cache/default/. при сохранении страниц, кэш не очищается, очищается только при выборе меню Управление->Очистить кэш.Но еще он очищается при сохранении любого чанка, сниппета и т.п.
Можно как-то сохранять кэш, чтобы он не очищался при редактировании чанков/сниппетов. Но чистился при очистке всего кэша?
[СДЕЛАЙ САМ] Поиск на сайте по-быстрому
ВАЖНО!!!
Я знаю, что есть два отличных компонента для организации поиска по сайту это SimpleSearch, который по-моему не работает с чанками на fenom, и mSearch2, который платный и большой. В связи с этим я решил написать свой вариант поиска — максимально простой и понятный, да неуниверсальный, но позволяющий по нескольким ключевым словам найти нужный ресурс. По сути это форма. которая через ajax отправляется на сервер, где формируется sql-запрос в БД и результат возвращается на фронт. Итак перейдём к коду.
Данное решение не является учебным и рекомендуется к использованию только на собственных проектах, с целью освоения работы с api modx. Для изучения лучших практик, анализируйте код дополнений с сайта https://modstore.pro/
Я знаю, что есть два отличных компонента для организации поиска по сайту это SimpleSearch, который по-моему не работает с чанками на fenom, и mSearch2, который платный и большой. В связи с этим я решил написать свой вариант поиска — максимально простой и понятный, да неуниверсальный, но позволяющий по нескольким ключевым словам найти нужный ресурс. По сути это форма. которая через ajax отправляется на сервер, где формируется sql-запрос в БД и результат возвращается на фронт. Итак перейдём к коду.
Управления плагинам minishop2 или добавление полей в ms2_products через компонент [msAddField]
Все давно уже познакомились с методом добавления полей через плагины который написал Василий еще в каком то 17 или 2018 году, может раньше…
Давно уже написал класс для управления полями через мой компонент который так и не представился миру msCml (синхронизация 1С с характеристикам msOptionsPrice2).
На этих выходных все таки дошли руки и собрал таки компонент msAddField (пока только на github, для самых маленьких))))): там же ссылка на яндекс диск)
Давно уже написал класс для управления полями через мой компонент который так и не представился миру msCml (синхронизация 1С с характеристикам msOptionsPrice2).
На этих выходных все таки дошли руки и собрал таки компонент msAddField (пока только на github, для самых маленьких))))): там же ссылка на яндекс диск)
Модуль оплаты для сервиса Яндекс.Касса по новому протоколу
Всем привет!
Возникла необходимость написать собственный модуль оплаты по Яндекс.Кассе, набросал за пару дней — делюсь.
Возникла необходимость написать собственный модуль оплаты по Яндекс.Кассе, набросал за пару дней — делюсь.