26 января 2016, 15:54 Это обычный ресурс со своим шаблоном: ... <section id="content"> <div class="page-content"> {if !$_modx->isAuthenticated($_modx->context.key)} {$_modx->runSnippet('!OfficeAuth', [ 'groups' => 'Users', 'providers' => 'Vkontakte,Facebook,Google,Twitter,Yandex', ])} {elseif !$_modx->hasPermission('vr_admin')} <div class="alert alert-error"> У вас нет доступа к этому разделу. </div> {else} {$_modx->runSnippet('!Office', [ 'action' => 'vrmedia', ])} {/if} </div> </section> ... Сайты на MODX / Разработка новой версии vrmedia.tv 66 +1
26 января 2016, 15:09 Админка сделана через Office, отдельным контроллером — вот анонс этой возможности. Также сделано и на modhost.pro, и на modstore.pro. Готовый простой пример есть в modExtra. Новые курсы я писать пока не планирую. Сайты на MODX / Разработка новой версии vrmedia.tv 66 0
26 января 2016, 15:01 Похоже на то, что веб-сервер пытается самостоятельно получить файл с расширением txt, без PHP. Поэтому и выходит 404, а не запрос на MODX с подстановкой ресурса. Вопросы / Динамический css 13 0
26 января 2016, 14:44 Свои — то есть javascript интерфейс и процессоры идут из компонента vrMedia, но работают с объектами BannerY. Менеджер снаружи не должен создавать баннерные позиции, они уже прописаны в шаблонах. Он может только из них выбирать. А создаю их я, в админке MODX, в родной интерфейсе. Плюс, как можно заметить, здесь картинки загружаются через окошко, а не выбираются из имеющихся на сервере. Добавлять это куда-то не планирую, ибо там много своей логики, нужной только для этого проекта. Сайты на MODX / Разработка новой версии vrmedia.tv 66 0
25 января 2016, 18:49 В msDiscount можно сразу сгенерировать сколько угодно одноразовых купонов на скидку. А после этого ты можешь по ссылке выбирать 1 активный купон и выдавать на печать. Как только он будет активирован — будет выбираться следующий, по очереди, и так пока все сгенерированные купоны не закончатся. Так что да, без проблем. Вопросы / Реально ли сделать это на msDiscount? 1 0
25 января 2016, 17:43 modUserProfile всё равно будет выбираться по умолчанию, но сейчас ты еще добавил Attributes. Так что, Attributes лучше убрать и указать &select=`{"modUserProfile":"fullname,website"}` Проконтролировать правильность построения запроса можно через &showLog=`1`Там же можно посмотреть на скорость выборки. Вопросы / Вывод пользователей при помощи pdoFetch 10 0
25 января 2016, 17:27 Можно еще и несколько параметров убрать, ибо pdoUsers сам делает некоторые присоединения. Вопросы / Вывод пользователей при помощи pdoFetch 10 0
25 января 2016, 17:19 Всё тоже самое можно сделать и через pdoResources и через pdoUsers. Они точно также умеют присоединять таблицы и используют pdoFetch->run(). Вопросы / Вывод пользователей при помощи pdoFetch 10 0
25 января 2016, 17:14 Вообще-то, в pdoTools есть сниппет pdoUsers. Вопросы / Вывод пользователей при помощи pdoFetch 10 0
25 января 2016, 16:00 Как минимум, подтяну галерею до более-менее приличного внешнего вида, основываясь на платной версии. Как максимум, придумаю способ замены встроенной галереи платной версией, со всеми плюшками. Новости и события / Видео докладов с прошедшего MODX Meetup Minsk 2015 18 +1
25 января 2016, 13:46 На вскидку могу посоветовать Selectel или Clodo. Первый лучше и дороже, второй дешевле. Вопросы / Замена digitalocean.com рублевым аналогом 19 +1
24 января 2016, 15:58 Все чанки кэшируются внутри pdoTools и стараются не выполняться через объекты. Там масса всяких оптимизаций. Но и оверхеда всякого достаточно, хотя лично мне скорости вполне хватает, чтобы не морочиться дальше. Решение должно быть достаточно универсально и работать удобно из коробки, без танцев. Сейчас заканчиваю один сайт, полностью построенный на Fenom и готовых дополнениях — все страницы открываются за 0.2 — 0.3 сек., может позже напишу заметку с подробностями. Новые дополнения и их версии / [Twiggy] - шаблонизатор TWIG в MODX Revolution 43 +3
24 января 2016, 12:54 наверняка феном + чистый xPDO тоже хороший результат покажет.Проверил не совсем в чистом виде, а вызовом через сниппет: <?php $pdo = $modx->getService('pdoTools'); return $pdo->getChunk($tpl); При пустом шаблоне документа: [[!Fenom?&tpl=`@INLINE {var $resources = $_modx->getResources([], ['limit' => 4000])} {foreach $resources as $resource} <p>{$resource.id} - {$resource.menuindex} - {$resource.createdon} - {$resource.publishedon}</p> {/foreach} <pre>{$_modx->getInfo()}</pre> `]] Результат: queries: 13 totalTime: 0.3718 s queryTime: 0.0532 s phpTime: 0.3186 s source: database Новые дополнения и их версии / [Twiggy] - шаблонизатор TWIG в MODX Revolution 43 0
24 января 2016, 08:15 Так как msProducts не позволяет присоединить к выборке 2-ое изображение товараПозволяет. Нужно только прописать дополнительный leftJoin. Вопросы / Ссылка на 2-ое изображение при выводе категории 6 0
23 января 2016, 11:01 Markdown известен как раз тем, что не требует редактора. Его можно писать спокойно как обычный текст, а на сайте выводить через сниппет Markdown. Новости и события / mxManager доступен для загрузки в AppStore 38 +1
23 января 2016, 10:55 Отвечает «отец-основатель», который отказывается обучать javascript всех желающих в техподдержке дополнения. Я действительно не понимаю, в чём может быть проблема вывести какие-то значения в чанке, а потом скопировать их через javascript. Если это получается сделать с title и alt, что мешает это сделать с другими элементами? Очевидно, вы просто не знаете, как работать с jQuery. В моём коде title и alt — это атрибуты тега img, поэтому и обращение к ним идёт через image[0].title и image[0].alt. Если рядом с картинкой будет элемент с классом, например, desc, то получить его можно так: var image = $(this).find('img'); // здесь ищем картинку - это из оригинального кода var desc = $(this).find('.desc'); // а рядом можно поискать элемент с классом desc // После этого содержимое элемента desc можно вставить куда угодно. Например, в элемент .mainImageDesc var imageDesc = gallery.find('.mainImageDesc'); imageDesc.text(desc.text());Это весь нужный javascript код. 80 lvl не требуется даже близко. Чтобы всё работало, нужно не забыть вывести описание на страницу: <div class="span2 col-md-2"> <a href="[[+360x270:default=`[[+url]]`]]" class="thumbnail" data-image="[[+url]]"> <img src="[[+120x90]]" alt="[[+alt]]" title="[[+name]]" width="120" height="90"> <div class="desc" style="display:none;">[[+description]]</div> </a> </div>Я вывожу его в скрытом виде, чтобы не мешало. А еще нужно предусмотреть блок для вывода текста в главной картинке <div class="ms2Gallery"> <a rel="fancybox" href="[[+url:default=`/assets/ms2gallery/minishop2/img/web/ms2_big.png`]]" target="_blank"> <img src="[[+360x270:default=`/assets/components/ms2gallery/img/web/ms2_medium.png`]]" width="360" height="270" alt="[[+alt]]" title="[[+name]]" class="mainImage" /> </a> <div class="mainImageDesc">[[+description]]</div> <div class="row"> [[+rows]] </div> </div> Как видно, речь исключительно о работе с javascript, никаких особенностей, связанных с ms2Gallery, здесь нет. Вопросы / Обновление доп полей изображения (ms2Gallery) 2 +1 2
22 января 2016, 17:19 Автор его давно забросил, так что с новыми версиями он не работает. Я им давно не пользуюсь. Вопросы / Тормозит админка 7 +1
22 января 2016, 16:58 Да, это нормальная скорость, обсуждалось много раз. Админка гораздо более сложная и функциональная, поэтому и грузит больше всего. Но: 1. Сохранение работает по Ctrl+S 2. При сохранении документа страница не перезагружается. 3. Есть быстрое редактирование — во всплывающих окошках 4. Есть прямые ссылки на разделы меню и их можно открывать в отдельных окнах 5. Сниппеты и файлы можно перетаскивать на поля документов — будут окошки с выбором параметров и скопированные пути. 6. Асинхронная загрузка меню, комбобоксов и еще много всего. 7. Масса готовых дополнения, в том числе и для улучшения работы. Collections, AdminTools, modDevTools и т.п. В общем, работа в админке Revolution радикально отличается от Evolution. Лично у меня есть один старый сайт Evo и админка там просто ужасно бесит. Вроде всё быстро, а кликать нужно в 2 раза больше. Например, нормально редактировать скрипты и стили невозможно из-за постоянной перезагрузки страницы и поиска места в файле для продолжения. Вопросы / Тормозит админка 7 0
MiniShop3 1.13.0 (Август 2026) @Николай Савин Николай огромное спасибо за ревью, тестирование и саму работу! Движемся дальше — сделаем лучший ИМ для MODX вместе!
gtsAPI 1.1.7 — таблицы на TanStack, инлайн-редактирование как в Excel Prime Vue datatable тупит на 200+ строк и в виртуальном скролинге высота полей фиксирована. Вот нам в итоге и не подошло. Директор сказал расчет должен сразу показываться без пагин...
mxApi — быстрый внешний API для MODX Revolution • зафиксировать публичный контракт EndpointInterface / метаданных по semver, чтобы наш провайдер не ломался на обновлениях;Фактически это уже так, beta стоит просто на всякий случа...
YaSmartCaptcha - защитите ваши формы от спама умной капчей от Яндекс Вообще не понял о чем речь) В системной настройке service_js сейчас указана ссылка smartcaptcha.cloud.yandex.ru/captcha.js Я предложил очистить эту настройку, тогда компонент н...
mxBackup — обезличенные копии MODX в пару кликов Ещё нет, я там разом почти полтора десятка пакетов выложил модератор, вероятно, а шоке.
Gallery3x 3.4.0 - вставка галерей прямо из визуального редактора (CKEditor и TinyMCE RTE) Здравствуйте. Есть консольный скрипт Вот почитайте: docs.ivan345.com/books/gallery3x/page/import-ms2galleryphp
Новые курсы я писать пока не планирую.
Поэтому и выходит 404, а не запрос на MODX с подстановкой ресурса.
Менеджер снаружи не должен создавать баннерные позиции, они уже прописаны в шаблонах. Он может только из них выбирать. А создаю их я, в админке MODX, в родной интерфейсе.
Плюс, как можно заметить, здесь картинки загружаются через окошко, а не выбираются из имеющихся на сервере.
Добавлять это куда-то не планирую, ибо там много своей логики, нужной только для этого проекта.
А после этого ты можешь по ссылке выбирать 1 активный купон и выдавать на печать. Как только он будет активирован — будет выбираться следующий, по очереди, и так пока все сгенерированные купоны не закончатся.
Так что да, без проблем.
Проконтролировать правильность построения запроса можно через
Там же можно посмотреть на скорость выборки.
Как максимум, придумаю способ замены встроенной галереи платной версией, со всеми плюшками.
Но и оверхеда всякого достаточно, хотя лично мне скорости вполне хватает, чтобы не морочиться дальше. Решение должно быть достаточно универсально и работать удобно из коробки, без танцев.
Сейчас заканчиваю один сайт, полностью построенный на Fenom и готовых дополнениях — все страницы открываются за 0.2 — 0.3 сек., может позже напишу заметку с подробностями.
При пустом шаблоне документа:
[[!Fenom?&tpl=`@INLINE {var $resources = $_modx->getResources([], ['limit' => 4000])} {foreach $resources as $resource} <p>{$resource.id} - {$resource.menuindex} - {$resource.createdon} - {$resource.publishedon}</p> {/foreach} <pre>{$_modx->getInfo()}</pre> `]]Результат:
Нужно только прописать дополнительный leftJoin.
Его можно писать спокойно как обычный текст, а на сайте выводить через сниппет Markdown.
Я действительно не понимаю, в чём может быть проблема вывести какие-то значения в чанке, а потом скопировать их через javascript.
Если это получается сделать с title и alt, что мешает это сделать с другими элементами? Очевидно, вы просто не знаете, как работать с jQuery.
В моём коде title и alt — это атрибуты тега img, поэтому и обращение к ним идёт через image[0].title и image[0].alt. Если рядом с картинкой будет элемент с классом, например, desc, то получить его можно так:
Это весь нужный javascript код. 80 lvl не требуется даже близко.
Чтобы всё работало, нужно не забыть вывести описание на страницу:
Я вывожу его в скрытом виде, чтобы не мешало.
А еще нужно предусмотреть блок для вывода текста в главной картинке
Как видно, речь исключительно о работе с javascript, никаких особенностей, связанных с ms2Gallery, здесь нет.
Я им давно не пользуюсь.
Админка гораздо более сложная и функциональная, поэтому и грузит больше всего. Но:
1. Сохранение работает по Ctrl+S
2. При сохранении документа страница не перезагружается.
3. Есть быстрое редактирование — во всплывающих окошках
4. Есть прямые ссылки на разделы меню и их можно открывать в отдельных окнах
5. Сниппеты и файлы можно перетаскивать на поля документов — будут окошки с выбором параметров и скопированные пути.
6. Асинхронная загрузка меню, комбобоксов и еще много всего.
7. Масса готовых дополнения, в том числе и для улучшения работы. Collections, AdminTools, modDevTools и т.п.
В общем, работа в админке Revolution радикально отличается от Evolution.
Лично у меня есть один старый сайт Evo и админка там просто ужасно бесит. Вроде всё быстро, а кликать нужно в 2 раза больше.
Например, нормально редактировать скрипты и стили невозможно из-за постоянной перезагрузки страницы и поиска места в файле для продолжения.