N
N
ne_pes2019-11-07 01:01:24
1C-Bitrix
ne_pes, 2019-11-07 01:01:24

How can I make news.detail understand what this element is?

I am creating a detail page via detail.php.
I call detail.php via urlrewrite.php
We need to somehow pass the data of the infoblock element so that the news.detail component understands what kind of element it is
Thank you in advance!!!
details.php:

<?require($_SERVER["DOCUMENT_ROOT"]."/bitrix/header.php");
$APPLICATION->SetTitle("Title");?>
<?$APPLICATION->IncludeComponent(
  "site:news.detail",
  "decision",
  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" => "36000000",
    "CACHE_TYPE" => "A",
    "CHECK_DATES" => "Y",
    "DETAIL_URL" => "",
    "DISPLAY_BOTTOM_PAGER" => "Y",
    "DISPLAY_DATE" => "Y",
    "DISPLAY_NAME" => "Y",
    "DISPLAY_PICTURE" => "Y",
    "DISPLAY_PREVIEW_TEXT" => "Y",
    "DISPLAY_TOP_PAGER" => "N",
    "ELEMENT_CODE" => "",
    "ELEMENT_ID" => "",
    "FIELD_CODE" => array("",""),
    "IBLOCK_ID" => "13",
    "IBLOCK_TYPE" => "content",
    "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("",""),
    "SET_BROWSER_TITLE" => "Y",
    "SET_CANONICAL_URL" => "N",
    "SET_LAST_MODIFIED" => "N",
    "SET_META_DESCRIPTION" => "Y",
    "SET_META_KEYWORDS" => "Y",
    "SET_STATUS_404" => "N",
    "SET_TITLE" => "Y",
    "SHOW_404" => "N",
    "STRICT_SECTION_CHECK" => "N",
    "USE_PERMISSIONS" => "N",
    "USE_SHARE" => "N"
  )
);?><?require($_SERVER["DOCUMENT_ROOT"]."/bitrix/footer.php");?>

Infoblock settings:
5dc341d90bc16355402824.png
urlrewrite.php:
<?php
$arUrlRewrite=array (
  3 => 
  array (
    'CONDITION' => '#^/about/([0-9a-zA-Z_-]+)/.*#',
    'RULE' => '',
    'ID' => 'site:news',
    'PATH' => '/about/detail.php',
    'SORT' => 100,
  ),
);

Answer the question

In order to leave comments, you need to log in

1 answer(s)
M
Maxim Kirshin, 2019-11-07
@ne_pes

Hello, in CONDITION you have a regular expression, as I understand it, this is ELEMENT_CODE, then you add RULE for your rule in urlrewrite

<?php
$arUrlRewrite=array (
  3 => 
  array (
    'CONDITION' => '#^/about/([0-9a-zA-Z_-]+)/.*#',
    'RULE' => 'ELEMENT_CODE=$1',
    'ID' => 'site:news',
    'PATH' => '/about/detail.php',
    'SORT' => 100,
  ),

In the component call, you write:
<?require($_SERVER["DOCUMENT_ROOT"]."/bitrix/header.php");
$APPLICATION->SetTitle("Title");?>
<?$APPLICATION->IncludeComponent(
  "site:news.detail",
  "decision",
  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" => "36000000",
    "CACHE_TYPE" => "A",
    "CHECK_DATES" => "Y",
    "DETAIL_URL" => "",
    "DISPLAY_BOTTOM_PAGER" => "Y",
    "DISPLAY_DATE" => "Y",
    "DISPLAY_NAME" => "Y",
    "DISPLAY_PICTURE" => "Y",
    "DISPLAY_PREVIEW_TEXT" => "Y",
    "DISPLAY_TOP_PAGER" => "N",
    "ELEMENT_CODE" => $_REQUEST["ELEMENT_CODE"], // данный параметр тебе передаст urlrewrite
    "ELEMENT_ID" => "",
    "FIELD_CODE" => array("",""),
    "IBLOCK_ID" => "13",
    "IBLOCK_TYPE" => "content",
    "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("",""),
    "SET_BROWSER_TITLE" => "Y",
    "SET_CANONICAL_URL" => "N",
    "SET_LAST_MODIFIED" => "N",
    "SET_META_DESCRIPTION" => "Y",
    "SET_META_KEYWORDS" => "Y",
    "SET_STATUS_404" => "N",
    "SET_TITLE" => "Y",
    "SHOW_404" => "N",
    "STRICT_SECTION_CHECK" => "N",
    "USE_PERMISSIONS" => "N",
    "USE_SHARE" => "N"
  )
);?><?require($_SERVER["DOCUMENT_ROOT"]."/bitrix/footer.php");?>

Didn't find what you were looking for?

Ask your question

Ask a Question

731 491 924 answers to any question