Павел Гвоздь
С нами с 31 мая 2015; Место в рейтинге пользователей: #2Анонс xTesting. Система тестирования и сертифицирования
Пишу систему тестирования пользователей с прикруткой сертификатов к аккаунту для каждого пройденного курса. Хотелось бы, чтобы вы высказали свои пожелания, т.к. намерен реализовать компонент, как можно более универсальным. Что конкретно вы хотели бы видеть в данной системе?
Пока реализовал такую структуру в бекенде:
⊢ Курс
⊢ Модуль
⊢ Тест
⊢ Вопрос
⊢ Ответ
Скрипт создающий sudo юзера
Бывают ситуации, что пароль от админа теряется, а к почте, на которую зареган админ, доступа нет. Данный скрипт создаёт sudo юзера при запуске с рандомным логином и паролем. Дальше уже можно через этого юзера поменять пароль от админа, а залогинившись под админом — удалить только что созданного sudo. Скрипт просто надо закачать в папку с MODX и запустить.
msGallery из MS2 и tmp файлы ms_xxxxxx в корне сайта
[tvSuperSelect] Тип TV: автозаполняемый список из ms2, для реализации тегов
Это такой тип ТВ поля, в который можно вбивать значения «на ходу». Другими словами, мы не указываем «Возможные значения» при редактировании ТВ, а вбиваем эти значения в это поле на странице редактирования ресурса.
Очень удобно создавать из такого поля «Теги» на сайте, потому что помимо добавления значений «на ходу», у нас есть возможность выбрать уже используемые значения из других ресурсов.
[msPromoCode] 1.1.0-pl с одноразовыми купонами для акций
В новой версии 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 из языковых версий
Маленький пакет реализует удобное использование ms2Gallery в связке с Babel, предоставляя возможность дублировать файлы из ресурсов другой языковой версии в текущую.
У меня часто складывалась ситуация, когда приходилось заливать файлы для страницы одного языка, а потом создавать для него перевод и перезаливать всё заново. Надоело. Написал пакет для решения этой задачи автоматически.
[msPromoCode] Скидочные промо-коды для miniShop2
- Полная AJAX обработка применения/удаления купона к заказу.
- Промо-код можно добавить не только с основной страницы бекенда. На странице товара также есть вкладка "Промо-коды", при добавлении кода из которой текущий товар сразу привяжется к этому промо-коду. Это очень удобно, когда надо добавить купон только для одного товара.
- Если к купону не привязано ниодного товара или раздела — купон действует на весь магазин.
- Скидку можно указать, как для купона в целом, так и для товара или раздела, привязанного к купону. При этом, чем индивидуальнее будет указана скидка, тем она первостепеннее будет восприниматься компонентом. К примеру, у нас есть купон со скидкой 20%, есть Раздел 1, привязанный к этому купону, со скидкой 80% и есть товар лежащий в Разделе 1, привязанный к этому купону, со скидкой 40%. Для данного товара скидка будет 40%.
- При отправке заказа, ровно как и при открытии страницы со сниппетом [[!mspcForm]], компонент проверяет, действителен ли ещё купон. Если нет, то сообщает об этом юзеру, удаляет купон из формы и обновляет цены. Это делает невозможным воспользоваться купоном:
а) который был отключён,
б) время действия которого завершилось,
в) количество которого закончилось.
- Если заказ был оформлен с промо-кодом, то в бекенде в модальном окне заказа вверху на первой вкладке появится промо-код и сумма скидки.
- JS на странице вызова сниппета [[!mspcForm]] вызывается в конце страницы для того, чтобы ваши колбеки miniShop2, которые могут пересекаться с используемыми в пакете, были клонированы и успешно выполнены.
ExtJS. Запись данных методом grid.store.save(). Реально ли?
Здравствуйте!
Есть MODx.grid.Grid с данными, которые синхронятся с ComboBox. Если в Grid появляется что-то, то в ComboBox удаляется. То бишь мы кликнули на пункте в ComboBox — он появился в Grid, а из ComboBox удалился. Вопрос заключается в том, что надо после добавления нового пункта в Grid — сохранять данные. Точнее отправлять запрос на процессор, а там я уже сам разберусь. Чёт не пойму, как это делается… Точнее куда писать данные типа action, url, чтобы сообщить Grid/Store о моём процессоре работающем с сохранением данных?
Есть MODx.grid.Grid с данными, которые синхронятся с ComboBox. Если в Grid появляется что-то, то в ComboBox удаляется. То бишь мы кликнули на пункте в ComboBox — он появился в Grid, а из ComboBox удалился. Вопрос заключается в том, что надо после добавления нового пункта в Grid — сохранять данные. Точнее отправлять запрос на процессор, а там я уже сам разберусь. Чёт не пойму, как это делается… Точнее куда писать данные типа action, url, чтобы сообщить Grid/Store о моём процессоре работающем с сохранением данных?
ExtJS и динамически обновляемый CheckboxGroup
Здравствуйте!
Надо сделать динамически обновляемый Ext.form.CheckboxGroup, а он к сожалению не принимает параметр store… Я пытаюсь сделать так:
Надо сделать динамически обновляемый Ext.form.CheckboxGroup, а он к сожалению не принимает параметр store… Я пытаюсь сделать так: