Почему компонент не получает ID элемента?

Имею вот такой код компонента:

$APPLICATION->IncludeComponent(
	"bitrix:news.detail", 
	"client", 
	array(
		"ACTIVE_DATE_FORMAT" => "d.m.Y",
		"ADD_ELEMENT_CHAIN" => "N",
		"ADD_SECTIONS_CHAIN" => "Y",
		"AJAX_MODE" => "N",
		"AJAX_OPTION_ADDITIONAL" => "",
		"AJAX_OPTION_HISTORY" => "N",
		"AJAX_OPTION_JUMP" => "N",
		"AJAX_OPTION_STYLE" => "Y",
		"BROWSER_TITLE" => "-",
		"CACHE_GROUPS" => "Y",
		"CACHE_TIME" => "86400",
		"CACHE_TYPE" => "A",
		"CHECK_DATES" => "N",
		"DETAIL_URL" => "",
		"DISPLAY_BOTTOM_PAGER" => "N",
		"DISPLAY_DATE" => "Y",
		"DISPLAY_NAME" => "Y",
		"DISPLAY_PICTURE" => "Y",
		"DISPLAY_PREVIEW_TEXT" => "Y",
		"DISPLAY_TOP_PAGER" => "N",
		"ELEMENT_CODE" => $_REQUEST["ELEMENT_CODE"],
		"ELEMENT_ID" => $_REQUEST["ELEMENT_ID"],
		"FIELD_CODE" => array(
			0 => "DATE_ACTIVE_TO",
			1 => "SHOW_COUNTER",
			2 => "",
		),
		"IBLOCK_ID" => "13",
		"IBLOCK_TYPE" => "clients",
		"IBLOCK_URL" => "",
		"INCLUDE_IBLOCK_INTO_CHAIN" => "Y",
		"MESSAGE_404" => "",
		"META_DESCRIPTION" => "-",
		"META_KEYWORDS" => "-",
		"PAGER_BASE_LINK_ENABLE" => "N",
		"PAGER_SHOW_ALL" => "N",
		"PAGER_TEMPLATE" => ".default",
		"PAGER_TITLE" => "Страница",
		"PROPERTY_CODE" => array(
			0 => "",
			1 => "DEV",
			2 => "",
		),
		"SET_BROWSER_TITLE" => "Y",
		"SET_CANONICAL_URL" => "N",
		"SET_LAST_MODIFIED" => "N",
		"SET_META_DESCRIPTION" => "Y",
		"SET_META_KEYWORDS" => "Y",
		"SET_STATUS_404" => "Y",
		"SET_TITLE" => "Y",
		"SHOW_404" => "N",
		"STRICT_SECTION_CHECK" => "N",
		"USE_PERMISSIONS" => "N",
		"USE_SHARE" => "N",
		"COMPONENT_TEMPLATE" => "client",
		"FILE_404" => ""
	),
	false
);


Этот код выводит "Элемент не найден". Если я меняю $_REQUEST["ELEMENT_ID"] на реальный ID элемента, то все работает. $_REQUEST - не содержит ELEMENT_ID.

Мой urlrewrite.php (в принципе он работает, так как кидает куда нужно):

array (
    'CONDITION' => '#^/client/.*#',
    'RULE' => 'ELEMENT_ID=$1',
    'ID' => '',
    'PATH' => '/company/clients/detail.php',
    'SORT' => 100,
  ),


Настройка инфоблока в части адресов такая:
5ee269eb5c276722438658.png

URL страницы информационного блока: #SITE_DIR#/company/clients/
URL страницы детального просмотра: #SITE_DIR#/client/#ELEMENT_CODE#/

Наверное нужно использовать SEF_MODE? Но тогда как работает другой раздел, откуда я скопировал код компонента?
Может быть я тут что-то упустил?
  • Вопрос задан
  • 244 просмотра
Пригласить эксперта
Ответы на вопрос 1
PbI6A_KuT
@PbI6A_KuT Автор вопроса
В итоге пришлось прибегнуть к костылю с помощью substr:

$url = $_SERVER['REQUEST_URI'];
$element_code = substr($url, 8, -1);
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы