Наверх

Рейтинг

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

Плагин для редиректа если страница перенесена или изменен URL страницы

09 апреля 2013, 17:14

Надоело мне проставлять вручную редиректы, когда SEO-шники меняют URL (для лучшего соответствия страницы запросам) и просят сделать так, чтобы страница из индекса не вылетела.

Сначала я сделал плагинчик для того, чтобы можно было ресурсы переносить из раздела в раздел безболезненно и добавлять дочерние ресурсы (у контейнеров префикс URL меняется).

Теперь решил поднатужится и сделать максимально автоматизированную систему, которая позволит не только переносить ресурсы, но и менять им псевдонимы, не беспокоясь о редиректах.
Читать дальше

Отправляем уведомление об открытии 404 страницы на сайте

07 марта 2014, 11:53

Перенес блог на новый дизайн и столкнулся с тем, что пользователи стали иногда попадать на 404 страницу (по сообщениям из метрики). Решил узнать, какие страницы у пользователей не открываются. В итоге написал плагинчик, который, в принципе, можно использовать на любом сайте для того, чтобы не терять посетителей и сразу узнавать о проблемах с несуществующими страницами.


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

Отображение кастомных объектов в админке MODX (таблица ExtJS)

17 февраля 2014, 14:42


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

Для тех, кому на этих курсах пока слишком много информации и он хочет просто пощупать — как оно и где, подойдет мой метод.
Читать дальше

Summary 1.0.3

25 ноября 2015, 11:36

Summary это по сути отдельный класс для формирования краткого описания на основании длинного текста. Данный класс вообще не зависит от MODX и поэтому на его базе были написаны сниппеты как для MODX Evolution, так и для MODX Revolution. В основе компонента лежит логика одноименного экстендера для сниппета Ditto из MODX Evolution.

Функционал summary частично схож с модификатором ellipsis в MODX Revolution, т.е. обрезание строки до заданного количества символов. Но в отличии от модификатора ellipsis, этот сниппет может удалять из строки HTML теги, преобразовывать MODX теги в entities сущности. Помимо этого, summary понимает тег cut (который можно переопределить при желании) и если он не обнаружен, то сокращаемый текст не обрывается на половине слова или середине предложения, а заканчивается на ближайшей точке. Если в обрабатываемом тексте встречаются HTML теги, то они могут быть оставлены. Но при этом, если требуемая длинна текста достигнута, то все не закрытые теги будут закрыты автоматически.
Читать дальше

editLinksNet - мое первое дополнение в официальном репозитории MODX

24 апреля 2013, 18:07

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

Сначала сделал пакетик с помощью PackMan и устанавливал этот пакет локально. Но и это тоже утомляло — найти последнюю версию пакета, загрузить его на сайт… И я решил закинуть пакет в репозиторий.

Никакого ответа мне не пришло, около месяца я заглядывал в репозиторий в поисках своего пакета, но его все никак не одобряли и в репозитории он не появлялся.

Сегодня случайно наткнулся на ссылку на свой же плагин) И могу с радостью представить вам первое мое дополнение, которое попало в официальный репозиторий MODX — EditLinksNet 0.1.0-beta1
Читать дальше

Правильный хостинг для MODX Revolution — Текстовая версия

18 мая 2014, 19:03

Видео можно посмотреть здесь: http://ilyaut.ru/video/hosting-for-modx/

Предлагаю вашему вниманию вторую версию инструкции по созданию собственного хостинга для сайтов на MODX Revolution и не только.

На сей раз я заснял и смонтировал видео всего процесса, постарался от души. Можно скачать в ультра-мега качестве (FullHD 1920x1080x25, 785mb).
Читать дальше

Как работают дополнения MODX. Часть 4 — ExtJS Grid

28 октября 2017, 14:18

Познакомимся с новым типом объектов в ExtJS — таблицей.

Давайте, добавим на страницу нашего дополнения объект типа GridPanel (xtype: grid).

У таблицы обязательными параметрами являются columns — список колонок и store — собственно список данных, которые нужно отобразить в таблице.

Параметр store есть у многих объектов в ExtJS. Обычно, если нужно отобразить какой-то список, используется параметр store. Это может быть как таблица, так и выпадающий список элементов (как в админке MODX выпадает список шаблонов при редактировании ресурса). Ещё есть, например ListView (xtype: listview), который просто выводит список элементов без возможности редактировать.

Из-за того, что таких типов несколько (а мы можем ещё и свои собственные типы создавать), store — это не просто массив, а тоже объект со своими свойствами. В ExtJS для store есть несколько типов объектов:

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

Как работают дополнения MODX. Часть 6 — ExtJS Windows

06 ноября 2017, 16:39

Добавим возможность пользователю создавать новые объекты без использования phpMyAdmin. Воспользуемся для этого кнопкой, которую мы создали раньше
{
    xtype: 'button',
    text: 'Create thing', // Меняем надпись
    cls: 'primary-button',
    handler: function() { // После клика на кнопку
        MODx.load({       // будем загружать новый ExtJS-объект
            xtype: 'things-window-names',
        });
    }
}
У ExtJS есть такой объект, как окно

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

Как работают дополнения MODX. Часть 5 — Подготовка процессора

28 октября 2017, 18:58

В нашей таблице можно вывести любые объекты MODX. Но для примера создадим свой тип объектов, так как это самая частая задача при разработке дополнений.

Хранить объекты будем в базе данных MODX. Для этого создадим в ней табличку с таким же префиксом, как и у других таблиц:
CREATE TABLE `modx_things_names` (
    `id` INT(10) UNSIGNED NOT NULL AUTO_INCREMENT,
    `name` VARCHAR(255) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL,
    `description` TEXT CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL,
    `active` TINYINT(1) UNSIGNED NOT NULL DEFAULT 1,
    
    PRIMARY KEY (`id`),
    INDEX (`active`)
) ENGINE=MyISAM CHARSET=utf8 COLLATE utf8_general_ci;

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

Решаем проблему с getPage и несуществующими страницами

30 июля 2013, 15:08

Недавно в блоге bezumkin'а подняли тему генерации страниц сниппетом getPage:
подскажите по поводу пагинации. допустим имею две страницы: page 1, page 2.
но если в адресную строку ввести несуществующий адрес/?page=N то открывается пустая страница, а не 404?
кто нибудь решал этот вопрос?

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

Авторизация

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


Шаблоны MODX

1 2 Дальше »

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