Ответы пользователя по тегу 1С-Битрикс
  • Как убрать наследование разделов инфоблока в Битриксе?

    @SergioMarquinha Автор вопроса
    Задача выполнена немного странным способом (извлечение символьного кода из пути), и по нему находим id.

    $url = $APPLICATION->GetCurDir();
    $path = parse_url($url, PHP_URL_PATH);
    $code = basename($path);
    
    $arFilter = array(
        "IBLOCK_ID" => "14",
        "=CODE" => $code
    );
    
    $arSelect = array(
        "ID"
    );
    $rsSections = CIBlockSection::GetList(array(), $arFilter, false, $arSelect);
    if ($arSection = $rsSections->Fetch()) {
        $sectionId = $arSection["ID"];
    } 
    
    $currentSectionID = $sectionId; 
    
    if(isset($arResult["SECTION"]["PATH"][$currentSectionID]["DESCRIPTION"])) {
        $description = $arResult["SECTION"]["PATH"][$currentSectionID]["DESCRIPTION"];
        echo $description;
    }
    Ответ написан
    Комментировать
  • Показывает "элемент не найден" вместо 404 страницы?

    @SergioMarquinha Автор вопроса
    Проблема оказалась в отсутствии "SHOW_404" => $arParams['SHOW_404']
    в element.php у bitrix:news.detail
    Ответ написан
    Комментировать
  • Почему не работает код в режиме инкогнито (og:image)?

    @SergioMarquinha Автор вопроса
    Пишем этот код в component_epilog.php, предварительно прописав в result_modifier.php следующее:

    $this->__component->SetResultCacheKeys(array(
        "PREVIEW_PICTURE"
    ));
    Ответ написан
    Комментировать
  • Не выводит детальную новость: Not Found?

    @SergioMarquinha Автор вопроса
    Удалось починить, создав в корне файл .htaccess со значениями по умолчанию
    Ответ написан
    Комментировать
  • Как в комплексном компоненте вывести определенный раздел?

    @SergioMarquinha Автор вопроса
    Добавлю еще от себя:

    После фильтра нужно зайти в файл news.php и удалить/закомментировать кусок отвечающий за вывод фильтра
    Ответ написан
    Комментировать
  • Как вывести только ссылки?

    @SergioMarquinha Автор вопроса
    Разобрался и нашел решение:
    1. Выносим в отдельную переменную то, что берется извне.
    2. Выносим в отдельную переменную то, что нужно проверять на наличие, в моем случае это "https"
    Дальше идет условие.
    <?
    				$link_b = BB(description_event($result[$key]['ID']));
    				$address_h= 'https';
    				?>
    				<?if(strpos($link_b, $address_h) !== false):?>
    				<a href="<?=$link_b?>" target="_blank"><?=$result[$key]['NAME']?></a>
    				<?else:?>
    					<p><?=$result[$key]['NAME']?></p>
    
    				<?endif?>

    Если ссылки не будет, выведется имя из массива без ссылки, если будет - имя с ссылкой (в моем случае).
    Ответ написан
    Комментировать
  • Как вывести раздел инфоблока?

    @SergioMarquinha Автор вопроса
    Нужно в файле news.php в шаблоне компонента удалить или закомментировать код ниже, чтобы при вызове компонента не перезаписывался массив $arrFilter
    <? $APPLICATION->IncludeComponent(
    	"bitrix:catalog.filter",
    	"",
    	Array(
    		"IBLOCK_TYPE" => $arParams["IBLOCK_TYPE"],
    		"IBLOCK_ID" => $arParams["IBLOCK_ID"],
    		"FILTER_NAME" => $arParams["FILTER_NAME"],
    		"FIELD_CODE" => $arParams["FILTER_FIELD_CODE"],
    		"PROPERTY_CODE" => $arParams["FILTER_PROPERTY_CODE"],
    		"CACHE_TYPE" => $arParams["CACHE_TYPE"],
    		"CACHE_TIME" => $arParams["CACHE_TIME"],
    		"CACHE_GROUPS" => $arParams["CACHE_GROUPS"],
    		"PAGER_PARAMS_NAME" => $arParams["PAGER_PARAMS_NAME"],
    	),
    	$component
    );
    ?>
    Ответ написан
    Комментировать