Сортировка: По дате ↓ По просмотрам
Скрыть источник файлов из дерева
30 января 2018, 08:10
Чтобы источник файлов в дереве слева на разворачивался и не тормозил админку, можно сделать следующее.
Нужно добавить в нужный источник файлов булеву настройку hideSource:
Читать дальше
Нужно добавить в нужный источник файлов булеву настройку hideSource:
Читать дальше
[OptiPic] Дополнение MODX для оптимизации картинок
19 декабря 2017, 09:57
Оптимизация изображений для Google PageSpeed
Сервис сжатия картинок: optipic.io/?my_coupon=ILYAUT
Скачать дополнение: modstore.pro/optipic
Читать дальше
Сервис сжатия картинок: 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. Для этого создадим в ней табличку с таким же префиксом, как и у других таблиц:
Читать дальше
Хранить объекты будем в базе данных 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 есть несколько типов объектов:
Читать дальше
Давайте, добавим на страницу нашего дополнения объект типа 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 имеет под собой ряд причин.
Читать дальше
Расположение дополнений в папках 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 и код:
Читать дальше
Мы будем разбирать создание именно «дополнения», а не «пакета» или «компонента». Для понимания разницы приведу в пример работу со сниппетами в MODX. Мы можем нажать в админке кнопку «Новый сниппет», ввести в открывшейся форме имя Hodor и код:
<?php return 'Hodor!';После сохранения мы можем вызывать его в любом месте шаблона и пользоваться сниппетом. Но если мы хотим использовать этот сниппет на нескольких сайтах, можно сделать транспортный пакет, который будет содержать в себе сниппет Hodor.
Читать дальше