Вопросы

Динамическое изменение цены в корзине от условий доставки

Всем добрый день. Помогите разобраться, 2 дня чтения интернета не дают результата :(

Пишу свой модуль доставки СДЭК. Не могу понять как динамически поменять стоимость доставки и общую цену в корзине при расчете сдэка.

написал свой класс стоимости доставки
<?php
//проверяем на отсутствие классов и инициализируем классы msdeliveryhandler, CalculatePriceDeliveryCdek
if(!class_exists('msDeliveryInterface')) {
    require_once dirname(dirname(dirname(dirname(__FILE__)))) . '/minishop2/model/minishop2/msdeliveryhandler.class.php';
}
class msDeliveryHandlerCDEK extends msDeliveryHandler implements msDeliveryInterface {
    
    public function getCost(msOrderInterface $order, msDelivery $delivery, $cost = 0) {
        $cdekPrice = $_POST['cdekPrice'];
        $fullcost = intval($cost)  + intval($cdekPrice);
        return $fullcost;      
    }
} 
?>
весь сдэк считает в js и там же я вызываю ajax с пересчетом цены
$.ajax({
	type: "POST",
	url: "/assets/components/minishop2/action.php",
	data: "ms2_action=order/getcost&ctx=web&cdekPrice="+data.result.price,
	success: function(msg){
		$.jGrowl('Обновление цены' , { theme: 'message-system', life: 2500 });
		console.log(msg);
	}
});
ответ верный, получает стоимость из скрипта и прибавляет стоимость
{«success»:true,«message»:"",«data»:{«cost»:2430}}

но при этом в самой корзине или в оформленном заказе цена остается старой. Подскажите пожалуйста как правильно обновить стоимость доставки? Перепробовал уже все что можно. Видел подобные компоненты, цену обновляют…
сайт на котором тестирую mod.2f-vsk.ru
Спасибо.
Алексей
24 мая 2018, 07:38
modx.pro
1
2 127
0

Как при оплате товара перевести на страницу подтверждения?

Здравствуйте.

Как можно реализовать такой функционал:
Если пользователь новый (или даже сделать это для всех на первое время), то при нажатии кнопки «Сделать заказ» переводило не сразу на оплату tinkoff, а на такую вот страничку.
yadi.sk/i/2hmSK8sv3WRGXe

Где пользователь может либо сразу подтвердить заказ, если он точно уверен, что почта его, либо указать ему, что лучше покупать через ссылку, пришедшую на почту.

Либо просто отправить его на почту за ссылкой на оплату.

Пока что изучаю docs.modx.pro/components/minishop2/development/service/order

На данный момент сделал «грубым», как мне кажется способом:

public function send(msOrder $order)
    {
        $link = $this->getPaymentLink($order);
        $link = 'http://my-site.ru';

        return $this->success('', array('redirect' => $link));
    }
Илья Чехов
24 мая 2018, 07:18
modx.pro
1 406
0

FormIt и AjaxForm

Привет всем, нашел проблему с FormIt и AjaxForm. На почту не приходят письма если вводишь майл которые содержит в себе цифры, без цифр все работает правильно. В чем может быть проблема?
Artem
24 мая 2018, 05:45
modx.pro
730
0

Запрет полей Для редактирования и страница редактирования TicketForm

Добрый день не могу разобраться с Ticket
Для редактирования Ticket используется $.get.tid (как я понял)
хочу реализовать что бы пользователь мог редактировать только поле content, но при редактировании выдает ошибку «Заполните поля»
{if $_modx->resource.id == $.get.tid}
[[!TicketForm?
&tid=`[[#GET.tid]]`
&allowedFields=`content`
&requiredFields=`content`
&tplFormUpdate=`tpl.TicketsformupdateMY`
]]
{else}
   [[$one_event_tpl]] <!--чанк для вывода одного Ticket -->
{/if}
Сергей
24 мая 2018, 05:37
modx.pro
1 308
0

yandex market экспорт

Здравствуйте. При добавление сгенерированного списка через msImportExport яндекс выдает

Используйте элемент <sales_notes>, чтобы указать: – минимальную сумму заказа (обязательно); – минимальную партию товара (обязательно); – необходимость предоплаты (обязательно); – варианты оплаты (необязательно); – условия акции (необязательно). Содержание элемента должно соответствовать требованиям к рекламным материалам, размещаемым на Маркете.
Доп поля указывал, без результата. В XML это доп поле не отображается
Denis Chernavin
24 мая 2018, 02:20
modx.pro
1 031
0

Почему AjaxForm не подключает свои js-файлы?

FormIt 4.0.1-pl
AjaxForm 1.1.9-pl

Стандартно вызваю AjaxForm:
[[!AjaxForm?
    &snippet=`FormIt`
    &form=`tpl.AjaxForm.example`
    &hooks=`email`
    &emailSubject=`Тестовое сообщение`
    &emailTo=`info@domain.com`
    &validate=`name:required,email:required,message:required`
    &validationErrorMessage=`В форме содержатся ошибки!`
    &successMessage=`Сообщение успешно отправлено`
]]

+ Форма на странице появилась
+ В head подключились эти стили: /ajaxform/css/default.css

— А вот js-файлы не подключаются! Этих скриптов в коде страницы нет:
/assets/components/ajaxform/js/default.js
/assets/components/ajaxform/js/lib/jquery.form.min.js
/assets/components/ajaxform/js/lib/jquery.jgrowl.min.js

Таким образом, форма работает некорректно, jgrowl не выводится и тд. Но письма приходят.

Где искать ошибку? Попробовал разные версии jQ — не помогло. В консоли чисто.
Филипп
23 мая 2018, 17:49
modx.pro
1 768
0

Заказ в один клик - без компонента интерне-магазина

Здравствуйте, Подскажите пожалуйста, как можно реализовать:
1) Есть категория с товарами, у товаров есть кнопка, которая открывает iframe(отдельная страница), в этом фрейме вызов formit, форма отправляет письмо на почту с именем и телефоном, которые введет клиент. Но в эту форму так же нужно передать pagetitle товара, на котором была нажата кнопка, хорошо бы еще и значение TV передать
2) Так же есть страница — карточка товара, с такой же кнопкой, тут уже нужно передать id текущей страницы, на страницу с формой(в iframe)

Думаю для этих целей воспользоваться сессиями. Может кто-нибудь сможет подсказать как это правильнее сделать.
Dolce
23 мая 2018, 15:04
modx.pro
1 199
0

Опции в minishop2

В настройках minishop2 созданы опции, привязаны к нужной категории, но при этом, созданный товар в этой категории не имеет опций в админке prntscr.com/jlleus
И ещё одна проблема, окно прыгнуло вверх и никак не опустить его prntscr.com/jlleds
Максим
23 мая 2018, 12:54
modx.pro
891
0

Диспетчер файлов перестал загружать файлы

Диспетчер файлов перестал загружать файлы. Кто сталкивался с таким?
Roman
23 мая 2018, 12:53
modx.pro
1 606
0

Подскажите правильную реализацию

Добрый день, на сайте есть 2 основных раздела — услуги и категории. Каждая услуга может находиться в нескольких категориях. Как правильно организовать такую структуру? Прикрепил картинкой для лучшего восприятия.

Мои мысли:
Внутри каждой услуги заводить TV множественный выбор и через @EVAL тянуть категории, далее отмечать необходимые, ну а в самой категории выводить отмеченные ID услуг через pdoResources?

1. Может есть более изящное решение? Или я на правильном пути?

2. Как быть с хлебными крошками и URL? Ведь хочется получить всё по-красоте:
/cat_1/service_1/
/cat_1/service_2/
/cat_2/service_1/
/cat_2/service_2/
Владимир
22 мая 2018, 19:48
modx.pro
3
1 333
0