Сортировка: По дате По просмотрам ↓
[Перевод] Оптимизация сайта с помощью getCache или работа с пользовательскими разделами кеша
06 апреля 2013, 02:30
Перевод статьи Джейсона Коварда (opengeek) Optimization with getCache and Custom Cache Partitions
Одной из самых распространенных претензий к системе кеширования MODX Revolution является очистка всего кеша сайта при любом действии в админке (будь то редактирование ресурса, чанка, сниппета и пр. — даже просто при создании нового чанка). В результате скорость загрузки сайта уменьшается, так как все сниппеты, чанки и шаблоны необходимо снова обрабатывать. Многие высказываются, что они хотят очищать кеш только отредактированного ресурса. На первый взгляд это выглядит как баг, а не как фича. Кажется, что в такой продвинутой и гибкой системе, как MODX, довольно просто реализовать очистку кеша только тех элементов, которых коснулись изменения.
В этой статье я хотел бы получше объяснить, во-первых, почему так трудно реализовать такую частичную очистку кеша, а во-вторых, на примере показать альтернативный способ решения проблемы без необходимости разработки решений с нуля.
Читать дальше
Проблема: При любом действии в админке, очищается кеш всего сайта
Одной из самых распространенных претензий к системе кеширования MODX Revolution является очистка всего кеша сайта при любом действии в админке (будь то редактирование ресурса, чанка, сниппета и пр. — даже просто при создании нового чанка). В результате скорость загрузки сайта уменьшается, так как все сниппеты, чанки и шаблоны необходимо снова обрабатывать. Многие высказываются, что они хотят очищать кеш только отредактированного ресурса. На первый взгляд это выглядит как баг, а не как фича. Кажется, что в такой продвинутой и гибкой системе, как MODX, довольно просто реализовать очистку кеша только тех элементов, которых коснулись изменения.
В этой статье я хотел бы получше объяснить, во-первых, почему так трудно реализовать такую частичную очистку кеша, а во-вторых, на примере показать альтернативный способ решения проблемы без необходимости разработки решений с нуля.
Читать дальше
Отправляем заголовки Last-Modified и Not Modified
29 апреля 2014, 17:52
Написал небольшой плагинчик для отправки браузеру заголовка Last-Modified и, если браузер спросит If modified since — ответа 304 Not Modified
Читать дальше
Читать дальше
Файловый менеджер для WEB — SPRUT.io
15 января 2016, 11:56
Многие знают, что я давно работаю с хостингом BEGET.RU и всем его советую. Сегодня я увидел, что на моём любимом хостинге проводится розыгрыш, главным условием которого было порекомендовать сервис хостинга, написав статью в блоге. Поэтому я решил рассказать о файловом менеджере, разработанном в компании Бегет.
Сначала небольшая справка. Компания ООО «Бегет» — это российский хостинг. Сервера находятся у нас. Раньше это был только Санкт-Петербург, сейчас, насколько я знаю, география расширена. MODX на хостинге работает отлично, а цены порадуют многих. Тем более, что первый месяц использования любого тарифа абсолютно бесплатный.
Читать дальше
Сначала небольшая справка. Компания ООО «Бегет» — это российский хостинг. Сервера находятся у нас. Раньше это был только Санкт-Петербург, сейчас, насколько я знаю, география расширена. MODX на хостинге работает отлично, а цены порадуют многих. Тем более, что первый месяц использования любого тарифа абсолютно бесплатный.
Читать дальше
Пара советов о том, как писать свои сниппеты
09 апреля 2013, 16:56
MODX не предъявляет высоких требований к разработчику. Если ты немного знаешь HTML, то можешь сделать свой сайт без труда:
Менюшки — Wayfinder
Вывод новостей — getResources
Просто правильно пропиши параметры вызовов и вставь в шаблон HTML — вот и готов сайт.
Но как только сайтостроителю надо сделать что-то чуть-чуть другое, он начинает писать свои сниппеты. Вот тут и возникают такие творения
Читать дальше
Менюшки — Wayfinder
Вывод новостей — getResources
Просто правильно пропиши параметры вызовов и вставь в шаблон HTML — вот и готов сайт.
Но как только сайтостроителю надо сделать что-то чуть-чуть другое, он начинает писать свои сниппеты. Вот тут и возникают такие творения
Читать дальше
impArt — массовая заливка статей на сайт
05 марта 2014, 17:35
Компонент impArt пригодится в основном SEO-шникам и тем, кто занимается заполнением сайтов (контент-менеджерам). Статьи, которые нужно добавить на сайт, загружаются в компонент (одним целым текстом) и импортируются в дерево ресурсов.
impArt поможет, если вам пришло подобное письмо от клиента:
Читать дальше
impArt поможет, если вам пришло подобное письмо от клиента:
Читать дальше
Изменяем алгоритм подсчета просмотров страниц в компоненте Tickets
17 апреля 2013, 16:33
Мой блог работает на Tickets от bezumkin, однако Tickets считает просмотры только зарегистрированными пользователями. А у меня в блоге много читателей, кто получает обновления, например, по RSS и не регистрируются. Вот и решил я сделать так, чтобы любые просмотры писались в базу.
Для этого я каждому незарегистрированному читателю устанавливаю cookies, чтобы потом его опознать и повторно не считать его же просмотры.
Ну и добавляем новую запись о просмотре в базу (объект TicketView)
Читать дальше
Для этого я каждому незарегистрированному читателю устанавливаю cookies, чтобы потом его опознать и повторно не считать его же просмотры.
Ну и добавляем новую запись о просмотре в базу (объект TicketView)
Читать дальше
Разбор кода начинающего программиста сниппетов MODX
16 июня 2015, 13:50
Сегодня мне пришло письмо с просьбой посмотреть код сниппета «и своим комментарием подтолкнуть в нужную сторону».
Я решил ответить на это письмо статьёй, так как многим начинающим программистам будет интересно эти комментарии почитать.
Автор учится писать сниппеты для MODX и для примера поставил себе задачу написать относительно простой сниппет для вывода меню сайта.
Чтобы не раздувать статью буду давать ссылки на версии файла на Github. И вот с чего мы начнем: menucreator.php именно этот код автор попросил прокомментировать.
Читать дальше
Я решил ответить на это письмо статьёй, так как многим начинающим программистам будет интересно эти комментарии почитать.
Автор учится писать сниппеты для MODX и для примера поставил себе задачу написать относительно простой сниппет для вывода меню сайта.
Чтобы не раздувать статью буду давать ссылки на версии файла на Github. И вот с чего мы начнем: menucreator.php именно этот код автор попросил прокомментировать.
Читать дальше
Units — правильно указываем окончания для количественных обозначений
13 ноября 2013, 12:54
Доделываю портал, где пользователи могут добавлять свои статьи и нужно вывести общее количество статей пользователя на его странице. Нужно было правильно указать окончание у слова «статей» — ведь когда статья всего одна, будет некрасиво показывать «У вас 1 статей».
Нашел в интернете решение этой проблемы и оформил его в пакет Units для MODX.
Читать дальше
Нашел в интернете решение этой проблемы и оформил его в пакет Units для MODX.
Читать дальше
Реализация пошаговой работы PHP-скрипта с помощью AJAX
06 апреля 2013, 01:36
Искал более-менее простое и универсальное средство для организации пошаговой работы скрипта, но так ничего и не нашел. Даже вопрос в QA задал, везде только общие фразы. Поэтому решил сам сделать такой инструмент.
Бывает необходимо обработать скриптом какой-то очень уж большой файл, например, для импорта. Естественно, время работы скрипта увеличивается пропорционально размеру файла или количеству строк в нем.
Хотелось бы разбить обработку файла на несколько частей и запускать скрипт в работу уже по частям.
Принцип реализации давно известен — обмен данными между сервером и клиентом:
Клиент запускает скрипт, тот выполняет несколько итераций и возвращает клиенту номер строки, на которой он остановился. После этого клиент делает новый запрос, в котором передает скрипту этот номер и скрипт продолжает работу дальше.
Читать дальше
Для чего это вообще нужно?
Бывает необходимо обработать скриптом какой-то очень уж большой файл, например, для импорта. Естественно, время работы скрипта увеличивается пропорционально размеру файла или количеству строк в нем.
Хотелось бы разбить обработку файла на несколько частей и запускать скрипт в работу уже по частям.
Принцип реализации давно известен — обмен данными между сервером и клиентом:
Клиент запускает скрипт, тот выполняет несколько итераций и возвращает клиенту номер строки, на которой он остановился. После этого клиент делает новый запрос, в котором передает скрипту этот номер и скрипт продолжает работу дальше.
Читать дальше
Как работают дополнения MODX. Часть 2 — ExtJS Panel
23 октября 2017, 12:48
Для того, чтобы добавить свои стили и скрипты на страницу дополнения, в классе modExtraManagerController есть метод loadCustomCssJs. Давайте, воспользуемся им, чтобы запустить наш первый ExtJS-скрипт.
Читать дальше
<?php class ThingsIndexManagerController extends modExtraManagerController { public function getPageTitle() { return 'Things'; } public function getTemplateFile() { return dirname(__FILE__) . '/home.tpl'; } public function loadCustomCssJs() { $this->addHtml("<script> Ext.onReady(function() { var title = 'Мой заголовок'; var msg = 'Модель DOM готова...'; Ext.MessageBox.alert(title,msg); }); </script>"); } }
Читать дальше