Павел Гвоздь
С нами с 31 мая 2015; Место в рейтинге пользователей: #3[tvSuperSelect] 1.1.1 с новыми сниппетами для вывода
pdoSitemap и дата в формате ISO-8601
Здравствуйте. По идее у сайтмапов в xml формате должна быть дата ISO-8601, а у сниппета pdoSitemap она в виде «2016-03-02». Как её изменить, не прибегая к созданию сниппетов? Феном, к сожалению, почему-то pdoSitemap не кушает в чанке &tpl.
Анонс xTesting. Система тестирования и сертифицирования
![](/assets/images/tickets/7930/2eae2bfef8a87f9c8de3f9bc917bf8c6687b3303_thumb.jpg)
Пишу систему тестирования пользователей с прикруткой сертификатов к аккаунту для каждого пройденного курса. Хотелось бы, чтобы вы высказали свои пожелания, т.к. намерен реализовать компонент, как можно более универсальным. Что конкретно вы хотели бы видеть в данной системе?
Пока реализовал такую структуру в бекенде:
⊢ Курс
⊢ Модуль
⊢ Тест
⊢ Вопрос
⊢ Ответ
Скрипт создающий sudo юзера
![](/assets/images/tickets/7915/a65883b974a466205e20f3f83628a6711fee022e_thumb.jpg)
Бывают ситуации, что пароль от админа теряется, а к почте, на которую зареган админ, доступа нет. Данный скрипт создаёт sudo юзера при запуске с рандомным логином и паролем. Дальше уже можно через этого юзера поменять пароль от админа, а залогинившись под админом — удалить только что созданного sudo. Скрипт просто надо закачать в папку с MODX и запустить.
msGallery из MS2 и tmp файлы ms_xxxxxx в корне сайта
[tvSuperSelect] Тип TV: автозаполняемый список из ms2, для реализации тегов
![](/assets/images/tickets/7802/65bd01c402ffdcba0868424c4c7d3ada53ab8d0d.png)
Это такой тип ТВ поля, в который можно вбивать значения «на ходу». Другими словами, мы не указываем «Возможные значения» при редактировании ТВ, а вбиваем эти значения в это поле на странице редактирования ресурса.
Очень удобно создавать из такого поля «Теги» на сайте, потому что помимо добавления значений «на ходу», у нас есть возможность выбрать уже используемые значения из других ресурсов.
[msPromoCode] 1.1.0-pl с одноразовыми купонами для акций
![](/assets/images/tickets/7652/f5fa28af1cea9bb5a6dae74a3cd66cc5cc5dfc94.png)
В новой версии msPromoCode добавлены акции, для которых можно сгенерировать пачку купонов по указанной маске. У акции можно указать скидку для всех купонов, дату начала и окончания действия акции, товары и категории, на которые распространяется акция. А в любом из сгенерированных купонов можно переопределить эти настройки, отметив галочку "Заморозить" (это позволит при сохранении акции купон оставлять нетронутым). У акции можно скачать список купонов в CSV формате.
yTranslit и ошибка в логах при создании ресурса
Когда добавляю ресурс в логах обязательно появляется вот такая ошибка. Это от того, что параметр «text» в массиве пуст, наверное нужно поправить это дело в пакете?
[2016-01-15 16:25:01] (ERROR @ /adminka/index.php) [yTranslit] Service returned an error. Array
(
[code] => 200
[lang] => ru-en
[text] => Array
(
[0] =>
)
)
[ms2GalleryBabelCopying] Копирует файлы ms2Gallery из языковых версий
![](/assets/images/tickets/7588/7adba0b3eca1cbe02927e4c0053efbf445aaa5e3_thumb.jpg)
Маленький пакет реализует удобное использование ms2Gallery в связке с Babel, предоставляя возможность дублировать файлы из ресурсов другой языковой версии в текущую.
У меня часто складывалась ситуация, когда приходилось заливать файлы для страницы одного языка, а потом создавать для него перевод и перезаливать всё заново. Надоело. Написал пакет для решения этой задачи автоматически.
[msPromoCode] Скидочные промо-коды для miniShop2
![](https://file.modx.pro/files/c/9/f/c9facdaba27d0bb7a5fc0bf6d17e73b1.png)
- Полная AJAX обработка применения/удаления купона к заказу.
- Промо-код можно добавить не только с основной страницы бекенда. На странице товара также есть вкладка "Промо-коды", при добавлении кода из которой текущий товар сразу привяжется к этому промо-коду. Это очень удобно, когда надо добавить купон только для одного товара.
- Если к купону не привязано ниодного товара или раздела — купон действует на весь магазин.
- Скидку можно указать, как для купона в целом, так и для товара или раздела, привязанного к купону. При этом, чем индивидуальнее будет указана скидка, тем она первостепеннее будет восприниматься компонентом. К примеру, у нас есть купон со скидкой 20%, есть Раздел 1, привязанный к этому купону, со скидкой 80% и есть товар лежащий в Разделе 1, привязанный к этому купону, со скидкой 40%. Для данного товара скидка будет 40%.
- При отправке заказа, ровно как и при открытии страницы со сниппетом [[!mspcForm]], компонент проверяет, действителен ли ещё купон. Если нет, то сообщает об этом юзеру, удаляет купон из формы и обновляет цены. Это делает невозможным воспользоваться купоном:
а) который был отключён,
б) время действия которого завершилось,
в) количество которого закончилось.
- Если заказ был оформлен с промо-кодом, то в бекенде в модальном окне заказа вверху на первой вкладке появится промо-код и сумма скидки.
- JS на странице вызова сниппета [[!mspcForm]] вызывается в конце страницы для того, чтобы ваши колбеки miniShop2, которые могут пересекаться с используемыми в пакете, были клонированы и успешно выполнены.
![](https://file.modx.pro/files/4/d/1/4d1b1efb5043b39395279a1931e38064.png)