Наверх

Блог RSS

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

Скрыть источник файлов из дерева

30 января 2018, 08:10

Чтобы источник файлов в дереве слева на разворачивался и не тормозил админку, можно сделать следующее.

Нужно добавить в нужный источник файлов булеву настройку hideSource:
Настройка hideSource
Читать дальше

[OptiPic] Дополнение MODX для оптимизации картинок

19 декабря 2017, 09:57

Оптимизация изображений для Google PageSpeed

Сервис сжатия картинок: optipic.io/?my_coupon=ILYAUT
Скачать дополнение: modstore.pro/optipic
Читать дальше

Сжатие картинок с помощью сервиса OptiPic

11 декабря 2017, 15:46

OptiPic.io — это сервис оптимизации изображений для сайтов. Дополнение OptiPic реализует интеграцию сайта MODX с этим сервисом. Чтобы оптимизировать картинки, например, при выводе через pdoResources, добавьте сниппет optipic в список фильтров ввода вывода:

<h4>[[+pagetitle]]</h4>
<img src="[[+tv.image:phpthumbon=`w=350&h=180&zc=1`:optipic]]"
 alt="[[+longtitle]]">

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

MODX. Вывод новостей на сайте

12 ноября 2017, 09:52

Выводим новости на сайте MODX с помощью сниппета getResources.
Читать дальше

Как работают дополнения 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;

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

Как работают дополнения 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. Часть 3 — ExtJS Button

23 октября 2017, 15:28

Наверняка вы знаете, что обычно все дополнения MODX хранятся в папках /assets/components/ и /core/components/. Мы же создали папку нашего дополнения прямо в корне сайта. Это для того, чтобы было понятно — расположение файлов значения не имеет, MODX просто «смотрит» путь в пространстве имён и «идёт» по этому пути.

Расположение дополнений в папках core и assets имеет под собой ряд причин.
Читать дальше

Как работают дополнения 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>");
    }
}

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

Как работают дополнения MODX. Часть 1 — Namespace и Controller

22 октября 2017, 15:49

Разберём создание дополнения MODX руками — без всяких заготовок типа modExtra.


Мы будем разбирать создание именно «дополнения», а не «пакета» или «компонента». Для понимания разницы приведу в пример работу со сниппетами в MODX. Мы можем нажать в админке кнопку «Новый сниппет», ввести в открывшейся форме имя Hodor и код:
<?php
return 'Hodor!';
После сохранения мы можем вызывать его в любом месте шаблона и пользоваться сниппетом. Но если мы хотим использовать этот сниппет на нескольких сайтах, можно сделать транспортный пакет, который будет содержать в себе сниппет Hodor.
Читать дальше

Авторизация

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


Шаблоны MODX

1 2 Дальше »

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