CIBlockElement::SetPropertyValuesEx возвращает null, а CIBlockElement::Update нельзя изменить ["PROPERTIES"]. Как определить, что свойство элемента успешно обновлено?
|
Привет.
Получил в работу сайт от другого специалиста. Внутри шаблона компонента catalog.section.list подключаются разные шаблоны news.list в зависимости от пользовательского поля UF_TPL. Происходит это таким образом: [CODE]<? if(!empty($arResult['SECTIONS'])): ?> <? foreach ($arResult['SECTIONS'] as &$arSection): ?> <? $this->AddEditAction($arSection['ID'], $arSection['EDIT_LINK'], $strSectionEdit); $this->AddDeleteAction($arSection['ID'], $arSection['DELETE_LINK'], $strSectionDelete, $arSectionDeleteParams); ?> <div id="<? echo $this->GetEditAreaId(arSection['ID']); ?>"> <?=$arSection['DESCRIPTION']?> <? if(file_exists($_SERVER['DOCUMENT_ROOT'].$templateFolder.'/tpl.'.$arSection['UF_TPL'].'.php')) include($_SERVER['DOCUMENT_ROOT'].$templateFolder.'/tpl.'.$arSection['UF_TPL'].'.php'); ?> </div> <? endforeach; ?> <? endif; ?> [/CODE]Код вызова компонента news.list с разными шаблонами соответственно в директории шаблона catalog.section.list.[LIST=1] [*]tpl.1.php [*]tpl.2.php [*]tpl.3.php [/LIST]В них соответственно находится код вызова компонента news.list с разными шаблонами.Реализовали многосайтовость (англоязычный и русскоязычный) на разных доменах. Теперь нужно добавить новые пользовательские поля для англоязычного сайта. То есть желательно создать новые файлы (tpl.9.php и тд) или реализовать так, как в коде ниже? Таким образом, все работает. Но есть оптимальнее вариант? То есть здесь значение UF_TPL для англоязычного сайта уменьшается на количество полей в разделе русскоязычного сайта. [CODE]<? if(!empty($arResult['SECTIONS'])): ?> <? foreach ($arResult['SECTIONS'] as &$arSection): ?> <? $this->AddEditAction($arSection['ID'], $arSection['EDIT_LINK'], $strSectionEdit); $this->AddDeleteAction($arSection['ID'], $arSection['DELETE_LINK'], $strSectionDelete, $arSectionDeleteParams); ?> <div id="<? echo $this->GetEditAreaId(arSection['ID']); ?>"> <?=$arSection['DESCRIPTION']?> //ДОБАВЛЕНО <?if (LANGUAGE_ID == 'ru') { $uf_tpl = $arSection['UF_TPL']; } elseif (LANGUAGE_ID == 'en') { $uf_tpl = $arSection['UF_TPL'] - 8; }?> //ДОБАВЛЕНО <? if(file_exists($_SERVER['DOCUMENT_ROOT'].$templateFolder.'/tpl.'.$uf_tpl.'.php')) include($_SERVER['DOCUMENT_ROOT'].$templateFolder.'/tpl.'.$uf_tpl.'.php'); ?> </div> <? endforeach; ?> <? endif; ?>[/CODE]Думается, что мое решение не менее костыльное, чем предыдущего программиста. |
|
|
|
|
|
Привет!
У элементов пропала привязка элементов к разделам инфоблока. Таким образом, элементы, которые были внутри разделов, переместились на уровень к разделам инфоблока. Произошло после того, как перешли на многосайтовость. Поделитесь тем, как можно восстановить привязку и почему это произошло? |
|
|
|
|