| Цитата |
|---|
| factorysites пишет: Я тоже столкнулся с этой же проблемой. |
|
Вы путаете определения.
Есть шаблон сайта - так называемые хедер и футер. И есть шаблон компонента - внешнее представление некоего скрипта. Так вот компоненты вставляются либо в шаблон сайта, либо во включаемую область, либо в рабочую область сайта (собственно область где выводится весь основной контент, между хедером и футером). Выбор шаблона компонента производится в режиме правки, для этого нажмите переключатель в правом верхнем углу в публичной части сайта и после этого наведите на ту область, где выводятся данные вашего компонента, появится красная рамка и кнопки настройки компонента, в которых первым пунктом идет выбор шаблона для данного компонента И вообще настоятельно рекомендую ознакомиться с информацией на этой странице Большая часть вопросов после этого отпадет. Кроме документации, можно экспериментировать в демо-лаборатории - |
|
|
|
|
|
Переходим в режим правки, и в настройках компонента (у вас скорей всего комплексный компонент "news"):
"Поле для первой сортировки новостей:" выбираем - (другое)-> и в текстовом поле, которое ниже пишем DATE_CREATE "Направление для первой сортировки новостей" выбираем "По убыванию" |
|
|
|
|
|
И все-таки мне удалось выкрутиться из сложившейся ситуации без кастомизации, может кому-нибудь пригодится, все сделал через обработчик OnSaleComponentOrderOneStepPaySystem
В init.php AddEventHandler("sale", "OnSaleComponentOrderOneStepPaySystem", "CashOnDelivery"); function CashOnDelivery(&$arResult, &$arUserResult) { if( $arUserResult["PAY_SYSTEM_ID"] == 1 && $arUserResult["DELIVERY_ID"] == "ems:delivery") { $orderTotalSum = $arResult["ORDER_PRICE"] + $arResult["DELIVERY_PRICE"] + $arResult["TAX_PRICE"] - $arResult["DISCOUNT_PRICE"]; $arRangeCashOnDelivery = array( array("FROM" => "0", "TO" => "1000", "PERCENT" => 5, "FIXED_AMOUNT" => 25), array("FROM" => "1000", "TO" => "5000", "PERCENT" => 4, "FIXED_AMOUNT" => 35), array("FROM" => "5000", "TO" => "20000", "PERCENT" => 2, "FIXED_AMOUNT" => 135), array("FROM" => "20000", "TO" => "50000", "PERCENT" => 1, "FIXED_AMOUNT" => 335), ); foreach ($arRangeCashOnDelivery as $arRange) { if($orderTotalSum > $arRange["FROM"] && $orderTotalSum <= $arRange["TO"]) { // Придется воспользоваться костылем, чтобы не править сам компонент - сумму наложенного платежа сохраним в переменной предназначенной для налогов, для того, чтобы // увеличить итоговую сумму заказа (сумма за товары + доставка) на сумму наложенного платежа. Так как налоги у нас не учитываются, то все нормально. $arResult["TAX_PRICE"] = $orderTotalSum * $arRange["PERCENT"]/100 + $arRange["FIXED_AMOUNT"]; $arResult["CASH_ON_DELIVERY_FORMATED"] = SaleFormatCurrency($arResult["TAX_PRICE"], $arResult["BASE_LANG_CURRENCY"]); } } } } |
|
|
|
|
|
Решил продублировать на гостевом форуме.
При выборе службы доставки "EMS" и службы оплаты "Оплаты наличными при получении" необходимо к сумме заказа, включающую сумму за доставку, добавить сумму наложенного платежа, рассчитанную по определенной формуле, и в конце формы оформления заказа отдельно показать эту сумму. Не пойму есть ли возможность сделать это, не изменяя сам компонент. Может у кого-нибудь из коллег есть идеи по реализации? |
|
|
|
|
![]() |
|||||
|
|
|