Всего 125 668 комментариев

Сергей Карпович
27 января 2021, 09:38
0
Подскажите как, в вывод товаров подставить значение опции текущего товара.
Сниппет вывожу на странице товара.
Alexey
27 января 2021, 08:51
0
Привет!

github.com/Ibochkarev/miniShop2/blob/68e454bb000ce9182415c0c7719a9212a3042cfd/assets/components/minishop2/js/web/default.js#L287

Переопределяем файл в настройках минишопа, вместо

location.reload();

добавляем свою логику.
Sergey
27 января 2021, 03:00
0
Здравствуйте, скажите пожалуйста, можно ли как то получить координаты точки на карте для документа? Видно что в бд записывается json часть кода
"geometry":[48.54047113739968,39.260353189639424]
чтобы попробовать относительно этой точки вывести ближайших несколько точек(документов) или есть может другие варианты?
Илья Уткин
26 января 2021, 23:20
0
Сообщения хранятся локально, можно делать разные выборки. В планах сделать поиск — в таблице сделан полнотекстовый индекс по полю text у сообщений.
Сергей Карпович
26 января 2021, 23:10
0
Через fenom получилось вывести нужные товары:
{$_modx->runSnippet('!msProducts', [
    'parents'=>0,
    'limit'=>10,
    'tpl'=>'tpl-shop-item',
    'optionFilters' => ' { "group:=":11111 }' 
])}
Пытаюсь вывести вместо 11111 подставить значение опции «group» текущего товара: {$_modx->resource.group.0}
Но выборка пропадает.
Подскажите как правильно прописать вывод значения опции в optionFilters.
Сам по себе {$_modx->resource.group.0} — работает
Viacheslav
26 января 2021, 23:03
0
Ок, т.е. пока предложение, скорее, в том, чтобы после создания заказа сделать клиенту личный кабинет, чтобы он мог оплатить заказ снова и там же изменить форму оплаты на «постоплату», например?

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

Спасибо за советы, с реализацией подобного вопросов не будет.
Sergey
26 января 2021, 22:54
0
Не верный синтаксис запроса leftJoin был, исправил, сортировка работает, но очень хотелось бы сделать фильтрацию, посмотрите пожалуйста
'filters' => 'tv|average_check_place:checkbox,ecThread|rating_simple:checkbox',
как правильно указать? или возможно вообще фильтрация не будет работать.
В документации по mFilter2 указано
Построение фильтров указывается через один параметр &filters, в формате кодовое_имя_таблицы/поле: фильтр.
, вроде так и написал.
{$_modx->runSnippet('!mFilter2', [
    'loadModels'=>'easycomm',
    'leftJoin' => '{
        "ecThread" : {
            "class" : "ecThread",
            "on" : "modResource.id = ecThread.resource"
        }
    }',
    'select' => '{
        "modResource" : "*",
        "ecThread" : "ecThread.rating_simple AS rating, ecThread.count AS reviews"
    }',
    'depth' => 1,
    'hideContainers' => 1,
    'tpl' => 'place_tpl',
    'where' => '{"template": 8}',
    'filters' => 'tv|average_check_place:checkbox,ecThread|rating_simple:checkbox',
])}
Сергей Карпович
26 января 2021, 22:44
0
У меня задача похожая. У товара есть заполненная опция «group». Мне нужно на странице товара вывести блок с товарами у которых group совпадает с текущим товаром.
Пробую:
[[!pdoPage?
    &element=`msProducts`
    &includeThumbs=`small`
    &parents=`0`
    &depth=`10`
    &limit=`0`
    &tpl=`tpl-shop-item`
    &limit=`10`
    &optionFilters=`{"group:LIKE":"36842"}`
    &showLog=`1`
]]
То это превращает мою страницу в белый экран. Подскажите как правильно прописать optionFilters
Артем
26 января 2021, 22:19
0
Обычно в лк делается функционал для таких целей, где клиент видит все свои заказы, их статусы и может повторно запросить ссылку на оплату/поменять способ оплаты.
В общем-то, вывод заказов и их статусов — действительно тривиальная задача, в modstore даже есть готовый компонент для этой цели.
Артур Шевченко
26 января 2021, 22:15
0
1.не могут оплатить, т.к. под рукой нет карты, Сбербанка онлайн и так далее
2.не могут оплатить, т.к. что-то пошло не так (номер не тот ввел, денег нет на карте, еще что-то)
3.передумывают платить онлайн, решают, что выберут другой вариант оплаты
Для первых двух кейсов в письме клиенту есть ссылка на оплату. А третий на мой взгляд достаточно редкий. Собственно по этой причине готовых решений и нет, если вам ссылки на оплату недостаточно и вы непременно хотите как-то иначе обрабатывать ошибку оплаты или отказ от неё, придётся заморочиться.
Роман
26 января 2021, 22:12
0
Двойные скобки обрезает, если я правильно понял. Сообщения хранятся в локальной базе или на comet?
Viacheslav
26 января 2021, 21:50
0
Спасибо за ответ. Я, разумеется, читал оба этих документа. Помощи от них с позиции моей задачи немного и первый диагноз — нужно садиться и плотно разрабатывать какой-то свой кусок. При том, что очевидно, что задача совсем не новая с момента выхода minishop2 и с подобными проблемами разработчики сталкивались. Собственно, от тех, у кого есть такой опыт, и хотелось получить какую-то обратную связь)
Артур Шевченко
26 января 2021, 20:51
0
Я думаю надо переопределить метод submit вот в этом файле core/components/minishop2/model/minishop2/msorderhandler.class.php Как это сделать написано тут

Возможно так же стоит изучить эту страницу
Андрей Степаненко
26 января 2021, 20:06
0
Турбо, как мешает?
Вообще интересно влияние турбо страниц на продажи.
Если ли у кого то кейс с успешностью турбо страниц в яндексе?
Денис Усачев
26 января 2021, 19:33
0
автор решения
Создаем плагин вешаем на событие msOnGetProductFields

<?php
switch($modx->event->name) { 
    case 'msOnGetProductFields':
        $returned_values = & $modx->event->returnedValues;
        $values =  $modx->event->params['data'];
          
        $returned_values['price'] = $values['price'] * 2;
        $returned_values['old_price'] = $values['old_price'] * 3;
 
    	break;
}