Задать вопрос
  • Редирект Битрикс?

    @newbie163
    PetrPo, на данный момент выводится пустая страница, вместо карточки (хедер и футер присутствуют)
    Вот код из файла redirect.php

    <?
    if(!defined("B_PROLOG_INCLUDED") || B_PROLOG_INCLUDED!==true)die();
    $this->setFrameMode(true);
    
    $iblock = \Bitrix\Iblock\IblockTable::getList([
      'select' => ['DETAIL_PAGE_URL'],
      'filter' => ['CODE' => $arParams['IBLOCK_ID']]
    ])->fetch();
    
    if(strpos($iblock['DETAIL_PAGE_URL'], '#ELEMENT_CODE#') !== false) {
      $elementCode = $arResult['VARIABLES']['ELEMENT_CODE'];
      $filter = ['IBLOCK_ID' => $arParams['IBLOCK_ID'], 'CODE' => $elementCode];
      
      $obCache = new CPHPCache();
      if($obCache->InitCache(36000, serialize($filter), '/iblock/catalog/redirect')) {
        $element = $obCache->GetVars();
      }
      elseif($obCache->StartDataCache()) {
        $element = [];
    
        $iterator = CIBLockElement::GetList([], ['IBLOCK_ID' => $arParams['IBLOCK_ID'], 'CODE' => $elementCode], false, false, ['DETAIL_PAGE_URL'])->GetNext();
        
        if(defined("BX_COMP_MANAGED_CACHE")) {
          global $CACHE_MANAGER;
          $CACHE_MANAGER->StartTagCache('/iblock/catalog/redirect');
    
          if($row = $iterator->GetNext()) {
            $element = $row;
            $CACHE_MANAGER->RegisterTag('iblock_id_'.$arParams['IBLOCK_ID']);
          }
    
          $CACHE_MANAGER->EndTagCache();
        }
        else {
          if($row = $iterator->GetNext()) {
            $element = $row;
          }
        }
          
          
        $obCache->EndDataCache($element);
      }
    
      if($element['DETAIL_PAGE_URL']) {
        LocalRedirect($element['DETAIL_PAGE_URL']);
      }
    }
  • Редирект Битрикс?

    @newbie163
    PetrPo,
    Подскажи, как будет выглядеть код, если мне нужно для карточек сменить с "#SECTION_CODE#/#ELEMENT_CODE#.php".$link, на "/product/#ELEMENT_CODE#.php".$link,

    "SEF_URL_TEMPLATES" => array(
    		"sections" => "",
    		"section" => "#SECTION_CODE#/".$link,
    		"element" => "/product/#ELEMENT_CODE#.php".$link,
    		"compare" => "compare.php?action=#ACTION_CODE#",
    		"redirect" => "#SECTION_CODE#/#ELEMENT_CODE#.php".$link,
    	),