
Павел Романов
С нами с 03 марта 2014; Место в рейтинге пользователей: #71ZoomX для новичков
ZoomX — компонент, который подключает шаблонизатор Smarty и делает элементы файловыми. Также есть роутер, контроллеры, как во фреймворках. Главный плюс, конечно — это файловые элементы без костылей в виде статических элементов.
Как мне показалось, автор считает, что компонент предназначен для опытных разработчиков, более менее знакомыми с фреймворками, дабы те не ушли с MODX. Могу ошибаться, конечно) Моё же мнение таково: ZoomX нужно изучать сразу же, вместе с pdoTools. Почему? Чтобы не тратить время на изучение стандартного парсера и на решение проблем с ним при реализации чего-то сложнее вывода заголовка страницы. Smarty гораздо проще в использовании. Хранение элементов в базе может отпугнуть новичков. Именно ZoomX, а не выход третьей версии MODX — важнейшая веха в развитии системы со времён pdoTools. Но все статьи про компонент написаны для более-менее опытных разработчиков, новичкам будет сложно разобраться. Поэтому, собственно, и решил написать эту статью.
Как мне показалось, автор считает, что компонент предназначен для опытных разработчиков, более менее знакомыми с фреймворками, дабы те не ушли с MODX. Могу ошибаться, конечно) Моё же мнение таково: ZoomX нужно изучать сразу же, вместе с pdoTools. Почему? Чтобы не тратить время на изучение стандартного парсера и на решение проблем с ним при реализации чего-то сложнее вывода заголовка страницы. Smarty гораздо проще в использовании. Хранение элементов в базе может отпугнуть новичков. Именно ZoomX, а не выход третьей версии MODX — важнейшая веха в развитии системы со времён pdoTools. Но все статьи про компонент написаны для более-менее опытных разработчиков, новичкам будет сложно разобраться. Поэтому, собственно, и решил написать эту статью.
Кешируем mFilter2
Как кол-во товаров на сайте переваливает какую-то границу, то mFilter2 начинает жестко тупить. Переодически мне приходиться бороться с этой проблемой. В итоге изучения mFilter2 выработал пару решений.
[ModExtra3] Заготовка для создания компонентов для MODX3
Одна из проблем развития экосистемы MODX3 на текущий день — не очень большой объем доступной информации, инструкций. Официальный сайт только недавно начал выпускать справочные пособия на тему разработки MODX3.
Мне в свое время очень помогла в понимании работы компонентов, подготовленная @Василий Наумкин заготовка для создания компонентов modExtra. Я решил поднять это знамя и донести его до MODX3
Представляю вашему вниманию ModExtra3. Заготовка для создания компонентов и справочное пособие по MODX3.
Мне в свое время очень помогла в понимании работы компонентов, подготовленная @Василий Наумкин заготовка для создания компонентов modExtra. Я решил поднять это знамя и донести его до MODX3
Представляю вашему вниманию ModExtra3. Заготовка для создания компонентов и справочное пособие по MODX3.
Билдер SQL запросов для modx, minishop2 и TV
Всем привет, просили меня недавно сделать выгрузку со старого сайта на modx с более чем 200к товаров, т.к. я уже давно не работал с modx, абсолютно забыв методы API, а также помня, насколько медленно и ресурсозатратно оно работает было решено писать SQL напрямую и все бы ничего, пока я не увидел структуру tv полей. Руками писать SQL с выборкой необходимых TV было адским адом, и было решено за часик накидать мини билдер SQL запросов
Получился примерно такой в использовании билдер, по мне покрывает 100% моих задач в формировании SQL для выгрузок из modx & ms2:
Если хочется сразу к коду
Получился примерно такой в использовании билдер, по мне покрывает 100% моих задач в формировании SQL для выгрузок из modx & ms2:
$builder = new SimpleBuilder();
$builder->addResourceFields('id', 'pagetitle', 'longtitle')
->addMs2Fields('article', 'price')
->addTvFields('price_opt', 'product_time', 'valute', 'remains', 'product_tax')
->where('deleted', '=', false)
->where('published', '=', true)
->where('class_key', '=', 'msProduct')
->where('remains', '!=', 0)
->whereNotNull('remains')
->whereIn('id', [18559, 18560])
->limit(1)
->offset(1)
;
$sql = $builder->sql();
$products = $modx->query($sql)->fetchAll(PDO::FETCH_ASSOC);
Под катом код и результат SQL который формирует билдерЕсли хочется сразу к коду
Понимание addPackage, loadClass и getService
Перевод заметки Understanding addPackage, loadClass and getService
ВНИМАНИЕ! Актуально для MODx 2.*
Там на самом донышке пару строк про MODx 3 из официальной документации касательно данной темы
Повышайте свой уровень разработки на MODx. Присоединяйтесь к исследованию Боба (Bob Ray) о том, когда и зачем использовать каждый из трех методов загрузки классов MODX.
ВНИМАНИЕ! Актуально для MODx 2.*
Там на самом донышке пару строк про MODx 3 из официальной документации касательно данной темы
Повышайте свой уровень разработки на MODx. Присоединяйтесь к исследованию Боба (Bob Ray) о том, когда и зачем использовать каждый из трех методов загрузки классов MODX.
Теория выгрузок из 1С в MODX (часть 1 из 2)
И снова привет!
Выгрузка товаров на сайт — это самый, самый частый кейс моей мини-студии. Для реализации мелких-средних интернет-магазинов используем классическую и сверхпопулярную связку MODX+miniShop2, для крупых — нет, но я как-нибудь обязательно расскажу почему.
Выгрузка товаров на сайт — это самый, самый частый кейс моей мини-студии. Для реализации мелких-средних интернет-магазинов используем классическую и сверхпопулярную связку MODX+miniShop2, для крупых — нет, но я как-нибудь обязательно расскажу почему.
Шпаргалка на все случаи жизни
Полезные ссылки, которые Вам пригодятся в некоторых ситуациях.
[multiSite] - Мультисайт на MODX
Привет! Компонент реализует собственно мультисайт на modx. Что он делает по факту? В зависимости от города он ищет во всей странице ключи в соответствии вашего паттерна и заменяет их на содержимое конкретно этого города.


RESTful API - быстрый старт.
Статья — продолжение цикла, рассматривающего создание REST API для MODX со всех сторон.
Часть первая — введение
Рассмотрим как работает встроенный в MODX модуль для RESTful API, настроим первое подключение, разберем базовые моменты.
Часть первая — введение
Рассмотрим как работает встроенный в MODX модуль для RESTful API, настроим первое подключение, разберем базовые моменты.
Nuxt.js - введение
В последнее время в нашем сообществе было много комментариев о будущем MODX, его соответствии времени, и о том, какие технологии сегодня нужно изучать, чтобы не потерять актуальность.
Куда податься, какой фреймворк использовать. Может быть Laravel? Или это слишком сложно, стоит попробовать OctoberCMS? На мой взгляд, смотреть на проблему нужно чуть шире.
Всё, что видит посетитель вашего сайта — это HTML + CSS + JS. Он не знает, каким движком вы их сгенерировали, он не знает, как он работает. Он видит только frontend, а как работает backend — ему без разницы.
Поэтому в 2019 году я советую всем сосредоточиться именно на фронтенде. На максимально приятном и плавном общении пользователя с сайтом, который может быть достигнут современным javascript.
А для этого, очевидно, вам нужно учить современный javascript.
Куда податься, какой фреймворк использовать. Может быть Laravel? Или это слишком сложно, стоит попробовать OctoberCMS? На мой взгляд, смотреть на проблему нужно чуть шире.
Всё, что видит посетитель вашего сайта — это HTML + CSS + JS. Он не знает, каким движком вы их сгенерировали, он не знает, как он работает. Он видит только frontend, а как работает backend — ему без разницы.
Поэтому в 2019 году я советую всем сосредоточиться именно на фронтенде. На максимально приятном и плавном общении пользователя с сайтом, который может быть достигнут современным javascript.
А для этого, очевидно, вам нужно учить современный javascript.