Дмитрий
С нами с 01 февраля 2016; Место в рейтинге пользователей: #300Как написать модуль оплаты для Minishop2
Привет всем :). Я не с первого раза разобрался как написать модуль оплаты для Minishop2. Поэтому решил сделать небольшую инструкцию. Не во всем правда разобрался, но надеюсь в комментариях подскажут.
Как увеличить допустимое количество символов в поле description?
Приветствую
Google изменил сниппеты — можно стало писать от 260 до 320 символов, но поле description не позволяет вписать более 255 символов.
Понятно, что можно заменить поле TV-параметром, но уже есть много заполненных полей description и менять все это дело на TV не хочется.
Вопрос: как безопасно можно увеличить количество допустимых символов поля description? Пробовал менять значение поля description в базе данных с VARCHAR-255 на TEXT, но это не помогает — в админке все равно появляется надпись «Максимальная длинна этого поля...»
Google изменил сниппеты — можно стало писать от 260 до 320 символов, но поле description не позволяет вписать более 255 символов.
Понятно, что можно заменить поле TV-параметром, но уже есть много заполненных полей description и менять все это дело на TV не хочется.
Вопрос: как безопасно можно увеличить количество допустимых символов поля description? Пробовал менять значение поля description в базе данных с VARCHAR-255 на TEXT, но это не помогает — в админке все равно появляется надпись «Максимальная длинна этого поля...»
[ExtJs] Связанные комбобоксы
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'))
Как подменять значение свойства на лету?
Как в плагине на ходу подставлять значение системной настройки, в зависимости от условия?
Ситуация: адреса менеджеров минишопа хранятся в системной настройке ms2_email_manager. В зависимости от условия нужно подставлять нужный адрес, в данном случае в зависимости от выбранного пользовтаелем города, заказы должны высылаться только в нужный город, а не всем менеджерам.
Ситуация: адреса менеджеров минишопа хранятся в системной настройке ms2_email_manager. В зависимости от условия нужно подставлять нужный адрес, в данном случае в зависимости от выбранного пользовтаелем города, заказы должны высылаться только в нужный город, а не всем менеджерам.
[ExtJS] Расширяем нативную гриду юзеров
После статьи о расширении профиля юзера правильными дополнительными полями мне посыпались вопросы о расширении нативной таблицы со списком юзеров. Мы знаем, что практически любой стандартный компонент системы, работающий на ExtJS, можно расширить не затрагивая исходника. Главное
Сразу опишем задачу, которую реализуем в рамках статьи:
- Убрать слева каждой записи ненужный чекбокс,
- Добавить столбцы: Фото, Дата рождения, Страна, Город,
- Добавить возможность отфильтровать пользователей по стране,
- Заменить некрасивое поле поиска на симпатичное и компактное,
- Подсветить заблокированных красным цветом.
[Решено] Как добавить новое поле в таблицу заказов?
Возникла необходимость добавления нового поля в таблицу заказов.
В документации не нашёл ничего по этому вопросу. Также как и в поиске ничего дельного.
В документации сказано, что есть 4 вида служб — cart, order, delivery, payment
А order как я понял отвечает за процесс оформления заказа, а не за таблицу.
В документации не нашёл ничего по этому вопросу. Также как и в поиске ничего дельного.
В документации сказано, что есть 4 вида служб — cart, order, delivery, payment
А order как я понял отвечает за процесс оформления заказа, а не за таблицу.
Мультисайт под города
Доброго времени суток. Не сумел лаконично описать вопрос в заголовке, распишу тут.
Реализовал мультисайт на рево, настроил контексты, все в порядке. Основной вопрос заключается в том, как не создавать под все контексты копии страниц основного контекста, а чтобы все страницы были доступные и для других контекстов. Динамический контент (номер телефона, адрес, город в заголовке и h1) реализовал через сами контексты с помощью ключей.
Реализовал мультисайт на рево, настроил контексты, все в порядке. Основной вопрос заключается в том, как не создавать под все контексты копии страниц основного контекста, а чтобы все страницы были доступные и для других контекстов. Динамический контент (номер телефона, адрес, город в заголовке и h1) реализовал через сами контексты с помощью ключей.
Сортировка drag'n'drop в свойствах товаров
Добавление своих полей в форму заказа [обновлено]
При разработке нескольких проектов, возникала необходимость в получении дополнительных данных от покупателей, а полей в miniShop2 ограниченное количество. Поиск готового решения результата не дал, поэтому предлагаю свой вариант.
Решение обновлено, убраны правки исходного кода минишопа, теперь при обновлении ничего не затрется, изменены ключи у полей
Решалось это следующим образом:
1. Добавлялись необходимые поля, для примера взяты тип плательщика, название организации и инн.
2. Добавлялся плагин срабатывающий при сохранении заказа и при подключении js минишопа в админке.
3. Редактировались настройки и записи словарей.
Более подробно далее
Решение обновлено, убраны правки исходного кода минишопа, теперь при обновлении ничего не затрется, изменены ключи у полей
Решалось это следующим образом:
1. Добавлялись необходимые поля, для примера взяты тип плательщика, название организации и инн.
2. Добавлялся плагин срабатывающий при сохранении заказа и при подключении js минишопа в админке.
3. Редактировались настройки и записи словарей.
Более подробно далее