Иван Бондаренко
С нами с 30 января 2013; Место в рейтинге пользователей: #91easyComm 1.7.0. Расширенный рейтинг
В версии 1.7.0 я добавил возможность отобразить подробную информацию об оценках, которые ставили пользователи.
[YandexMaps2] 1.1.2 Полноценная работа с mFilter2 и кастомизация плагинами
- Добавлен новый метод работы с mFilter2, поддерживающий вывод результатов в текстовом виде
- Добавлено событие плагина ymOnLoadObjects с параметрами: array $data, array $objects, array $snippetProperties
- Добавлен параметр objectsInScope в сниппет YandexMaps2
- Добавлена системная настройка ym2_objects_in_scope для бек-энда
- Добавлены параметры defaultIconContent, defaultIconCaption и defaultBalloonContent в сниппет YandexMaps2
- Добавлен параметр scrollZoom в сниппет YandexMaps2
- Добавлен перехват ошибки из-за некорректного JSON в default.js
- Поправлено большинство конфликтов, возникающих из-за повторной загрузки jQuery
Новая Google reCAPTCHA(v2) для Office
По примеру Новая Google reCAPTCHA(v2) для FormIt сделал reCAPTCHA для office.
Tickets сортировка по "форумному принципу"
Всех с наступающем ребятки! Совсем недавно была довольно интересная задачка, нужно было отсортировать последние тикеты по форумному принципу, т.е. вверх поднимается последний опубликованный тикет, либо тикет, в котором последний раз оставляли комментарии. Не нашел в сообществе упоминания чтобы кто-то публиковал как это сделать, по этому решил опубликовать.
Принцип довольно прост, к обычной таблице тикетов подключается таблица комментариев из которой выбирается дата последнего коммента и формируется переменная comment_date_sort. Если тикет не имеет комментариев, то в comment_date_sort идет дата публикации тикета.
За наводку спасибо Илье Уткину (выдрал часть его запроса с другого проекта, над которым он работал), под катом только код.
Принцип довольно прост, к обычной таблице тикетов подключается таблица комментариев из которой выбирается дата последнего коммента и формируется переменная comment_date_sort. Если тикет не имеет комментариев, то в comment_date_sort идет дата публикации тикета.
За наводку спасибо Илье Уткину (выдрал часть его запроса с другого проекта, над которым он работал), под катом только код.
удаление списка товаров miniShop2 по артиклу
Подскажите как реализовать удаление списка товаров miniShop2 по артиклу?
База постоянно обновляется, старые товары нужно удалять, накопилось более 1000 товаров на удаление.
База постоянно обновляется, старые товары нужно удалять, накопилось более 1000 товаров на удаление.
mFilter2 и оптимизация скорости на 7k товарах
Всем, кто хоть раз пытался завести mFilter2 на большом кол-ве товаров и хотя-бы 10 опциях в фильтре, известно, что тормозов не избежать. Вот и мне попался на днях сайт, в котором, казалось бы, всего-то 7000 товаров и 10 опций на странице каталога. Однако сниппет фильтра отрабатывал за 3-4 секунды. Переписал на Fenom — стал отрабатывать за 2-3 секунды.
Не годится! Тем более, что у заказчика было требование: «Чтобы сайтом было комфортно пользоваться». Что-ж, взял задачу — надо решать!
Дебаг показал, что проблема в методе mse2FiltersHandler::getMsOptionValues, а именно в запросе (7k товаров!), который выглядит как-то так:
SELECT `product_id`, `key`, `value` FROM `modx_ms2_product_options` AS `msProductOption`
WHERE (`msProductOption`.`product_id` IN (3394,3408,еще 7 тысяч ID)
AND `msProductOption`.`key` IN ('atr_n1','atr_n6','atr_n5','atr_n12','atr_n43','atr_n46','atr_n29','atr_n11','atr_n44','atr_n2'))
[xLike] Идеальная система лайков с оптимистичным интерфейсом и правильной формулой
Пакет довольно прост и одновременно функционален. Выполняет систему рейтинга для любого объекта, по-умолчанию, для ресурсов. Чем-то напоминает систему лайков на YouTube, в частности, в пакете реализован оптимистичный интерфейс.
Также, особенностью компонента является правильный подсчет рейтинга на основе вычисления нижней границы доверительного интервала Вильсона для параметра Бернулли. По-простому: эта формула не даст встать новым записям с 1 лайком и 0 дизлайками выше более старых записей с сильным рейтингом.
Список преимуществ:
Также, особенностью компонента является правильный подсчет рейтинга на основе вычисления нижней границы доверительного интервала Вильсона для параметра Бернулли. По-простому: эта формула не даст встать новым записям с 1 лайком и 0 дизлайками выше более старых записей с сильным рейтингом.
Список преимуществ:
- Оптимистичный интерфейс,
- Наиболее правильная формула вычисления рейтинга,
- Работа с любыми объектами (modResource, modUser, кастомные объекты),
- Голосование гостями,
- Анимированное изменение полосы/числа рейтинга,
- Событие плагина — xLikeOnVote.
Редирект на свою страницу после оформления заказа
Для Minishop2 версий >= 2.4.* Думаю, информация будет полезна начинающим разработчикам: можно на простой задаче заодно и немного разобраться в логике работы магазина.
Где убрать обрезку телефона при оформлении заказа?
Некоторые пользователи вводят телефон например в таком формате:
На демосайте минишопа точно такая же ситуация.
+7-999-999-99-99Данные уходят на сервер сразу после ввода значения, и приходят в формате json с обрезанной последней цифрой телефона:
{"success":true,"message":"","data":{"phone":"+7-999-999-99-9"}}
Таким образом, клиентам невозможно дозвониться… Искал искал где это убирается, не смог найти. Подскажите кто-нибудь.На демосайте минишопа точно такая же ситуация.
Фильтрация тикетов по "автору" или пользователю
Добрый день.
Есть ЛК со списком «статей», в роли ресурсов и управления в консоли используются тикеты.
Задача: вывод тикетов (фильтрация) на странице ЛК по пользователю, который авторизовался.
Дополнительное поле, ссылающееся на пользователей системы мне создать не удалось (если подскажете как, пожалуйста)
Т.к. п.1 не смогу сделать, решил ставить в «Автора» пользователя, по которому будет фильтрация и, соответственно, вывод списка «статей».
Имеющаяся проблема:
1. в настройках раздела с тикетами указываю условия
3. Авторизуюсь на сайте и ничего не выводится.
Итог:
1) Подскажите как добавить тикетам кастомное поле, в котором можно выбрать пользователя
2) Сделать фильтрацию тикетов на странице по Автору или кастомному полю.
Использую Login для авторизации.
Есть ЛК со списком «статей», в роли ресурсов и управления в консоли используются тикеты.
Задача: вывод тикетов (фильтрация) на странице ЛК по пользователю, который авторизовался.
Дополнительное поле, ссылающееся на пользователей системы мне создать не удалось (если подскажете как, пожалуйста)
Т.к. п.1 не смогу сделать, решил ставить в «Автора» пользователя, по которому будет фильтрация и, соответственно, вывод списка «статей».
Имеющаяся проблема:
1. в настройках раздела с тикетами указываю условия
[[!pdoPage?
&element=`getTickets`
&user=`[[!author]]`
]]
2. Создаю тикет, указываю пользователя в поле автор (себя)3. Авторизуюсь на сайте и ничего не выводится.
Итог:
1) Подскажите как добавить тикетам кастомное поле, в котором можно выбрать пользователя
2) Сделать фильтрацию тикетов на странице по Автору или кастомному полю.
Использую Login для авторизации.