Sergey (Sentinel)

Sergey (Sentinel)

С нами с 11 августа 2017; Место в рейтинге пользователей: #171

Сортировка значений опций товара

Добрый день.
Ситуация такая — создал опции для товара:
Лента 1250х50 мм
Лента 1250х75 мм
Лента 1250х100 мм
Но после сохранения товара они изменили порядок и стало так
Лента 1250х75 мм
Лента 1250х50 мм
Лента 1250х100 мм
А это не правильно с той точки зрения, что опции нужно выводить в порядке возрастания их цены. Есть конечно вариант сделать только цифры, например 50, 75, 100, но так не всем покупателям понятно и лучше выводить полное название.
Подскажите, как можно отсортировать опции в нужном порядке.
Пользователь Володя подсказал вариант с
github.com/vgrish/miniShop2/blob/7d60279388e7301b31fd9ad5f9862881d7ec7721/core/components/minishop2/elements/snippets/snippet.ms_options.php
и с github.com/bezumkin/miniShop2/pull/248#issuecomment-252066243
Но смешанные данные у меня не отсортировались — там где и строка и числа…
Андрей
11 декабря 2016, 16:01
modx.pro
7
6 982
0

Загрузка заказов ms2, Tikets на стартовой странице

При сравнении «специализированных» cms для интернет магазинов и minishop заметил общую тенденцию у первых выводить при входе в админку список заказов. После недолгой переписки с замечательным исполнителем Павлом Гвоздем возникло такое замечательное и гениальное по простоте решение:
заходим в настройки системы, далее в фильтре по ключу отыскиваем 2 значения:
1. welcome_action меняем с welcome на mgr/orders
2. welcome_namespace с core на minishop2
и вуаля на чистом клиенте отображается список заказов, очень удобно
Здоров Александр
11 октября 2016, 20:28
modx.pro
66
5 685
+27

Добавление своих полей в форму заказа [обновлено]

При разработке нескольких проектов, возникала необходимость в получении дополнительных данных от покупателей, а полей в miniShop2 ограниченное количество. Поиск готового решения результата не дал, поэтому предлагаю свой вариант.

Решение обновлено, убраны правки исходного кода минишопа, теперь при обновлении ничего не затрется, изменены ключи у полей

Решалось это следующим образом:
1. Добавлялись необходимые поля, для примера взяты тип плательщика, название организации и инн.
2. Добавлялся плагин срабатывающий при сохранении заказа и при подключении js минишопа в админке.
3. Редактировались настройки и записи словарей.

Более подробно далее
Дмитрий Меркурьев
11 октября 2016, 16:38
modx.pro
97
19 141
+11

Сохранение корзины для пользователей

На одном из проектов появилась задача сохранять содержимое корзины для зарегистрированных пользователей, чтобы при последующей авторизации с любого компьютера они имели возможность продолжить покупки, а не добавлять все заново.

В качестве решения получился очень простой плагин, который выполняет 2 действия:
1) Сохраняет содержимое корзины в extended поля пользователя после каждого изменения корзины
2) Восстанавливает содержимое корзины перед каждой обработкой запрошенной страницы.

Воеводский Михаил
08 августа 2016, 15:06
modx.pro
42
5 477
+12

Redis Cache (xPDORedisCache)

Решил попробовать использовать redis кэш для modx
создал класс xPDORedisCache, особо не заморачивался переписал мемкеш класс, но возникает проблема, идет пустая выдача и в логе:
modExtensionPackage::loadCache() is not a valid static method.
в общем логе:
[Fri Apr 08 23:00:11 2016] [error] [client 130.193.37.24] PHP Warning:  Invalid argument supplied for foreach() in /var/www/core/model/modx/modcontext.class.php on line 101
[Fri Apr 08 23:00:11 2016] [error] [client 130.193.37.24] PHP Warning:  array_merge(): Argument #2 is not an array in /var/www/core/model/modx/modx.class.php on line 2306
[Fri Apr 08 23:00:11 2016] [error] [client 130.193.37.24] PHP Fatal error:  Class 'modUser_' not found in /var/www/core/xpdo/xpdo.class.php on line 770
Есть какие идеи куда копать?

UPD: 2016-04-10
Решение далось легко, забыл указать сериализацию
$this->redis->setOption(Redis::OPT_SERIALIZER, Redis::SERIALIZER_PHP);
Устанавливается в /core/xpdo/cache/
в настройках cache_handler = cache.xPDORedisCache
Доступные опции:
redis_server — строка с данными для подключения 'localhost:6379'
redis_auth — пароль для аутентификации
redis_db — целое число >= 0
cache_prefix — по желанию, по сути если задать в redis_db разные значения для разных сайтов, будет то, что надо

Код xpdorediscache.class.php ниже:
Dmitry Rodionov
08 апреля 2016, 22:08
modx.pro
15
6 411
+5

Cтоимость способа доставки в MS2

Всем привет!
В стандартном чанке tpl.msOrder.outer MiniShop2 есть такой блок:
<h3>[[%ms2_frontend_order_cost]]: <span id="ms2_order_cost">[[+order_cost:default=`0`]]</span>
                [[%ms2_frontend_currency]]</h3>
в placeholder [[+order_cost]] уже включена стоимость выбранного способа доставки.
Подскажите пожалуйста как вывести отдельно стоимость доставки?
Безнос Евгений
18 марта 2016, 00:15
modx.pro
5
6 231
0

Content Editor Tools 0.8 и тема для админки

Что-то я зачастил, так что постараюсь покороче. Вот картинка, которая всё объясняет:



Внутри: новый плагин CET Builder, удобная тема для админки и обновлённые AssetsTV и CKEditor.

Денис Дыранов
12 февраля 2016, 18:29
modx.pro
12
7 147
+14

Перенос фото товаров из TV в галерею miniShop2

Постановка задачи: был интернет магазин, где товары — обычные ресурсы, а изображения — TV поля (в моем примере 5 штук). Необходимо сделать товары типа msProduct, а изображения перенести в стандартную галерею miniShop2.

Небольшой скрипт, решающий вторую часть задачи, ниже. (первая часть задачи решается примерно так)

Что он делает? Скрипт берет все записи с типом msProduct, и копирует изображения из TV в галерею miniShop2.

Надеюсь кому-нибудь будет полезным (скрипт не 100% универсальный, подгоняйте под себя! и да, я запускаю его из Console, если у вас просто php файл, то необходимо сначала авторизоваться в админке через API).
Наумов Алексей
03 февраля 2016, 12:05
modx.pro
11
3 876
+5

Меняем стоимость доставки совершённого заказа

Имеется минишоп 2.1.11 и нужно менять стоимость доставки из родного интерфейса.
В заказе у нас уже есть все данные и возможности для изменения и пересчёта общего заказа, надеюсь что не упустил никаких условий и нюансов.


Ivan Shvindin
11 августа 2015, 07:16
modx.pro
9
4 519
-1

Переключение языка словаря

Здравствуйте!
В разных контекстах en и web, словарные слова выводятся только на русском языке. Уже голову сломал. Очевидно, что ответ лежит на поверхности, иначе как объяснить отсутствие такой проблемы в документации.

Словари лежат в «core/components/darvo/lexicon/en/front.inc.php» и «core/components/darvo/lexicon/ru/front.inc.php»
Дмитрий
03 июля 2015, 08:52
modx.pro
2
5 125
0