Олег Щавелев

Олег Щавелев

С нами с 20 января 2017; Место в рейтинге пользователей: #25
Олег Щавелев
27 мая 2020, 21:23
0
@Тимур, miniShop2 допускает возможность работу с дробными значениями. Логика простая, если Вы продаете товары в штуках, то ограничьте ввод input на фронте. Запретите ввод дробных и отрицательных значений. Это можно сделать используя специальные теги HTML5 или JavaScript.
Олег Щавелев
23 мая 2020, 18:40
0
Будет время я попытаюсь написать подробно про данную задачу. Но первое, что бы я проверил. orders.grid.js должен обращаться к классу. Посмотреть к какому классу он обращается. И далее через xPDO map или БД содержаться в таблице данная информация. Если в БД нет такого поле, то в процессоре должен быть JOIN. После того как вы клубочек распутали и во всем разобрались, можно расширять код.
Олег Щавелев
23 мая 2020, 18:32
0
Я не совсем понимаю связь задачи описанной в описании поста и в заголовке. При нажатии кнопки отправить заказа мы получаем уведомление об отправке. На этом процесс оформление заказа закончен.

Планируется, что по запросу клиента буду самостоятельно собирать корзину и как то надо, что бы он мог посмотреть ее и перейти самостоятельно к оплат
Как я понимаю в данной фразе заложен трекинг заказа, и возможность изменить вариант оплаты после оформление заказа. Если это так:

Для данной задачи вам понадобиться два пакета это Office и msListOrders. Office — даст возможность авторизации пользователя в личном кабинете и доступ к закрытым ресурсам, msListOrders — даст возможность пользователю:

  • Отслеживать статус заказа
  • Возможность отменить заказ из личного кабинета
  • Возможность оплатить через платежный шлюз
  • Возможность повторного заказа
Данная логика является типовой, вы быстро ее подымаете и далее можно при желании расширить. К примеру при заказе сразу получение логина и пароля, так же дополнительные действия пользователя в трекере заказа. Можете добавлять дополнительные страницы, которые будут делать магазин еще более удобным для покупателя и тем самым повышать конверсию.

Как-то так)
Олег Щавелев
22 мая 2020, 20:33
+3
Если мы рассматриваем шаблонизатор Fenom, то есть переменная {$.get} суперглобальных массивов, которая вызывает и текущий адрес страницы и все GET параметры в массиве согласно с документацией.

Мы можем вызвать на странице c помощью модификатор print и посмотреть что лежит в данной переменной

{$.get | print}

Мы получаем массив пример URL site.ru/products?param1=Значение 1¶m2=Значение 2

array (
[q] => products
[param1] => Значение 1 
[param2] => Значение 2
)

Далее использую Fenom мы можем собрать нужную нам конструкцию. Для вызова строки {$.get.param1} или можно поработать в цикле

{foreach $.get as $item}
...
{/foreach}

Внимание! Не забываем о безопасности что любой пользователь или программа может добавить свои get-параметр к адресу странице.
Олег Щавелев
20 мая 2020, 20:52
+1
Решил поделиться еще двумя внедрениями mvtForms2 c использованием связки пакета msDeliveryOnMap. Получается интересно.

Кейс №1 Внедрение формы с указанием адреса на Яндекс Карте



Кейс №2 Внедрение формы в калькулятор расчета подбора Септика под ключ



Спасибо за внимание)
Олег Щавелев
17 мая 2020, 13:44
0
Как я понимаю речь идет о miniShop2. Напишите ISSUE с вашим предложением, возможно кто-нибудь из разработчиков захочет внедрить данную возможность в основной репозиторий. Кстати вы так же можете сделать свой вклад в развитии miniShop2
Олег Щавелев
17 мая 2020, 13:37
0
Здравствуйте.

Вам необходимо расшить процессор данной страницы. Так как на скриншоте у Вас показывается grid, то процессор нужен getlist.class.php или get.class.php, а путь к данному файлу зависит от пакета в котором данный интерфейс отрисовывается.
Олег Щавелев
17 мая 2020, 10:29
0
Здравствуйте. Мне кажется вы мыслите в верном направлении. Ну для полноты вашего вопроса необходимо прикрепить скриншоты консоли разработчика с ошибками которые происходят при сохранении ресурса. К примеру у меня при условии использования Firefox ресурсы не сохраняются, а в Google Сhrome сохраняются. Решался данный вопрос сменой визивик редактора.

Я предлагаю не много переформулировать Ваши действия.

1) Из раздела Пакеты -> Установщик удалить все визивик редакторы установленный в CMS
2) Установить визивик редактор по ссылке
3) Очистить кэш браузера и CMS Управление -> Очистить кэш

Надеюсь у Вас получится.
Олег Щавелев
15 мая 2020, 12:00
0
+@Сергей Шлоков А можно уточнить почему. Я уже много лет читаю твой ресурс. И статью твою читал. Но почему данный способ не рекомендованный. Как дойти до данного утверждения?
Олег Щавелев
12 мая 2020, 08:24
0
Я Видел данную сборку. В вашей сборке так же фильтр по строке категории не работает при условии добавления alias в getlist столбца по которому необходимо осуществлять поиск. Связи с этим я и задал вопрос. Не логично, что-то каким-то полям не возможно настраивать и осуществлять поиск. Если найду разгадку первым обязательно напишу ответ.
Олег Щавелев
11 мая 2020, 08:07
0
Есть две статьи от маэстро @Сергей Шлоков. Ссылка раз ссылка два.
Олег Щавелев
11 мая 2020, 05:41
0
Очень крутая тема для обсуждения. Сейчас разбираюсь с modExtra и как раз разбирал данный вопрос. Прочитал и сделал, мне всегда нравиться такая схема. Автору +1 к статье. Вопрос только у меня. У меня по какой-то причине если добавить в файл getlist.class.php

if ($query) {
            $c->where([
                'name:LIKE' => "%{$query}%",
                'OR:description:LIKE' => "%{$query}%",
                'OR:position_name:LIKE' => "%{$query}%",

            ]);
position_name — это alias присоединенного поля. Поиск не ищет по данному полю. В чем могут быть нюансы.

$c->leftJoin('infoBlockPosition', 'infoBlockPosition', 'infoBlockPosition.id = infoBlockItem.position_id');
$c->select(array($this->modx->getSelectColumns('infoBlockItem', 'infoBlockItem')));
$c->select(array('infoBlockPosition.name as position_name'));
Олег Щавелев
04 мая 2020, 22:22
0
Есть ли возможность задать размеры (и любые другие свойства) по умолчанию для новых товаров в minishop2?
Такой возможности в коробке нет в рамках организации БД. Можно модифицировать на уровне вывода.
Олег Щавелев
04 мая 2020, 22:15
0
А по какому принципу (кретериям) должны присваивать значения по умолчанию?
Олег Щавелев
12 марта 2020, 23:29
0
Спасибо. Выглядит хорошо.
Спасибо.

Может добавить в пакет DZ?
Мне кажется это будет здорово. Могу отметить, что такие заявки более конверсионные. Один из наших клиентов занимается обслуживанием сейфов — это узкий рынок b2b. И люди с удовольствием пользуются данными формами: задают вопросы, указывают модели в форме и прикрепляют фотографии. Большинство заявок приходят именно с фотографиями. Поэтому мы только за.

Или лучше выкинуть multifile (а заодно и mask), который в комплекте и добавить кейсы в документацию — кому что удобно, то и подключат?
Я думаю, что лучше включить виджет в пакет. Дело в том, что написать логику и все настроить это не так просто (учитывая аудиторию пакета). Если брать нашу концепцию DSMC, мы за пакеты. так как мы выполняем очень много типовых задач. Которые мы выполняем от проекта к проекту. Тем самым логика пакетов нам нравиться больше. В рамках данного решения мы используем дополнительно пакет yandexdiskuploader а далее его уже кастомизируем. Тем самым мы менее безболезненно перешли с AjaxForm на mvtForms. И высвободившееся время мы можем уделить дополнительной кастомизация.
Олег Щавелев
12 марта 2020, 20:54
+1
Мы распробовали mvtForms2. Хотелось поблагодарить за крутую поддержку пакета @Алексей Шумаев. Хотел поделиться опытом работы mvtForms2 и dropzone.

Олег Щавелев
26 февраля 2020, 22:42
0
Очень хорошая идея) Удачных продаж! Ну и девиз. Кто купит пакетов пачку — осталось придумать, что же он в итоге получит… А пока все думают! Го покупать на modstore.pro новый пакет.
Олег Щавелев
26 февраля 2020, 12:22
0
Да обязательно поправим. Спасибо за ценное замечание.
Олег Щавелев
23 февраля 2020, 19:44
0
А я перестал за этим продуктом следить в 2016 году. Такой анонс это хорошее ускорение. Как минимум для меня. +1