Если вы хотите как-то по особенному сверстать состав заказа в почтовом уведомлении 1С-Битрикс "Новый заказ", у вас это не получится, так как переменная ORDER_LIST формируется в модуле sale.order.ajax. Само собой, можно пойти по пути наименьшего сопротивления, изменить компонент заказа. Но есть способ проще и гибче.
Модифицировать состав заказа #ORDER_LIST# в почтовом событии "Новый заказ"
Михаил Базаров: 18.02.2017 18:39:13
Модифицировать состав заказа #ORDER_LIST# в почтовом событии "Новый заказ"
Если вы хотите как-то по особенному сверстать состав заказа в почтовом уведомлении 1С-Битрикс "Новый заказ", у вас это не получится, так как переменная ORDER_LIST формируется в модуле sale.order.ajax. Само собой, можно пойти по пути наименьшего сопротивления, изменить компонент заказа. Но есть способ проще и гибче. |
Александр Цыганов: 18.02.2017 18:39:13
Приветствую тебя о сэнсэй платформы 1с Битрикс!
![]() Прошу помочь мне с файлом init.php Не могу вывести что бы в почтовом событии отгружался артикул на почту. вот код (ну и вдруг кому прегодиться):
Мир и процветание этому Блогу! ![]() |
Александр Цыганов: 18.02.2017 18:40:31
вот код свойства Артикул: CML2_ARTICLE вот ID свойства артикул: 129 и вот ID инфоблока каталога: 22
|
Михаил Базаров: 19.02.2017 00:37:44
![]() Array("CODE"=>"ARTICLE")); - сюда подставить код свойства "Артукул" у тебя
|
Борис Евстратов: 02.05.2017 18:00:16
Здравствуйте! А не посоветуете каким образом можно подрегулировать/убрать десятичные нули в столбце "Цена" а то вылезает 1234.0000 руб.
Спасибо большое! |
Михаил Базаров: 02.05.2017 19:01:52
Из нормального- проверить модуль валют, какой там формат. |
u740928@mail.ru: 21.09.2017 09:40:55
Очень полезная статья!!! Все сделал и работает, кроме Платежной системы..да пока не до неё)(много чем дополнил данный код) АВТОРУ РЕСПЕКТ!. А вот помогите разобраться с Адресом доставки. У меня есть Автоматизированные службы доставки они используют поле "Адрес доставки" у меня туда падает "Адрес". А вот я создал для Курьерской поля Улица, дом, корпус, квартира. Как мне их вычлинить((( как только не пробывал. Читаю про класс CSaleOrderPropsValue::GetOrderProps там есть пример, он мне выводит Информацию о доставки как "Адрес доставки" так и мои поля (ул д к к) как эти поля вывести в заказ((( помогите.
|
u740928@mail.ru: 21.09.2017 12:42:22
Вопрос по доп полям закрыт (сам тупанул вообще не так логику выстроил) победил эти поля. А вот как сделать вдруг поможете. Если Автоматизированная служба доставки заполняет мне (автоматом (стоит модуль Boxberry) "Адрес доставки", а курьерская заполняет "мои поля"(ул. дом. кор. кв.), как сделать условие какое именно значение брать "Адрес доставки" или "мои поля" при выборе службы доставки? Т.е. Покупатель выбрал Курьерскую доставку и заполнил поля в письмо должны попасть "мои поля". А другой выбрал Автоматизированную (Boxberry) там заполняются "Адрес доставки" в письме выводить их.?
|
Михаил Базаров: 21.09.2017 14:00:42
Типа алгоритма: Если ID доставки = 12 Исполняем такой код Если ID доставки = 13 Исполняем другой код |
u740928@mail.ru: 22.09.2017 07:34:23
Это хорошая идея! Но надо не забыть если поменялся ID в код внести изменения. Вот с чем ещё столкнулся: у установленных модулей автоматизированной службы доставки отсутствует "NAME"
$arDeliv = CSaleDelivery::GetByID($arOrder["DELIVERY_ID"] ![]() |
u740928@mail.ru: 22.09.2017 07:52:26
Уточнение если обычная служба доставки (например Курьерская у неё [DELIVERY_ID] => 1
А если модуль то у неё [DELIVERY_ID] => ems:elivery (EMS), [DELIVERY_ID] => boxberry:PVZ_COD (Boxberry) ((( вот тут грабли( |
mtsub: 24.09.2017 00:35:32
|
ProWanted: 26.09.2017 08:09:37
Добрый день
А можно как-то получить в письме файл, который отправляет/прикрепляет при оформлении заказа покупатель? Если делать по аналогии, то приходит в таком формате Реквизиты: a:1:{i:0;i:1411;} Вот это - a:1:{i:0;i:1411;} и есть "типа" файл |
u740928@mail.ru: 26.09.2017 09:13:32
|
u740928@mail.ru: 26.09.2017 09:28:21
$arOrder = CSaleOrder::GetByID($orderID); $delivery_name = ""; if ($arOrder){ $delivery_id = $arOrder["DELIVERY_ID"]; } if (is_numeric($delivery_id)){ $arDeliv = CSaleDelivery::GetByID($delivery_id); if ($arDeliv) { $delivery_name = $arDeliv["NAME"]; } } elseif (is_string($delivery_id)){ $a = explode(":", $delivery_id); $delivery_name = $a[0]; } С адресом доставки сделал проще - "Адрес доставки" - пусто идем дальше по полям УЛ Д Кор Кв... НО ВОТ БЕДА! Адрес доставки сделал, вывод добавленых полей тоже. НО МУЧАЮСЬ со СКЛАДАМИ! у меня 12 складов (Пунктов выдачи) в складе есть поле "Адрес" и когда покупатель выбирает один из складов что бы забрать товар, он не отображается в полях "CSaleOrder::GetByID($orderID);" просто [DELIVERY_ID] => 2 (Но это ID непосредственно "Склад") а как вычлинить точный склад так как там их 12. Нашел вот такой класс "CCatalogStoreProduct::GetList" но ни как не могу вычлинить [STORE_ADDR] и как его привязать к письму??? HELP!!! |
ProWanted: 26.09.2017 11:54:53
|
u740928@mail.ru: 26.09.2017 13:48:19
|
u740928@mail.ru: 27.09.2017 12:01:14
ОХ разобрался сделал))) но сколько. Особенно когда сам поднимаешь интернет магазин да ещё только начальные знания в PHP. Но за пост спасибо!!! Очень полезная инфа и фантазия не ограничена. Правильно автор написал - Выводи что хочешь. Самое главное разобраться и правильно выстроить логику. Что самое интересное - это работаешь на старом сайте а новый разрабатываешь на битриксе...и все что было сделано на том сайте, для удобства, переносишь на новый. Стандартные шаблоны писем конечно выводят инфу, НО не всю что надо. ЕЩЁ РАЗ СПАСИБО АВТОРУ!
|
u740928@mail.ru: 04.10.2017 08:11:32
sprintf("%.02f", $название переменной) |
mtsub: 04.10.2017 18:25:48
как добавить комментарии?
$arOrder = CSaleOrder::GetByID($orderID); if ($arOrder){ $order_comments = $arOrder['COMMENTS']; } $additional_information .='Комментарии: '.$order_comments.'<br />' - не срабатывает, почему? |
mtsub: 04.10.2017 18:26:29
концовка соот.
$arFields["ADD_INFORMATION"] = $additional_information; |
Михаил Базаров: 04.10.2017 23:17:06
{ $additional_information.='Комментарий: '.$arProps['VALUE']; } Вот так |
u740928@mail.ru: 09.10.2017 07:16:17
$comment = ""; if ($arOrder){ $comment = $arOrder["USER_DESCRIPTION"]; } $arFields["USER_DESCRIPTION"] = $comment; |
mtsub: 11.10.2017 17:03:23
Как в init.php передать в письмо артикул и ссылку на страницу(товар) при почтовых событиях "Новый быстрый заказ" и при "Заполнена web-форма" когда со страницы товара задан какой-то вопрос? Через событие "OnOrderNewSendEmail" уже знаю - как описано выше. А в других случаях "Новый быстрый заказ", "Заполнена web-форма"?
|
Михаил Базаров: 12.10.2017 02:45:38
|
mtsub: 12.10.2017 10:12:44
|
Игорь Гриценко: 22.09.2020 18:18:29
|
Константин: 12.12.2021 14:28:02
Если необходимо добавить единицу измерения товара, можно сделать так:
$measure = \Bitrix\Catalog\ProductTable::getCurrentRatioWithMeasure($arProps['PRODUCT_ID']); В нужное место: $measure[$arProps['PRODUCT_ID']]['MEASURE']['SYMBOL_RUS'] |
Гость: 27.09.2024 14:30:52
Михаил Базаров, Подскажите как вывести свойства товара, например цвет, размер и тд в шаблон письма?
|
Михаил Базаров: 28.09.2024 09:59:29
Рекомендую использовать именно стрый метод CIBlockElement::GetList - и код будет более читабельным и не сказать что сэкономите на производительности ощутимо. Но если принципиально на D7 то попробуйте Bitrix\Iblock\PropertyTable |
Блог-note: заметки разработчика
Заполнить инфоблок брендов из свойства инфоблока с товарами
Задача: в интернет-магазине есть инфоблок с товарами, загружаемый из 1С, у которого заполнено свойство "Производите...
Очистить брошенные корзины с помощью API 1С-Битрикс
Задача: в интернет-магазине накапливается большое количество брошенных корзин, нужно их очистить. Включая и корзины заре...
Валидация пароля и подтверждения при регистрации в битрикс
Встала задачка сделать валидацию пароля и его подтверждения в стандартной форме регистрации сайта под управлением Битрик...
Менеджер событий (EventManager) в 1C-Битрикс
Менеджер событий (EventManager) — это централизованный механизм регистрации, обработки и управления событиями. О...
Получить и вывести пользовательские свойства склада в 1С-Битрикс
Задача: вывести пользовательские свойства в подробном описании склада. При этом, есть и множественные и одиночные поля.
Вывести общее количество товаров в шаблоне корзины 1С-Битрикс
Задача: вывести общее количество товаров в корзине (именно количество единиц товара, а не позиций). При этом да...
Отключить поиск по описаниям товаров в Битрикс
Иногда, нужно отключить поиск по описаниям анонсов и детальному описанию товаров, при разработке сайтов на Битрикс. Сдел...
Смена вида карточек товаров в catalog.section с иммитацией AJAX
Смену вида карточек товаров, в разделе каталога, можно реализовать с помощью сессии, записывая в нее нужный вида шаблона...
Показ страницы сайта в боковом слайдере, на примере всплывающей формы обратной связи.
Если вы хотите сделать подгрузку любой страницы сайта в боковой слайдер, для этого в битриксе есть метод BX.SidePanel.In...