Здравствуйте! В почтовых событиях по дефолту можно вывести заказчика #ORDER_USER# , но это не совсем подходит. Можно ли как-то вывести название компании (профиль), который пользователь указывает при оформлении заказа?
Возможно. в течении месяца полтора, похожих тем около двух обсуждалось. поищите. Там есть указания на место где формируется массив данных, который идет в почтовый шаблон. Так что сможете изменить все под себя, если конечно используете не сильно измененный шаблон от битрикса. А то мало ли вдруг все самописно, и тогда будет не совсем то что ищете, хотя сам принцип вы сможете там увидеть как формируется массив и как передается по почтовому событию. Останется только найти у себя, что то похожее.
Андрей Гаврилов пишет: Возможно. в течении месяца полтора, похожих тем около двух обсуждалось. поищите. Там есть указания на место где формируется массив данных, который идет в почтовый шаблон. Так что сможете изменить все под себя, если конечно используете не сильно измененный шаблон от битрикса. А то мало ли вдруг все самописно, и тогда будет не совсем то что ищете, хотя сам принцип вы сможете там увидеть как формируется массив и как передается по почтовому событию. Останется только найти у себя, что то похожее.
Здравствуйте. Помогите пожалуйста. в bitrix/php_interface/init дописал код
Код
AddEventHandler("sale", "OnOrderNewSendEmail", "bxModifySaleMails");
function bxModifySaleMails($orderID, &$eventName, &$arFields)
{
$arOrder = CSaleOrder::GetByID($orderID);
$nameCompany = CSaleOrderUserProps::GetByID($arOrder);
ниже идёт сравнение кода пользователя с кодом пользователя, которому принадлежит профиль.
if ($arOrder["USER_ID"] = $nameCompany["USER_ID"])
{
$testcompany = $nameCompany["NAME"]; // само название профиля
}
Добавляем новое поле
$arFields["COMPANY_NAME"] = $testcompany;
}
Выводит только одно название профиля, хотя заказываю с разных. Есть ещё ключ - код профиля, думаю если его включить в условие, то всё заработает, вот только не допру с чем его можно сравнить, чтобы в итоге отображался именно тот профиль с которого сделали заказ?
Вы просто вытаскиваете первую запись (первый профиль) таблицы-списка профилей пользователя. Боюсь, узнать с какого профиля совершил заказ пользователь не получится, т. к. между b_sale_user_props и b_sale_order нет связей. Вытаскивайте в вашем обработчике свойства заказа через CSaleOrderPropsValue::GetOrderProps($orderID); зачем вам название профиля?
You must have chaos within you to give birth to a dancing star. Friedrich Nietzsche
Александр Семеритов пишет: Вы просто вытаскиваете первую запись (первый профиль) таблицы-списка профилей пользователя. Боюсь, узнать с какого профиля совершил заказ пользователь не получится, т. к. между b_sale_user_props и b_sale_order нет связей. Вытаскивайте в вашем обработчике свойства заказа через CSaleOrderPropsValue::GetOrderProps($orderID); зачем вам название профиля?
Задачу такую поставили, чтобы при новом заказе, определённому человеку приходило письмо и там должно быть название компании, вот я и решил вытащить из профиля, а в CSaleOrderPropsValue::GetOrderProps вроде нету свойства нужного или я ошибаюсь?
посмотрите тут вашдомен/bitrix/admin/sale_order_props.php?lang=ru если там есть свойство "компания" то ее можно вытянуть через CSaleOrderPropsValue::GetOrderProps
You must have chaos within you to give birth to a dancing star. Friedrich Nietzsche
Александр Семеритов пишет: посмотрите тут вашдомен/bitrix/admin/sale_order_props.php?lang=ru если там есть свойство "компания" то ее можно вытянуть через CSaleOrderPropsValue::GetOrderProps
Да, есть код у неё COMPANY. Спасибо за помощь. Если бы ещё подсказали, как вытащить)