Наверх

Рейтинг

Сортировка: По дате По просмотрам ↓

[Перевод] Оптимизация сайта с помощью getCache или работа с пользовательскими разделами кеша

06 апреля 2013, 02:30

Перевод статьи Джейсона Коварда (opengeek) Optimization with getCache and Custom Cache Partitions

Проблема: При любом действии в админке, очищается кеш всего сайта



Одной из самых распространенных претензий к системе кеширования 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 на хостинге работает отлично, а цены порадуют многих. Тем более, что первый месяц использования любого тарифа абсолютно бесплатный.
Читать дальше

Пара советов о том, как писать свои сниппеты

09 апреля 2013, 16:56

MODX не предъявляет высоких требований к разработчику. Если ты немного знаешь HTML, то можешь сделать свой сайт без труда:

Менюшки — Wayfinder
Вывод новостей — getResources

Просто правильно пропиши параметры вызовов и вставь в шаблон HTML — вот и готов сайт.

Но как только сайтостроителю надо сделать что-то чуть-чуть другое, он начинает писать свои сниппеты. Вот тут и возникают такие творения
Читать дальше

impArt — массовая заливка статей на сайт

05 марта 2014, 17:35

Компонент impArt пригодится в основном SEO-шникам и тем, кто занимается заполнением сайтов (контент-менеджерам). Статьи, которые нужно добавить на сайт, загружаются в компонент (одним целым текстом) и импортируются в дерево ресурсов.

impArt поможет, если вам пришло подобное письмо от клиента:

Читать дальше

Изменяем алгоритм подсчета просмотров страниц в компоненте Tickets

17 апреля 2013, 16:33

Мой блог работает на Tickets от bezumkin, однако Tickets считает просмотры только зарегистрированными пользователями. А у меня в блоге много читателей, кто получает обновления, например, по RSS и не регистрируются. Вот и решил я сделать так, чтобы любые просмотры писались в базу.

Для этого я каждому незарегистрированному читателю устанавливаю cookies, чтобы потом его опознать и повторно не считать его же просмотры.

Ну и добавляем новую запись о просмотре в базу (объект TicketView)
Читать дальше

Разбор кода начинающего программиста сниппетов MODX

16 июня 2015, 13:50

Сегодня мне пришло письмо с просьбой посмотреть код сниппета «и своим комментарием подтолкнуть в нужную сторону».

Я решил ответить на это письмо статьёй, так как многим начинающим программистам будет интересно эти комментарии почитать.

Автор учится писать сниппеты для MODX и для примера поставил себе задачу написать относительно простой сниппет для вывода меню сайта.

Чтобы не раздувать статью буду давать ссылки на версии файла на Github. И вот с чего мы начнем: menucreator.php именно этот код автор попросил прокомментировать.
Читать дальше

Units — правильно указываем окончания для количественных обозначений

13 ноября 2013, 12:54

Доделываю портал, где пользователи могут добавлять свои статьи и нужно вывести общее количество статей пользователя на его странице. Нужно было правильно указать окончание у слова «статей» — ведь когда статья всего одна, будет некрасиво показывать «У вас 1 статей».



Нашел в интернете решение этой проблемы и оформил его в пакет 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>");
    }
}

Читать дальше

Авторизация

через сервис Loginza:


Шаблоны MODX

1 2 Дальше »

Объектная
модель
MODX