Новые дополнения и их версии
[ChangePack]-Компонент синхронизации копии сайта
Привет всем, сейчас разрабатываю сайт на MODx. Сайт делаю на локалхост, а затем копирую его в интернет. Сейчас, синхронизацию изменений, можно, делать sql-дампом. Но, скоро, сайт станет работать и, при этом, надо еще будет допиливать его. Стала задача забрасывать на рабочий сайт изменения, при этом не трогая его рабочие данные. Как, истинно, ленивый, решил это дело автоматизировать и написал компонент.
[sFilters] - Динамические свойства товаров для MS2
Привет всем, как-то меня посетила мысль: а не плохо было бы сделать удобным создание и размещение новых свойств товара (динамически), таким образом, чтобы это не представляло трудности для программиста, не отнимало у него кучу времени на правильную настройку и объяснение менеджерам сайта как они должны заполнять те или иные опции у товарах чтоб в итоге он работал так как надо.
Вкратце: получился отличный плагин который позволяет гибко управлять свойствами товаров не думая о том, что одни классы могут переписать другие или о том как заставить работать вместе компонентов разных авторов купленных в магазине, но очень нужных в хозяйстве.
Вкратце: получился отличный плагин который позволяет гибко управлять свойствами товаров не думая о том, что одни классы могут переписать другие или о том как заставить работать вместе компонентов разных авторов купленных в магазине, но очень нужных в хозяйстве.
[msKuponator] Сайт-купонатор на miniShop2
[DaData] - интеграция с сервисом DaData
[DaData] — интеграция с сервисом DaData.
DaData.ru исправляет проблемные адреса, ФИО и телефоны автоматически, по 5–10 копеек за запись.
А бесплатные Подсказки помогают клиентам за пару секунд вводить правильные адреса, ФИО, email, реквизиты компаний и банков.
в пакете реализованы методы:
— подсказок
— стандартизации
— геолокации
— актуальности справочников
— баланса
— поиск адреса по коду КЛАДР или ФИАС
пример работы посмотреть тут location.vgrish.ru/index.php?id=10
DaData.ru исправляет проблемные адреса, ФИО и телефоны автоматически, по 5–10 копеек за запись.
А бесплатные Подсказки помогают клиентам за пару секунд вводить правильные адреса, ФИО, email, реквизиты компаний и банков.
в пакете реализованы методы:
— подсказок
— стандартизации
— геолокации
— актуальности справочников
— баланса
— поиск адреса по коду КЛАДР или ФИАС
пример работы посмотреть тут location.vgrish.ru/index.php?id=10
[switchUser] Версия 1.3.2
И вот вышла очередная версия switchUser, на этот раз, думаю, она уже стабильная, ибо пофиксил практически все, что можно. По традиции, опишу основные проблемные моменты и как с ними боролся.
В данном случае самая проблема возникла с компонентом Office. Это на самом деле очень ожидалось, как и в случае с Login и т.п. И это не проблема самих компонентов, а историческая неоднозначность самого MODX-а. Дело в том, что в MODX есть два наиболее часто используемых метода по политикам:
1. $modx->hasPermission() (Он же $modx->context->checkPolicy()) — проверка прав на контекст.
2. $modx->user->isAuthenticated() — проверка авторизованности пользователя в контексте (по умолчанию в web).
Прикол в том, что $modx->hasPermission() не проверяем авторизацию пользователя в данном контексте. Этот метод просто проверяет права пользователя, и не только не важно авторизован пользователь в этом контексте или нет, но и не важно авторизован ли пользователь вообще (то есть это может быть даже просто аноним). У пользователя или есть запрошенные права, или нету. И вот получается, что пользователь есть, и у него есть права, но компоненты, проверяющие пользователя методом $modx->user->isAuthenticated() просто не видят его в текущем контексте, из-за чего и получается путаница.
В данном случае самая проблема возникла с компонентом Office. Это на самом деле очень ожидалось, как и в случае с Login и т.п. И это не проблема самих компонентов, а историческая неоднозначность самого MODX-а. Дело в том, что в MODX есть два наиболее часто используемых метода по политикам:
1. $modx->hasPermission() (Он же $modx->context->checkPolicy()) — проверка прав на контекст.
2. $modx->user->isAuthenticated() — проверка авторизованности пользователя в контексте (по умолчанию в web).
Прикол в том, что $modx->hasPermission() не проверяем авторизацию пользователя в данном контексте. Этот метод просто проверяет права пользователя, и не только не важно авторизован пользователь в этом контексте или нет, но и не важно авторизован ли пользователь вообще (то есть это может быть даже просто аноним). У пользователя или есть запрошенные права, или нету. И вот получается, что пользователь есть, и у него есть права, но компоненты, проверяющие пользователя методом $modx->user->isAuthenticated() просто не видят его в текущем контексте, из-за чего и получается путаница.
[GeoLocation] - геолокации пользователя. (1.0.3)
[GeoLocation] — компонент реализует функционал геолокации. Используется библиотека SxGeo.
Изменения:
— доработан функционал выбора по умолчанию
— добавлены поля «ресурс» и «изображение»
— добавлена возможность форматирования данных
— добавлена работа c INLINE чанками
Изменения:
— доработан функционал выбора по умолчанию
— добавлены поля «ресурс» и «изображение»
— добавлена возможность форматирования данных
— добавлена работа c INLINE чанками
[switchUser] Версия 1.2.0
Совсем недавно вышла версия 1.1.0, и вот уже сегодня пришлось выпустить версию 1.2.0 :) Поступила жалоба, что на сайте с мультиязычностью не корректно работают лексиконы.
Если очень коротко: то модуль был почти полностью переписан. Главные изменения:
1. Основную инициализацию перенесли из OnWebPageInit в OnMODXInit.
2. Отказались от механизма смены контекстов.
Далее будут детали.
Если очень коротко: то модуль был почти полностью переписан. Главные изменения:
1. Основную инициализацию перенесли из OnWebPageInit в OnMODXInit.
2. Отказались от механизма смены контекстов.
Далее будут детали.
[SkypeNotify] - уведомление в скайп для MODX
[SkypeNotify] — собственно уведомление в скайп для MODX.
подключить и инициализировать skypenotify
подключить и инициализировать skypenotify
$skypenotify = $modx->getService('skypenotify')
$skypenotify->initialize();
подключить аккаунт скайп$skypenotify->connect('login', 'password');
отправить сообщение$skypenotify->sendMessage('login', 'Привет Боб, как дела?');
[modNewYear] 1.0.0
Решил накидать какой-нибудь новогодний компонент.
Получилась гирлянда на всех страницах фронтенда =).
Получилась гирлянда на всех страницах фронтенда =).