Готовые решения
Content Editor Tools 0.7
Продолжаю пилить свой набор дополнений Content Editor Tools.

Видео работы (как, кстати, вставлять видео?): youtu.be/uQEYW7e6Z54
Новое в CET_assetsTV:
CET_assetsTV: yadi.sk/d/oEhPx2BKoEywn
CET_CKEditor: yadi.sk/d/PCWFwPG7oEyya
Это до сих пор сильно бета. И вообще, не факт что работает :-)
Видео работы (как, кстати, вставлять видео?): youtu.be/uQEYW7e6Z54
Новое в CET_assetsTV:
- Возможность отобразить дропзону для загрузки файлов в отдельной панельке внизу окна.
- Возможность выбрать и вставить в content сразу несколько файлов.
- Новый плагин типографа (в настройках плагина на выбор: типографы Лебедева или Муравьева)
- Поддержка bootstrap (так же включается в настройках)
- Добавлен плагин bootstrapTabs
- Настроен autoGrow
CET_assetsTV: yadi.sk/d/oEhPx2BKoEywn
CET_CKEditor: yadi.sk/d/PCWFwPG7oEyya
Это до сих пор сильно бета. И вообще, не факт что работает :-)
Перенос фото товаров из TV в галерею miniShop2
Постановка задачи: был интернет магазин, где товары — обычные ресурсы, а изображения — TV поля (в моем примере 5 штук). Необходимо сделать товары типа msProduct, а изображения перенести в стандартную галерею miniShop2.
Небольшой скрипт, решающий вторую часть задачи, ниже. (первая часть задачи решается примерно так)
Что он делает? Скрипт берет все записи с типом msProduct, и копирует изображения из TV в галерею miniShop2.
Надеюсь кому-нибудь будет полезным (скрипт не 100% универсальный, подгоняйте под себя! и да, я запускаю его из Console, если у вас просто php файл, то необходимо сначала авторизоваться в админке через API).
Небольшой скрипт, решающий вторую часть задачи, ниже. (первая часть задачи решается примерно так)
Что он делает? Скрипт берет все записи с типом msProduct, и копирует изображения из TV в галерею miniShop2.
Надеюсь кому-нибудь будет полезным (скрипт не 100% универсальный, подгоняйте под себя! и да, я запускаю его из Console, если у вас просто php файл, то необходимо сначала авторизоваться в админке через API).
mSocial - первый релиз.
Представляю Вашему вниманию mSocial. Что умеет на данный момент.
— Оправлять посты на стену в Twitter при сохранении ресурса.
— Для всех запросов используется оффициальное API.
— Использование простого шаблонизатора на основе чанка.
— Добавлять к посту вложенные в тело сообщения изображения (до 4 штук) — (на дохлых хостингах могут возникать проблемы).
— Простая масштабируемость, можно легко привинтить новые соцсети.
— Оправлять посты на стену в Twitter при сохранении ресурса.
— Для всех запросов используется оффициальное API.
— Использование простого шаблонизатора на основе чанка.
— Добавлять к посту вложенные в тело сообщения изображения (до 4 штук) — (на дохлых хостингах могут возникать проблемы).
— Простая масштабируемость, можно легко привинтить новые соцсети.
Поиск по extended на русском и Английском
Долго ковыряя всякие where которые не работают:
[[!pdoUsers?
&sortdir=`DESC`
&tpl=`user`
&where=`{"`modUserProfile`.`extended`:LIKE":"%\"callsign\":\"РУССКИЙ ЯЗЫК\"%"}`
]]набросал рабочий механизм долгожданного поиска для сниппета))Сборка «blgt» — готовый блог
Соединяем EasyComm и mFilter2
Всем привет, и сразу к делу (кстати пишу первый раз тут, если будут ошибки — исправим).
Довольно таки часто требуется в интернет магазинах или каталогах добавить возможность пользователям писать отзывы о товарах, с этим очень хорошо справляется компонент EasyComm. Но очень часто возникает и смежная задача, слепить EasyComm с mFilter2, а именно сделать сортировку по количеству отзывов или по рейтингу товара. Выкладываю готовое решение.
Добавляем в вызов mFilter2 следующий код:
Довольно таки часто требуется в интернет магазинах или каталогах добавить возможность пользователям писать отзывы о товарах, с этим очень хорошо справляется компонент EasyComm. Но очень часто возникает и смежная задача, слепить EasyComm с mFilter2, а именно сделать сортировку по количеству отзывов или по рейтингу товара. Выкладываю готовое решение.
Добавляем в вызов mFilter2 следующий код:
&loadModels=`easycomm`
&where=`{"class_key":"msProduct"}`
&leftJoin=`{
"ecThread": {
"class": "ecThread",
"on": "msProduct.id = ecThread.resource"
}
}`
&select=`{
"msProduct": "*",
"ecThread": "ecThread.rating_simple AS rating, ecThread.count AS reviews"
}` Генерация PDF на основе данных с формы в MODX Revo
Довольно часто возникает необходимость генерировать pdf на основе данных с формы.
Ниже небольшое решение как это сделать если стоит пакет ExportPage
Ниже небольшое решение как это сделать если стоит пакет ExportPage
[UserKarma] Версия 1.0.0
Вчера прозвучало очень интересное предложение по поводу компонента, который позволил бы автоматически перебрасывать пользователей по различным группам в зависимости от различных условий.
Не знаю на сколько я правильно понял человека, но надеюсь это будет близко к тому, что он хотел. Сам же я решил это сделать так: пользователям добавляется новое свойство userkarma (классу modUser), в которое записывается числовое значение. В специальном интерфейсе создаются произвольные правила в каких диапазонах кармы пользователь будет добавляться в какие группы или из каких удаляться.

Далее все очень просто — на обновление пользователя навешен плагин, который в зависимости от кармы пользователя меняет его группы.
Не знаю на сколько я правильно понял человека, но надеюсь это будет близко к тому, что он хотел. Сам же я решил это сделать так: пользователям добавляется новое свойство userkarma (классу modUser), в которое записывается числовое значение. В специальном интерфейсе создаются произвольные правила в каких диапазонах кармы пользователь будет добавляться в какие группы или из каких удаляться.

Далее все очень просто — на обновление пользователя навешен плагин, который в зависимости от кармы пользователя меняет его группы.
modResourceField. Упрощаем работу с TV часть 2.
Не так давно Сергей Шлоков написал статью Упрощаем работу с TV. Видно, что технология эта вызвала интерес у общественности, но данная реализация имеет очень много подводных камней. Сам я это все копаю уже очень давно, не фуллтайм, но сталкивался. В результате на свет появились две довольно объемные заметки (раз и два). Если кто не поленится прочитать, думаю, сможет представить, сколько много тонкостей там имеется. С некоторыми из них Сергей в процессе столкнулся. Но это не все еще имеющиеся проблемы. Попробую перечислить основные.
Необходимость задачать разные имена колонок и ТВшек.
Это Сергей у себя в топике описывал, не буду вдаваться в подробности.
Дублирование значений в виде ненужных запией в таблицу ТВшек.
Гвоздь (сорри, не знаю имени), написал в комментарии про эту проблему и привел плагин, решающий ее, но на это никто не отреагировал (видимо, мало кого заинтересовало решение, в несколько раз превосходящее по объему предложенный продукт).
Необходимость задачать разные имена колонок и ТВшек.
Это Сергей у себя в топике описывал, не буду вдаваться в подробности.
Дублирование значений в виде ненужных запией в таблицу ТВшек.
Гвоздь (сорри, не знаю имени), написал в комментарии про эту проблему и привел плагин, решающий ее, но на это никто не отреагировал (видимо, мало кого заинтересовало решение, в несколько раз превосходящее по объему предложенный продукт).
Tickets. Авто ориентация при загрузке.
Заметил на одном из своих сайтов, что изображение, добавленные через фронт компонентом Тикетс иногда имеют неправильную ориентацию. При разбирательстве оказалось что программы для просмотра современных операционных систем (если не ошибаюсь, начиная с Windows 8) автоматически определяют ориентацию jpeg изображений на основе записи Orientation в EXIF и пользователь просто не видит что изображение находится «вверх ногами» и загружает его без исправления.
