Alexey
С нами с 02 августа 2015; Место в рейтинге пользователей: #108Устраняем последствия автоматических регистраций
Столкнулся с проблемой автоматической регистрации на сайте. На данный момент порядка 15000 левых аккаунтов которые висят мертвым грузом. Василий вскоре обещал обновление с защитой от автоматических регистраций, а мы пока разберемся как удалить неактивных пользователей без заказа магазина. Под катом код для этого.
Генерация PDF из формы FormIt + Генерация PDF из любых данных по кнопке (без FormIt) в MODX Revo
На modx.pro уже есть статья от Володи по генерации PDF.
Ниже хочу предложить альтернативный вариант формирования PDF файла из данных форм FormIt с использованием шаблонизатора Fenom и бесплатного компонента PDFresource
Ниже хочу предложить альтернативный вариант формирования PDF файла из данных форм FormIt с использованием шаблонизатора Fenom и бесплатного компонента PDFresource
[mSync+MsOptionprice] Импорт торговых предложений
Размещаю здесь, так как рейтинга не хватает)
Добрый день! Была довольно интересная задача по интеграции каталога 1-с с каталогом интернет магазина. В 1-с есть такая замечательная вещь как торговые предложения, которые по сути являются одним и тем же товаром только имеют различные параметры(размер/цвет/запах/количество и пр.) и так же могут обладать своими уникальными артикулами с ценами, для решения подобного функционала был использован отличный компонент msOptionsPrice2, который реализует модификации товара, куда и будем в последствии помещать наши торговые предложения. Но прежде чем создавать модификации требуется этот каталог еще получить из 1-с, в этом нам поможет компонент mSync, в его использовании нет никаких секретов, главное понимать что и откуда берется, а так же заранее изучить структуру файлов импорта.
Добрый день! Была довольно интересная задача по интеграции каталога 1-с с каталогом интернет магазина. В 1-с есть такая замечательная вещь как торговые предложения, которые по сути являются одним и тем же товаром только имеют различные параметры(размер/цвет/запах/количество и пр.) и так же могут обладать своими уникальными артикулами с ценами, для решения подобного функционала был использован отличный компонент msOptionsPrice2, который реализует модификации товара, куда и будем в последствии помещать наши торговые предложения. Но прежде чем создавать модификации требуется этот каталог еще получить из 1-с, в этом нам поможет компонент mSync, в его использовании нет никаких секретов, главное понимать что и откуда берется, а так же заранее изучить структуру файлов импорта.
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'))
msOptionsPrice2 и составной товар
Возникла необходимость при помощи msOptionsPrice2 реализовать составной товар. Оказалось, что компонент не умеет прибавлять к начальной цене товара несколько цен из модификаций одной опции.
Например, есть опция Наполнители, у нее около 20 значений. На фронте, при выборе каждого из значений, цена товара должна увеличиваться на N рублей. Проблема заключается в том, что имена тегам чекбоксов мы даем в виде массива:
<input type="checkbox" name="cb[]">
Компонент, в свою очередь, с таким работать не умеет. Предлагаю решение в четыре простых шага![msOptionsPrice2] работа с остатками
Опишу решение ряда проблем с которыми столкнулся сам. msOptionsPrice2 очень крутое решение для minishop2 но для нормальной работы с остатками там очень мало функционала.
Проблемы:
Проблемы:
- На странице каталога и товара нет плейсхолдера, с помощью которого можно было бы скрыть кнопку добавления в корзину и вывести свою информацию
- На странице каталога при добавлении товара проверяется на наличии первая модификация, и, если она отсутствует, то выскакивает оповещение о недоступности товара
- На миникарточке указана неправильная цена, т.к. выводится цена продукта, а не цена модификации
[ExtJS] Расширяем нативную гриду юзеров
После статьи о расширении профиля юзера правильными дополнительными полями мне посыпались вопросы о расширении нативной таблицы со списком юзеров. Мы знаем, что практически любой стандартный компонент системы, работающий на ExtJS, можно расширить не затрагивая исходника. Главное
Сразу опишем задачу, которую реализуем в рамках статьи:
- Убрать слева каждой записи ненужный чекбокс,
- Добавить столбцы: Фото, Дата рождения, Страна, Город,
- Добавить возможность отфильтровать пользователей по стране,
- Заменить некрасивое поле поиска на симпатичное и компактное,
- Подсветить заблокированных красным цветом.
Вывод Меток на Яндекс Картах по адресу
Автоматическое добавление на карту любых точек по адресу (Филиалы, дилеры, офисы по стране).
Для одного из проектов понадобилось удобно разместить на Яндекс-карте офисы всех дилеров компании по стране. Желательно конечно автоматизировать процесс, чтобы все далее добавленные офисы автоматически добавлялись на карту, без копания в коде и прописывания координат каждой новой точки.
Удалось набросать отличное, полностью автоматизированное решение, которое добавляет офис на карту, оперируя лишь адресом офиса.
Ситуация довольно распространенная, потому думаю будет не лишним поделиться опытом.
Для одного из проектов понадобилось удобно разместить на Яндекс-карте офисы всех дилеров компании по стране. Желательно конечно автоматизировать процесс, чтобы все далее добавленные офисы автоматически добавлялись на карту, без копания в коде и прописывания координат каждой новой точки.
Удалось набросать отличное, полностью автоматизированное решение, которое добавляет офис на карту, оперируя лишь адресом офиса.
Ситуация довольно распространенная, потому думаю будет не лишним поделиться опытом.
Реализация раздела "Вопрос - ответ"
День добрый.
Необходимо на сайте реализовать функционал «Вопрос — ответ». Для этого выбрал компонент «Tickets».
что-то типа того — www.moihottur.ru/faq/
читал вот эту тему modx.pro/help/2793/ похожие проблемы.
Необходимо чтобы кнопка «ответить» была только у администратора сайта.
если вызвать так
а если так:
Как быть в этой ситуации?
Какая возможна реализация без костылей как предлагал автор в теме modx.pro/help/2793/
Необходимо на сайте реализовать функционал «Вопрос — ответ». Для этого выбрал компонент «Tickets».
что-то типа того — www.moihottur.ru/faq/
читал вот эту тему modx.pro/help/2793/ похожие проблемы.
Необходимо чтобы кнопка «ответить» была только у администратора сайта.
если вызвать так
[[!TicketComments?
&allowGuest=`1`
&autoPublishGuest=`0`
&autoPublish=`0`
]]
то чанк tpl.Tickets.comment.one.guest игнорируетсяа если так:
[[!TicketComments?
&allowGuest=`0`
&autoPublishGuest=`0`
&autoPublish=`0`
]]
то отзывы не могут писать неавторизованные пользователи.Как быть в этой ситуации?
Какая возможна реализация без костылей как предлагал автор в теме modx.pro/help/2793/
minishop2 файл во вложении при заказе
Всем привет. Подскажите пожалуйста один момент.
При оформлении заказа в minishop2 формируются два письма, одно для менеджеров, одно для клиентов.
Я реализовал функционал, который генерирует Excel-файл с информацией о заказе (при формировании заказа клиентом). Этот файл сохраняется на сайте, а в таблицу БД с заказами, в поле properties я записываю путь к этому файлу.
Затем в чанке tpl.msEmail.new.manager я даю ссылку на скачку этого файла, примерно так:
Вопрос в том, как сделать чтобы данный файл был вложением к письму?
(Вариант с ссылкой не устраивает), подскажите что можно придумать.
При оформлении заказа в minishop2 формируются два письма, одно для менеджеров, одно для клиентов.
Я реализовал функционал, который генерирует Excel-файл с информацией о заказе (при формировании заказа клиентом). Этот файл сохраняется на сайте, а в таблицу БД с заказами, в поле properties я записываю путь к этому файлу.
Затем в чанке tpl.msEmail.new.manager я даю ссылку на скачку этого файла, примерно так:
<a href="[[++site_url]]assets/[[+properties.excelfile]]">Скачать Excel-Файл</a>
Т.е. приходит стандартное письмо заказа Mnishop2 менеджеру, а в нём ссылка на этот файл. Вопрос в том, как сделать чтобы данный файл был вложением к письму?
(Вариант с ссылкой не устраивает), подскажите что можно придумать.