Alexey

Alexey

С нами с 02 августа 2015; Место в рейтинге пользователей: #201

Устраняем последствия автоматических регистраций

Столкнулся с проблемой автоматической регистрации на сайте. На данный момент порядка 15000 левых аккаунтов которые висят мертвым грузом. Василий вскоре обещал обновление с защитой от автоматических регистраций, а мы пока разберемся как удалить неактивных пользователей без заказа магазина. Под катом код для этого.
Володя
17 ноября 2017, 15:18
modx.pro
20
1 886
+8

Генерация PDF из формы FormIt + Генерация PDF из любых данных по кнопке (без FormIt) в MODX Revo

На modx.pro уже есть статья от Володи по генерации PDF.
Ниже хочу предложить альтернативный вариант формирования PDF файла из данных форм FormIt с использованием шаблонизатора Fenom и бесплатного компонента PDFresource
Klike
06 ноября 2017, 10:49
modx.pro
26
5 843
+12

[mSync+MsOptionprice] Импорт торговых предложений

Размещаю здесь, так как рейтинга не хватает)
Добрый день! Была довольно интересная задача по интеграции каталога 1-с с каталогом интернет магазина. В 1-с есть такая замечательная вещь как торговые предложения, которые по сути являются одним и тем же товаром только имеют различные параметры(размер/цвет/запах/количество и пр.) и так же могут обладать своими уникальными артикулами с ценами, для решения подобного функционала был использован отличный компонент msOptionsPrice2, который реализует модификации товара, куда и будем в последствии помещать наши торговые предложения. Но прежде чем создавать модификации требуется этот каталог еще получить из 1-с, в этом нам поможет компонент mSync, в его использовании нет никаких секретов, главное понимать что и откуда берется, а так же заранее изучить структуру файлов импорта.
web3
22 сентября 2017, 08:39
modx.pro
7
2 196
+2

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'))
Павел Гвоздь
14 августа 2017, 14:14
modx.pro
41
4 704
+21

msOptionsPrice2 и составной товар


Возникла необходимость при помощи msOptionsPrice2 реализовать составной товар. Оказалось, что компонент не умеет прибавлять к начальной цене товара несколько цен из модификаций одной опции.
Например, есть опция Наполнители, у нее около 20 значений. На фронте, при выборе каждого из значений, цена товара должна увеличиваться на N рублей. Проблема заключается в том, что имена тегам чекбоксов мы даем в виде массива:
<input type="checkbox" name="cb[]">
Компонент, в свою очередь, с таким работать не умеет. Предлагаю решение в четыре простых шага!
Павел Гвоздь
12 августа 2017, 06:56
modx.pro
33
7 399
+14

[msOptionsPrice2] работа с остатками

Опишу решение ряда проблем с которыми столкнулся сам. msOptionsPrice2 очень крутое решение для minishop2 но для нормальной работы с остатками там очень мало функционала.
Проблемы:
  1. На странице каталога и товара нет плейсхолдера, с помощью которого можно было бы скрыть кнопку добавления в корзину и вывести свою информацию
  2. На странице каталога при добавлении товара проверяется на наличии первая модификация, и, если она отсутствует, то выскакивает оповещение о недоступности товара
  3. На миникарточке указана неправильная цена, т.к. выводится цена продукта, а не цена модификации
Инструкция под катом
Pavel Zarubin
08 августа 2017, 13:15
modx.pro
14
4 737
+4

[ExtJS] Расширяем нативную гриду юзеров


После статьи о расширении профиля юзера правильными дополнительными полями мне посыпались вопросы о расширении нативной таблицы со списком юзеров. Мы знаем, что практически любой стандартный компонент системы, работающий на ExtJS, можно расширить не затрагивая исходника. Главное уметь пользоваться «методом тыка» понимать принцип того, что делаешь. Что-ж… давайте расширять нативную таблицу пользователей!
Сразу опишем задачу, которую реализуем в рамках статьи:

  1. Убрать слева каждой записи ненужный чекбокс,
  2. Добавить столбцы: Фото, Дата рождения, Страна, Город,
  3. Добавить возможность отфильтровать пользователей по стране,
  4. Заменить некрасивое поле поиска на симпатичное и компактное,
  5. Подсветить заблокированных красным цветом.
Павел Гвоздь
07 июля 2017, 19:14
modx.pro
42
4 835
+21

Вывод Меток на Яндекс Картах по адресу

Автоматическое добавление на карту любых точек по адресу (Филиалы, дилеры, офисы по стране).

Для одного из проектов понадобилось удобно разместить на Яндекс-карте офисы всех дилеров компании по стране. Желательно конечно автоматизировать процесс, чтобы все далее добавленные офисы автоматически добавлялись на карту, без копания в коде и прописывания координат каждой новой точки.

Удалось набросать отличное, полностью автоматизированное решение, которое добавляет офис на карту, оперируя лишь адресом офиса.

Ситуация довольно распространенная, потому думаю будет не лишним поделиться опытом.
Николай Савин
22 апреля 2017, 13:39
modx.pro
16
7 912
+7

Реализация раздела "Вопрос - ответ"

День добрый.
Необходимо на сайте реализовать функционал «Вопрос — ответ». Для этого выбрал компонент «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/

Глеб
19 апреля 2017, 11:38
modx.pro
4
4 135
+1

minishop2 файл во вложении при заказе

Всем привет. Подскажите пожалуйста один момент.

При оформлении заказа в minishop2 формируются два письма, одно для менеджеров, одно для клиентов.
Я реализовал функционал, который генерирует Excel-файл с информацией о заказе (при формировании заказа клиентом). Этот файл сохраняется на сайте, а в таблицу БД с заказами, в поле properties я записываю путь к этому файлу.

Затем в чанке tpl.msEmail.new.manager я даю ссылку на скачку этого файла, примерно так:
<a href="[[++site_url]]assets/[[+properties.excelfile]]">Скачать Excel-Файл</a>
Т.е. приходит стандартное письмо заказа Mnishop2 менеджеру, а в нём ссылка на этот файл.

Вопрос в том, как сделать чтобы данный файл был вложением к письму?
(Вариант с ссылкой не устраивает), подскажите что можно придумать.
Павел
22 февраля 2017, 10:21
modx.pro
2
3 001
0