Коллеги, перед вами попытка создать подобие битрикс-твиттера. В том его понимании, что здесь должны быть собраны
мелкие, но емкие примеры и советы (а не вопросы). На данный момент постить может любой желающий. Модератор оставляет за собой право удалить сообщение,
если оно содержит вопрос, или содержит слишком много информации. Ну и временно тут не без глюков, как всегда у нас :)
Чтобы написать, надо зарегистрироваться или авторизоваться.
Получить сабж можно через метод CCrmFieldMulti. Вторым параметром передается фильтр: ENTITY_ID - тип сущности (CONTACT, COMPANY) ELEMENT_ID - id сущности можно еще TYPE_ID - PHONE, EMAIL, и так далее
Сначала получаем списки, потом подписываем адрес. Если массив списков пустой (первую часть кода убрать), то пользователь добавляется без списков подписки.
Например, при добавлении второго сайта есть возможно указать опционально - "Запустить мастер выбора решения", и после добавления сайта вы перейдете к установке сразу. Но что делать, если мастер надо запустить повторно, без создания сайта? Достаточно в индексной странице сайта /index.php поместить такой код (заменить им текущий). Комментариями помечены места, которые вам возможно надо поменять (site id точно).
Бывает, что от тех или иных условий надо изменить тип почтового события. К примеру, при отмене заказа в случае оплаты наличными, надо отправить совершенно иной шаблон письма. Сделать это можно через событие OnBeforeEventAdd
public static function OnBeforeEventAdd(&$event, &$lid, &$fields, $messageId)
{
if ($event == 'SALE_ORDER_CANCEL') {
/*
* Тут ваши условия по определению, что оплата заказа стояла наличными.
*/
$event = 'SALE_ORDER_CANCEL_CASH';
}
}
Сбрасывается цена, или непонятным образом меняется элемент? В любой непонятной ситуации ставьте штатную отладку AddMessage2Log в конечном методе. К примеру, вставка в CPrice::Update (на время отладки понятно) позволило сразу понять откуда вызывается изменение цены
Антон Долганин ( ' " <u>test</u> " ') написал: Обратите внимание, это обращение к массиву класса, недокументированное. Нет гарантий, что поддержка такого хака не прекратится.
Чтобы себя подстраховать, можно оборачивать в блок if property_exists($APPLICATION, 'arAdditionalChain')
У LocalRedirect есть одна особенность. К примеру, вы разместили эту конструкцию на промежуточной странице (редиректнуть дальше пользователя при определенном условие, или всегда). Так вот, если потом на сайте включат защиту редиректов, то пользователь столкнется с формой "вы хотите перейти на другую страницу, подтвердите").
Чтобы таких нюансов избегать, используйте второй параметр true. Естественно, если вы уверенны в этом редиректе как разработчик: