Артур

Артур

С нами с 24 мая 2019; Место в рейтинге пользователей: #548
Артур
19 августа 2020, 18:33
0
Вы оказались правы, помогло. Спасибо.
Артур
19 августа 2020, 18:30
+1
Конечно в документации такого нет, потому что и смысла выводить через mfilter параметры по которым нечего фильтровать. Если нужно вывести параметры товаров, то можно использовать msOptions
Артур
19 августа 2020, 17:49
0
Это ж платный компонент, напиши разработчику в техподдержку, он ответит точно и быстро.
Артур
19 августа 2020, 17:44
0
Как вариант, сделать отдельное TV для каждого тура и туда записывать ближайшую дату и потом по этому полю сортировать, правда ту всё упирается в то, есть возможность заполнять это поле при заполнении поля MIGX.
Артур
19 августа 2020, 17:37
0
Всё просто, в админке слева есть вкладка Элементы, там есть пункт Дополнительные поля, а рядом с ним плюсик. Еще можно в яндексе набрать «modx дополнительное поле для resource» и по ервой ссылке перейти и почитать.
Артур
16 июня 2020, 14:28
0
Спасибо всем за ответы, очень помогли.
Артур
06 июня 2020, 08:34
0
Вдруг кто будет делать что-то похожее, поэтому пишу вариант, который в итоге реализовал. Во-первых без кастомных таблиц не обошлось, научился, оказалось всё не так страшно, плюс CMPGenetator помог. Сама смета это отдельный заказ, обычный заказ, услуги в нем это товары, таким образом стоимость рассчитывается автоматически и она уникальна для каждого. Потом я создал кастомный OrderHandler в нём нужную мне информацию через xPDO записываю в кастомные таблицы, пишу туда номер заказа, пользователя и менеджера, а потом получаю эти данные где надо, а с их помощью уже можно вытащить и все данные пользователя и всю информацию о заказе.
Артур
26 мая 2020, 09:18
+1
Спасибо за ответы, хотя из них следует только то, что modx устарел морально, но не потерял удобства и функциональности.
Артур
25 мая 2020, 20:32
0
Комрады, раз уж флудим, может тезисно объясните, а что не так с нынешней версией modx? Я всего год как пришёл в разработку вообще и на Modx в частности, но пока лично для меня самое большое неудобство это ExtJs, потому как я не знаю что это за зверь, а в остальном я нарадоваться не могу, поскольку и представить не мог, что всего через год буду писать свою CRM. Конечно она достаточно простая, поскольку не универсальная, но всё же. И это благодаря modx и @Василий Наумкин. Мне не понятно как можно сделать modx ещё лучше?)))
Артур
21 мая 2020, 17:52
0
Спасибо, ваш ответ согласуется с моими измышлениями, что радует)))
Артур
16 мая 2020, 18:12
0
Боюсь, что мешать теги нигде нельзя, если конечно вы хотите сделать хороший сайт.
Артур
16 мая 2020, 09:44
0
Дело в том, что я установил флаг в off, уточнил у поддержки как менять настройки, обновил версию php до 7.1 и ничего не изменилось. Рассматривать данную проблему в отрыве от MODX и уж тем более minishop2 не получается, ведь именно последний показывает ошибку, хотя за несколько часов до этого работал нормально, да и не первый это проект на этом хостинге с этим дополнением. Думаю дело вообще не в настройках сервера, а в дополнении, ему что-то не нравится, чтобы выяснить что надо понять в каком месте кода генерирует показываемая ошибка. Вы знаете где? И как вообще minishop2 проверяет включен register globals или нет?
Артур
16 мая 2020, 09:26
0
Если это поможет то вот ссылка на сайт airea.ru, будет перенаправлять на поддомен, но ошибку можно посмотреть в Питере при попытке оформить заказ. Вместо валидации появляется оповещение про register_globals. Я думаю @Василий Наумкин точно знает в чём там может быть беда, но дождусь ли ответа от него не известно.
Артур
16 мая 2020, 09:18
0
Видимо я не достаточно чётко написал. В НАСТРОЙКАХ ИНТЕРПРЕТАТОРА ДАННАЯ НАСТРОЙКА ОТСУТСТВУЕТ, попытка её добавить приводит к ошибке «данная настройка не соответствует версии php». Второе я отключил через .htaccess. Третье я написал в постскриптум, я вернул всё как было, но проблема осталась. Тут поясню, вчера утром такой проблемы не было, за день я не менял хостинг, проблема появилась после добавления кода который я привёл выше, но не исчезла после его удаления, не исчезла после переустановки компонента, не исчезла после смены версии php на 7.1 Вот я и спрашиваю, какого лешего твориться, есть идеи? У меня закончились.
Артур
16 мая 2020, 00:41
0
На сайте itchef есть хороший мануал по загрузке файлов через formit, потом почитайте как создавать ресурсы через resource/create. Потом напишите хук который будет стоять после хука отвечающего за загрузку файлов, и в нем создавайте ресурс и вставляйте адрес картинки на сервере в нужное ТВ. Все инструкции в интернете есть, так что дерзайте.
Артур
16 мая 2020, 00:30
0
А js вам совсем чужд? Сделайте форму отдельно от таблицы и по клику передавайте в неё нужные данные и отправляйте. Или просто отправляйте нужные данные по клику без формы, обязательно нужно передавать ключ ms2_action=cart/add, id и count, по необходимости можно массив опций передать.
Артур
16 мая 2020, 00:17
0
Самый простой вариант это отваливать событие оплаты и если она не прошла, удалять заказ. Но стоит иметь в виду, что оплата могла не пройти по техническим причинам или клиент решил оплатить позже, а заказа уже нет. Другой вариант на событие msOnBeforeOrderCreate, в общем то которое возникает перед сохранением заказ, точное название есть в документации по minishop2, повесить вызов функции оплаты, но это сложнее. И если вы ждёте готовое решение, то вряд ли вам его в комментариях напишут.
Артур
15 мая 2020, 16:15
0
Вдруг я не единственный, кому понадобилось получать данные любого пользователя на фронте, используя fenom, поэтому предлагаю вашему вниманию более универсальную версию сниппета user_info
$output = [];
$options = explode(',',$options);
$profile = $modx->getObject('modUserProfile', ['internalKey' => $input]);
if($profile) {
    foreach($options as $option){
        if (strpos($option,'extended.') === false) {
        $output[$option] = $profile->$option;
        } else {
            $extended = $profile->get('extended');
            $ext = explode(".", $option);
            $ext = $ext[1];
            if(strpos($ext,'|') === false){
                $output[$ext] = $extended[$ext];
            }else{
                $cont = explode("|", $ext);
                $key = $cont[0];
                $val = $cont[1];
                $output[$key][$val] = $extended[$key][$val];
                
            }
        }    
    }
}
if(count($output) == 1){
    return $output[$options[0]];
}else{
    return $output;
    //return json_encode($output); //раскомментируй чтобы возвращать json, а предыдущую закомментируй
}
Примеры вызова
<!-- получаем email -->
{44 | getUserInfo : 'email'} 
<!-- получаем несколько полей -->
{44 | getUserInfo : 'phone,extended.sizes|weight,extended.age' | print_r}
Во втором случае вернется
Array ( [phone] => +7(989)456-85-12 [sizes] => Array ( [weight] => 67 ) [age] => 35 )
sizes — это контейнер в дополнительных полях профиля пользователя, в котором лежит атрибут weight.
Артур
13 марта 2020, 10:00
0
Как это нет? В настройках minishop2 есть раздел способы доставки там указывается стоимость каждого и эта стоимость влияет на общую стоимость заказа.