Я конечно может что то не понимаю, а что мешает нажать на кнопку [URL=http://joxi.ru/LmGj4oZfeKd6qr]http://joxi.ru/LmGj4oZfeKd6qr[/URL] ? И там уже с помощью мастера создать нужную скидку.
|
[QUOTE]Сергей Вольвич написал:
[QUOTE] Александр Павлов написал: BX.Sale.OrderAjaxComponent.init в шаблоне компонента найдите такой вызов класса, добавьте в эту инициализацию свою переменную.например так:[/QUOTE] Да? Поможет? Дело в том, что в init.php я создавал переменную и она не видна. А тут получается почему так? Перекрытие что-ли какое?[/QUOTE] А почему не должно помочь? Переменную вы передали. Единственное что переменная в init.php должна быть определена глобальной, чтобы вы ее могли получить из любого места. Я просто не понимаю сути вашей задачи, что за переменная у вас получается в init.php? [QUOTE]Сергей Вольвич написал: И его скрывать на всем процессе формирования заказа? И в счета на оплату?Я бы, если такую добивку надо делать ВСЕГДА, то в скрипт бы залез, там где-то есть же отправка для подсчета.[/QUOTE] Ну тут уже на ваше усмотрение. Это просто самый очевидный способ (например через подарок), чем лишний раз колупать скрипт. |
|
|
|
|
|
[QUOTE]Денис Иванов написал:
Здравствуйте! Есть задача к весу заказа добавлять фиксированное значение веса упаковки (например 300 г) независимо от количества товаров в заказе. Итоговый вес заказа используется для расчета стоимости доставки почтой России. Пытался завязаться на событие OnSaleComponentOrderJsData и через него задать $arResult['JS_DATA']['TOTAL']['ORDER_WEIGHT'] и $arResult['JS_DATA']['TOTAL']['ORDER_WEIGHT_FORMATED'], но в оформленном заказе (в админке) вижу общий вес, состоящий из веса товаров заказа без учета моего веса упаковки. Судя по всему и доставка рассчитывает стоимость без дополнительного веса упаковки. Может есть еще какие-нибудь варианты решения задачи или может нужно пилить обработчик службы доставки?[/QUOTE] Добавляйте какой-то скрытый товар с нулевой ценой и весом 300 грамм. Другого способа как то и невижу честно говоря. |
|
|
|
|
|
[QUOTE]Сергей Вольвич написал:
Сейчас ищу решение - передать в sale.order.ajax переменную из init.php - подскажете?[/QUOTE] BX.Sale.OrderAjaxComponent.init в шаблоне компонента найдите такой вызов класса, добавьте в эту инициализацию свою переменную. например так:[CODE]<sc ript type="text/javascript"> BX.message(<?=CUtil::PhpToJSObject($messages)?>); BX.Sale.OrderAjaxComponent.init({ result: <?=CUtil::PhpToJSObject($arResult['JS_DATA'])?>, locations: <?=CUtil::PhpToJSObject($arResult['LOCATIONS'])?>, params: <?=CUtil::PhpToJSObject($arParams)?>, signedParamsString: '<?=CUtil::JSEscape($signedParams)?>', siteID: '<?=CUtil::JSEscape($component->getSiteId())?>', ajaxUrl: '<?=CUtil::JSEscape($component->getPath().'/ajax.php')?>', templateFolder: '<?=CUtil::JSEscape($templateFolder)?>', propertyValidation: true, showWarnings: true, pickUpMap: { defaultMapPosition: { lat: 55.76, lon: 37.64, zoom: 7 }, secureGeoLocation: false, geoLocationMaxTime: 5000, minToShowNearestBlock: 3, nearestPickUpsToShow: 3 }, propertyMap: { defaultMapPosition: { lat: 55.76, lon: 37.64, zoom: 7 } }, orderBlockId: 'bx-soa-order', authBlockId: 'bx-soa-auth', basketBlockId: 'bx-soa-basket', regionBlockId: 'bx-soa-region', paySystemBlockId: 'bx-soa-paysystem', deliveryBlockId: 'bx-soa-delivery', pickUpBlockId: 'bx-soa-pickup', propsBlockId: 'bx-soa-properties', totalBlockId: 'bx-soa-total', yourValue: '<?=$val?>' //Ваша переменная }); </sc ript>[/CODE]Далее в методе init в файле order_ajax.js вы ее присваиваете опять же любой своей переменной которую дальше используете по своему усмотрению:[CODE]this.yourValue = parameters.yourValue[/CODE]Дальше юзайте как хотите |
|
|
|
|