Да, но SITE_ID при этом равна ru Я просто так назвал пост потому, что из-за SITE_ID меняется url. В принципе, не это важно. А почему и как от этого избавиться.
Извините, невнимательно читал тему. В админке константа SITE_ID не несет той же нагрузки, что в публичке. В админке - это код текущего языка админки, т.е. SITE_ID == LANGUAGE_ID. Проверить это можно по наличию константы ADMIN_SECTION.
Цитата
scifi пишет: Это событие OnBeforeIBlockElementUpdate и отслеживат ьмне нужно именно админские действия
Могу посоветовать в обработчике проверять ID инфоблока и его привязку к сайтам. Правда, обработка ситуации с привязкой инфоблока к нескольким сайтам уже сложнее.
Не надо сверлить зубы через задний проход дрелью от Сваровски
Мы говорим о разных вещах. Еще раз. В init.php я использую событие OnBeforeIBlockElementUpdate В момент этого события мне нужно получить пусть PREVIEW_PICTURE элемента, который поменялся. Я получаю элемент по ID, а потом использую:
Так вот в переменную я получу: http://site.ru/en/путь_к_картинке Как раз вот этот en мне и нужно убрать, без костыля в виде парсинга строки и удаления подстроки en. Это возможно сделать и почему оно думает, что мы на SITE="s2" находимся?
Так и думал - инфоблок привязан к двум сайтам. Смотрим CIBlock::ReplaceDetailUrl(), видим, что в админке подставляется тот сайт, что хранится в поле LID инфоблока. У Вас там скорее всего s2. Что здесь делать, не знаю. Переход на многосайтовость по второму способу решил бы проблему.
Не надо сверлить зубы через задний проход дрелью от Сваровски