Готовые решения
Прячем ненужные поля товаров minishop'a в зависимости от раздела
При разработке очередного интернет-магазина возникла потребность в большом количестве фильтров по характеристикам товаров. Используя tv или опции тормозов не избежать — нужно расширять родную таблицу ms2_products.
И вроде бы все хорошо, но если в разных разделах нужны разные характеристики, то страница товара в админке превращается в свалку.
И вроде бы все хорошо, но если в разных разделах нужны разные характеристики, то страница товара в админке превращается в свалку.
Tickets сортировка по "форумному принципу"
Всех с наступающем ребятки! Совсем недавно была довольно интересная задачка, нужно было отсортировать последние тикеты по форумному принципу, т.е. вверх поднимается последний опубликованный тикет, либо тикет, в котором последний раз оставляли комментарии. Не нашел в сообществе упоминания чтобы кто-то публиковал как это сделать, по этому решил опубликовать.
Принцип довольно прост, к обычной таблице тикетов подключается таблица комментариев из которой выбирается дата последнего коммента и формируется переменная comment_date_sort. Если тикет не имеет комментариев, то в comment_date_sort идет дата публикации тикета.
За наводку спасибо Илье Уткину (выдрал часть его запроса с другого проекта, над которым он работал), под катом только код.
Принцип довольно прост, к обычной таблице тикетов подключается таблица комментариев из которой выбирается дата последнего коммента и формируется переменная comment_date_sort. Если тикет не имеет комментариев, то в comment_date_sort идет дата публикации тикета.
За наводку спасибо Илье Уткину (выдрал часть его запроса с другого проекта, над которым он работал), под катом только код.
msPre - Массовое редактирование товаров minishop
Устраняем последствия автоматических регистраций
Столкнулся с проблемой автоматической регистрации на сайте. На данный момент порядка 15000 левых аккаунтов которые висят мертвым грузом. Василий вскоре обещал обновление с защитой от автоматических регистраций, а мы пока разберемся как удалить неактивных пользователей без заказа магазина. Под катом код для этого.
Многопользовательский блог, готовый сайт
Всем привет!
Сделали новый сайт — многопользовательский блог с возможностями:
регистрацией и авторизацией;
публикацией материалов как из панели администрирования, так и с фронтенда;
прикрепление галерей к материалам (требуется ms2gallery), включая работу на фронтенде;
прикрепление тегов к материалам, включая работу на фронтенде.
modRelation - Похожие товары для minishop2 и pdoTools
В общем кратенькая заметка, но думаю некоторым поможет, нужно было реализовать правильную перелинковку сайта, а заказчик никак не хотел вручную делать связи, пришлось написать вот такой «Умный» сниппет, который при правильном заполнении каталога вполне неплохо себе справляется с подбором похожих ресурсов, если я ни для кого америку не открыл, то сорян, а если открыл, то могу собрать пакет с этим сниппетом и выложить в modstore бесплатно для более легкой установки :)
ОБНОВЛЕНО:
Компонент доступен для загрузки в modstore
ОБНОВЛЕНО:
Компонент доступен для загрузки в modstore
Генерация PDF из формы FormIt + Генерация PDF из любых данных по кнопке (без FormIt) в MODX Revo
На modx.pro уже есть статья от Володи по генерации PDF.
Ниже хочу предложить альтернативный вариант формирования PDF файла из данных форм FormIt с использованием шаблонизатора Fenom и бесплатного компонента PDFresource
Ниже хочу предложить альтернативный вариант формирования PDF файла из данных форм FormIt с использованием шаблонизатора Fenom и бесплатного компонента PDFresource
CDEK - плагин для выгрузки заказа и получения трек-номера
На волне публикаций Паши Зарубина (тыц, тыц, тыц) решил выложить прикладное решение, которое моему клиенту немножко автоматизирует жизнь и вполне себе нравится. Началось это с того, что в msCDEK не было выгрузки заказов в личный кабинет CDEK. А закончилось тем, что Паша написал свою ГдеПосылку, которая следит за передвижениями посылки по её ID в системе CDEK в том числе. Мой плагин выполняет две задачи:
1. При установке определенного статуса (названного нами «Выгрузка в CDEK») отправляет в CDEK xml-запрос в соответствии с их документацией, по которому в системе создается накладная
2. Принимает в ответ ID накладной и пишет его в поле track заказа.
Для работы в этом плагина нужны оба дополнения — msCDEK и msGdePosylka, поскольку плагин писан немножко на коленке и второпях и некоторые функции я дергал из компонента msCDEK. При наличии времени и желания вполне можно эти функции вынести в отдельный класс и обойтись без msCDEK.
1. При установке определенного статуса (названного нами «Выгрузка в CDEK») отправляет в CDEK xml-запрос в соответствии с их документацией, по которому в системе создается накладная
2. Принимает в ответ ID накладной и пишет его в поле track заказа.
Для работы в этом плагина нужны оба дополнения — msCDEK и msGdePosylka, поскольку плагин писан немножко на коленке и второпях и некоторые функции я дергал из компонента msCDEK. При наличии времени и желания вполне можно эти функции вынести в отдельный класс и обойтись без msCDEK.