после отправки письма добавьте информацию об этом например в сессию, в шаблоне профиля проверяете эту сессию, если оно существует то показывайте информацию о том что письмо отправлено и обнуляете переменную сессии.
Алексей Мальцев пишет: Александр Чертан , Спасибо за идею. Единственный момент, что при подтверждении снова нужно запускать метод CUser::Update который снова вызовет обработчик. Это уже логикой программы как-то определять что это такое, смена email с форума или подтверждение через ссылку?
как вариант в массив данных при обновлении почты сделайте один ключ для проверки например $arFields["update_mail"] = 1 и в обработчик сделайте проверку, что если такой ключ существует то письмо не отправляем и пользовательские поля делайте пустыми.
Вы задали массив $arResult["DISPLAY_PROPERTIES"], в нем будут только те свойства которые вы выделили в настройки компонента, добавьте его, либо воспользуйтесь масивом $arResult["PROPERTIES"]
Так как это функция предназначена для оного свойства, то воспользуйтесь функцией CIBlockElement::GetList либо ставите свойства в масиве и проходитесь по нему каждый раз вызывая CIBlockElement::GetProperty с нужным кодом, и в селекте добавьте эти свойства
Стандартный компонент не позволяет написать все что угодно в поле e-mail, вероятнее всего вы просто после попытки сохранить данные видите вводимые символы, обновите страницу, если там будет эти символы то тогда пишите в тех поддержку.
А на счет подтверждения мыла есть евенты, к примеру OnBeforeUserUpdate , добавить пользовательское поля например UF_USER_CODE и UF_USER_NEW, в евенте в новую почту сохраняем в поле UF_USER_NEW и создаем произвольный код в поле UF_USER_CODE, создаем тип события с нужными параметрами и почтовое событие, отправляем письмо ссылкой на поддвержения где ссылка будет GET запрос с йд и проверочным кодом, на странице проверяем код пользователя исходя из йд пользователя, если он верен то обновляем почту пользователя на новую и обнуляем пользовательские поля.
По моему тут проще сделать пользовательское поле в виде текста, например UF_USER_COLLECTION, и добавлять там массив товаров но в начале сериальзовать его при сохранинии, и ансериализовать когда показываем товары. При небольшого куска кода это легко можно реализовать.
Если вы используете стандартный компонент: Создайте свойство у инфоблоку В настройках компонента когда вы выберите этот инфоблок, в списке - Свойства, выводимые на редактирование, будут свойства этого инфоблока, выберите нужные
Для этого надо кастомизировать фильтр, и при показе списка брендов (например чекбоксы) сделать чекбокс с классом этого йд или кодом значения (смотря какого типа свойства вы используете) и этому чекбоксу настроить параметры, пример использования
Скорее всего проблема в кодировки файлов, попробуйте через фтп посмотреть и поменять кодировку или все русские слова поставить в файл для языка, а в самом шаблоне использовать функцию GetMessage