Всего 123 801 комментарий

Алексей
21 февраля 2023, 20:03
0
Про избранное понятно, но закачику именно нужно чтобы в корзине можно было выбор товаров для оформления делать. Так сделано например в интернет-магазинах «Все инструменты» или на этом же Озоне. Вообще такое можно реализовать на Minishop2?
Andrew
21 февраля 2023, 19:57
0
Добрый день, нужна помощь зала, может кто нибудь сталкивался с подобной проблемой)
Сайт с контекстами.
Заказчик хочет, чтобы на странице товара, в отзывах о товаре, показывались отзывы со всех контекстов этого товара. Благодаря threads в сниппете ecMessages, эту проблему вроде удалось решить используя такую конструкцию:
{set $theadweb = 'question-'~$_modx->runSnippet("!BabelTranslation", [
           'contextKey' => 'web', 
           'resourceId' => $_modx->resource.id])}
{set $theadby = 'question-'~$_modx->runSnippet("!BabelTranslation", [
           'contextKey' => 'by', 
           'resourceId' => $_modx->resource.id])}        
{$_modx->runSnippet("!ecMessages", [
          'tpl' => '@FILE chunks/tpl_question.tpl',
          'threads' => "$theadweb, $theadby"])}
а вот со сниппетом ecThreadRating такой фокус не проходит, так как там изначально нету параметра threads, и соответственно нельзя указать несколько цепочек комментариев для обработки сниппетом.
Может кто подскажет как можно решить данную проблему или натолкнёт на правильный ход мыслей?
Артур Шевченко
21 февраля 2023, 19:28
0
Насколько мне известно, готовых решений для подобной задачи нет. Обычно делают раздел Избранное, а уже из него можно добавить в корзину и оформить заказ.
Alexey
21 февраля 2023, 16:48
1
0
Привет! Можно плагином решить:

<?php
if ($modx->context->key != 'mgr') {
    switch ($modx->event->name) {       
        case 'OnBeforeUserFormSave':
            if ($mode == 'new') {  // Событие перед регистрацией пользователя
                if (empty($_POST['register_agree'])) {
                    $modx->event->output('Вы должны согласиться с политикой конфиденциальности');
                }                
            }            
            break;
    }
}
Сергей Карпович
21 февраля 2023, 10:54
0
Я знаю и Office выглядел выигрышно, но в будущем все начало меняться =)
Артур Шевченко
21 февраля 2023, 10:50
0
несколько лет назад был AjaxForm и Login))) А простого решения я не знаю.
Сергей Карпович
21 февраля 2023, 10:46
0
Office я поставил несколько лет назад =)
Переделывать регистрацию на AjaxFormitLogin думал, но хочется найти простое решение
Артур Шевченко
21 февраля 2023, 10:43
0
Я посмотрел документацию, и ничего про валидацию не нашёл, поэтому думается мне вам надо самому написать проверку. Вообще, моё скромное мнение таково, что Office бессмысленная трата денег. Есть достаточное количество бесплатных способов сделать тоже самое, самый простой это AjaxFormitLogin. Историю заказов он конечно не покажет, но для этого можно использовать msListOrders, который втрое дешевле Office, имеет много вариантов работы с заказами и лёгок в кастомизации, при том что в Office вы получаете таблицу с ExtJs.
m4
m4
20 февраля 2023, 23:34
0
Пробовал. Результат такой же. В итоге просто всё в один файл поместил.

Может еще modx устарел, год не обновлялся.
Артур Шевченко
20 февраля 2023, 23:14
0
Можно, надо проверить есть ли эта опция в таблице ms2_category_options.
Konstantin
20 февраля 2023, 23:07
0
Не обижайте Андрюху, товарищи.
Konstantin
20 февраля 2023, 23:05
0
помогло, спасибо
Тодор
20 февраля 2023, 22:25
0
Если не поможет, то подключи свой сервис cart по етой инструкции, и измени там add() или если тебе надо именно при изменни количества, то меняй change()
Тодор
20 февраля 2023, 22:16
0
Пробуй так:
<?php
$minimal = 5;
switch ($modx->event->name) {
    case 'msOnBeforeChangeInCart':
        $count = &$modx->event->params['count'];
        if ($minimal > 1 && $count < $minimal) {
            $count = $minimal;
        }
        $modx->event->returnedValues['count'] = $count;
        break;
}
Артур Шевченко
20 февраля 2023, 18:04
0
Ну вот у меня всё что возвращает submit() сразу на фронт улетает, а весь код в хуке после submit() почему-то не работает. При этом если поменять echo на return, то всё норм. Может я что-то не так делал, может что-то не так в AjaxFormitLogin, я не знаю. Надо ещё раз проверить.
Николай Савин
20 февраля 2023, 17:39
0
Ну перед die же echo json_encode
Ответ гарантированно должен быть и проверенно работает
Артур Шевченко
20 февраля 2023, 17:32
0
ХЗ, я думал из-за die(). Проверь на досуге где косяк.
Николай Савин
20 февраля 2023, 17:25
0
Почему не выполняется? Должен возвращаться $response, в случае если включен json_response и существует метод оплаты. Я прекрасно реализую ecoomerce методы ПОСЛЕ submit