[COLOR=#333333]Здравствуйте.[/COLOR]
[COLOR=#333333]Это задача стала результатом выполнения другого задания: сделать ЧПУ на сайте.[/COLOR]
[COLOR=#333333]Раньше на сайте ссылки были вида сайт.ru/раздел/?ELEMENT_ID=номер_ид_элемента[/COLOR]
[COLOR=#333333]Включил ЧПУ в настройках каждого компонента. Теперь ссылки вида сайт.ru/раздел/символьный_код_элемента[/COLOR]
[COLOR=#333333]Настройки ЧПУ в компоненте: [/COLOR][URL=http://joxi.ru/vAWV9nPf36qq2W]joxi.ru/vAWV9nPf36qq2W[/URL]
[COLOR=#333333]ЧПУ работает отлично.[/COLOR]
[COLOR=#333333]НО есть одно но. На главной странице есть компонент News, который генерирует список портфолио со ссылками. Ссылки жестко заданы в каждом элементе. Они заданы в "Ссылка (логотип на главной)":[/COLOR]
[URL=http://joxi.ru/8An3kqRINnj1rO]joxi.ru/8An3kqRINnj1rO[/URL]
[COLOR=#333333]Он является свойством инфоблока:[/COLOR]
[URL=http://joxi.ru/p27gBPNuL5on27]joxi.ru/p27gBPNuL5on27[/URL]
[COLOR=#333333]ХТМЛ код генерируется кодом:[/COLOR]
[COLOR=#333333][COLOR=#e46467]<?if(!defined("B_PROLOG_INCLUDED";) || B_PROLOG_INCLUDED!==true)die();?>[/COLOR]
[COLOR=#e46467]<div id=[COLOR=#28b245]"clicont"[/COLOR]>[/COLOR]
[COLOR=#e46467]<?foreach($arResult["ITEMS"] as $arItem):?>[/COLOR]
[COLOR=#e46467]<?[/COLOR]
[COLOR=#e46467]$this[/COLOR]->AddEditAction([COLOR=#e46467]$arItem[/COLOR][[COLOR=#28b245]'ID'[/COLOR]], [COLOR=#e46467]$arItem[/COLOR][[COLOR=#28b245]'EDIT_LINK'[/COLOR]], CIBlock::GetArrayByID([COLOR=#e46467]$arItem[/COLOR][[COLOR=#28b245]"IBLOCK_ID"[/COLOR]], [COLOR=#28b245]"ELEMENT_EDIT"[/COLOR]));
[COLOR=#e46467]$this[/COLOR]->AddDeleteAction([COLOR=#e46467]$arItem[/COLOR][[COLOR=#28b245]'ID'[/COLOR]], [COLOR=#e46467]$arItem[/COLOR][[COLOR=#28b245]'DELETE_LINK'[/COLOR]], CIBlock::GetArrayByID([COLOR=#e46467]$arItem[/COLOR][[COLOR=#28b245]"IBLOCK_ID"[/COLOR]], [COLOR=#28b245]"ELEMENT_DELETE"[/COLOR]), [COLOR=#8d67d8]array[/COLOR]([COLOR=#28b245]"CONFIRM"[/COLOR] => GetMessage([COLOR=#28b245]'CT_BNL_ELEMENT_DELETE_CONFIRM'[/COLOR])));
[COLOR=#e46467]?>[/COLOR]
[COLOR=#e46467]<?if($arParams["DISPLAY_PICTURE"]!="N" && !empty($arItem["DISPLAY_PROPERTIES"]["LOGO"]["VALUE"];)):?>[/COLOR]
[COLOR=#e46467]<?[/COLOR][COLOR=#e46467]$arrImages[/COLOR] = !is_array([COLOR=#e46467]$arItem[/COLOR][[COLOR=#28b245]"DISPLAY_PROPERTIES"[/COLOR]][[COLOR=#28b245]"LOGO"[/COLOR]][[COLOR=#28b245]"VALUE"[/COLOR]];) ? [COLOR=#8d67d8]array[/COLOR]([COLOR=#e46467]$arItem[/COLOR][[COLOR=#28b245]"DISPLAY_PROPERTIES"[/COLOR]][[COLOR=#28b245]"LOGO"[/COLOR]][[COLOR=#28b245]"VALUE"[/COLOR]];) : [COLOR=#e46467]$arItem[/COLOR][[COLOR=#28b245]"DISPLAY_PROPERTIES"[/COLOR]][[COLOR=#28b245]"LOGO"[/COLOR]][[COLOR=#28b245]"VALUE"[/COLOR]];
[COLOR=#8d67d8]foreach[/COLOR]([COLOR=#e46467]$arrImages[/COLOR] [COLOR=#8d67d8]as[/COLOR] [COLOR=#e46467]$imgID[/COLOR]) {[COLOR=#e46467]?>[/COLOR]
//Вот тут он берет значение свойства LINKS !!!
[COLOR=#e46467]<a href=[COLOR=#28b245]"[COLOR=#e46467]<?[/COLOR]=[COLOR=#e46467]$arItem[/COLOR]["PROPERTIES"]["LINKS"]["VALUE"] [COLOR=#e46467]?>[/COLOR]"[/COLOR] class=[COLOR=#28b245]"client_[COLOR=#e46467]<?[/COLOR]=[COLOR=#e46467]$arItem[/COLOR]['ID'][COLOR=#e46467]?>[/COLOR]"[/COLOR]>[/COLOR]
[COLOR=#e46467]<?echo CFile::ShowImage($imgID, 100, 100, 'border="0" style="float:left;height: 56px;" ');?>[/COLOR]
[COLOR=#e46467]</a>[/COLOR]
[COLOR=#e46467]<?[/COLOR]}
[COLOR=#e46467]?>[/COLOR]
[COLOR=#e46467]<?endif?>[/COLOR]
[COLOR=#e46467]<?endforeach;?>[/COLOR]
[COLOR=#e46467]</div>[/COLOR]
[/COLOR]
[COLOR=#333333]Вот как получить в PHP коде символьный код элемента? [/COLOR]
[COLOR=#333333]И заменить часть ?ELEMENT_ID=XXX в $arItem["PROPERTIES"]["LINKS"]["VALUE"] на символьный код ?[/COLOR]
[COLOR=#333333]Это задача стала результатом выполнения другого задания: сделать ЧПУ на сайте.[/COLOR]
[COLOR=#333333]Раньше на сайте ссылки были вида сайт.ru/раздел/?ELEMENT_ID=номер_ид_элемента[/COLOR]
[COLOR=#333333]Включил ЧПУ в настройках каждого компонента. Теперь ссылки вида сайт.ru/раздел/символьный_код_элемента[/COLOR]
[COLOR=#333333]Настройки ЧПУ в компоненте: [/COLOR][URL=http://joxi.ru/vAWV9nPf36qq2W]joxi.ru/vAWV9nPf36qq2W[/URL]
[COLOR=#333333]ЧПУ работает отлично.[/COLOR]
[COLOR=#333333]НО есть одно но. На главной странице есть компонент News, который генерирует список портфолио со ссылками. Ссылки жестко заданы в каждом элементе. Они заданы в "Ссылка (логотип на главной)":[/COLOR]
[URL=http://joxi.ru/8An3kqRINnj1rO]joxi.ru/8An3kqRINnj1rO[/URL]
[COLOR=#333333]Он является свойством инфоблока:[/COLOR]
[URL=http://joxi.ru/p27gBPNuL5on27]joxi.ru/p27gBPNuL5on27[/URL]
[COLOR=#333333]ХТМЛ код генерируется кодом:[/COLOR]
[COLOR=#333333][COLOR=#e46467]<?if(!defined("B_PROLOG_INCLUDED";) || B_PROLOG_INCLUDED!==true)die();?>[/COLOR]
[COLOR=#e46467]<div id=[COLOR=#28b245]"clicont"[/COLOR]>[/COLOR]
[COLOR=#e46467]<?foreach($arResult["ITEMS"] as $arItem):?>[/COLOR]
[COLOR=#e46467]<?[/COLOR]
[COLOR=#e46467]$this[/COLOR]->AddEditAction([COLOR=#e46467]$arItem[/COLOR][[COLOR=#28b245]'ID'[/COLOR]], [COLOR=#e46467]$arItem[/COLOR][[COLOR=#28b245]'EDIT_LINK'[/COLOR]], CIBlock::GetArrayByID([COLOR=#e46467]$arItem[/COLOR][[COLOR=#28b245]"IBLOCK_ID"[/COLOR]], [COLOR=#28b245]"ELEMENT_EDIT"[/COLOR]));
[COLOR=#e46467]$this[/COLOR]->AddDeleteAction([COLOR=#e46467]$arItem[/COLOR][[COLOR=#28b245]'ID'[/COLOR]], [COLOR=#e46467]$arItem[/COLOR][[COLOR=#28b245]'DELETE_LINK'[/COLOR]], CIBlock::GetArrayByID([COLOR=#e46467]$arItem[/COLOR][[COLOR=#28b245]"IBLOCK_ID"[/COLOR]], [COLOR=#28b245]"ELEMENT_DELETE"[/COLOR]), [COLOR=#8d67d8]array[/COLOR]([COLOR=#28b245]"CONFIRM"[/COLOR] => GetMessage([COLOR=#28b245]'CT_BNL_ELEMENT_DELETE_CONFIRM'[/COLOR])));
[COLOR=#e46467]?>[/COLOR]
[COLOR=#e46467]<?if($arParams["DISPLAY_PICTURE"]!="N" && !empty($arItem["DISPLAY_PROPERTIES"]["LOGO"]["VALUE"];)):?>[/COLOR]
[COLOR=#e46467]<?[/COLOR][COLOR=#e46467]$arrImages[/COLOR] = !is_array([COLOR=#e46467]$arItem[/COLOR][[COLOR=#28b245]"DISPLAY_PROPERTIES"[/COLOR]][[COLOR=#28b245]"LOGO"[/COLOR]][[COLOR=#28b245]"VALUE"[/COLOR]];) ? [COLOR=#8d67d8]array[/COLOR]([COLOR=#e46467]$arItem[/COLOR][[COLOR=#28b245]"DISPLAY_PROPERTIES"[/COLOR]][[COLOR=#28b245]"LOGO"[/COLOR]][[COLOR=#28b245]"VALUE"[/COLOR]];) : [COLOR=#e46467]$arItem[/COLOR][[COLOR=#28b245]"DISPLAY_PROPERTIES"[/COLOR]][[COLOR=#28b245]"LOGO"[/COLOR]][[COLOR=#28b245]"VALUE"[/COLOR]];
[COLOR=#8d67d8]foreach[/COLOR]([COLOR=#e46467]$arrImages[/COLOR] [COLOR=#8d67d8]as[/COLOR] [COLOR=#e46467]$imgID[/COLOR]) {[COLOR=#e46467]?>[/COLOR]
//Вот тут он берет значение свойства LINKS !!!
[COLOR=#e46467]<a href=[COLOR=#28b245]"[COLOR=#e46467]<?[/COLOR]=[COLOR=#e46467]$arItem[/COLOR]["PROPERTIES"]["LINKS"]["VALUE"] [COLOR=#e46467]?>[/COLOR]"[/COLOR] class=[COLOR=#28b245]"client_[COLOR=#e46467]<?[/COLOR]=[COLOR=#e46467]$arItem[/COLOR]['ID'][COLOR=#e46467]?>[/COLOR]"[/COLOR]>[/COLOR]
[COLOR=#e46467]<?echo CFile::ShowImage($imgID, 100, 100, 'border="0" style="float:left;height: 56px;" ');?>[/COLOR]
[COLOR=#e46467]</a>[/COLOR]
[COLOR=#e46467]<?[/COLOR]}
[COLOR=#e46467]?>[/COLOR]
[COLOR=#e46467]<?endif?>[/COLOR]
[COLOR=#e46467]<?endforeach;?>[/COLOR]
[COLOR=#e46467]</div>[/COLOR]
[/COLOR]
[COLOR=#333333]Вот как получить в PHP коде символьный код элемента? [/COLOR]
[COLOR=#333333]И заменить часть ?ELEMENT_ID=XXX в $arItem["PROPERTIES"]["LINKS"]["VALUE"] на символьный код ?[/COLOR]