Интересные статьи

После решения задачи, хочется рассказать об этом

Настройка детальной страницы через urlrewrite

При использовании простого компонента в его настройках отсутствует настройка параметра "Поддержка ЧПУ", поэтому приходится самостоятельно это делать через административную панель битрикса или напрямую, редактируя файл /urlrewrite.php

$arUrlRewrite = array(
	array(
		"CONDITION" => "#^/services/([^/]+?)/\??(.*)#",
		"RULE" => "ELEMENT_ID=$1&A=$2",
		"ID" => "",
		"PATH" => "/services/index.php",
	)
);
  • В параметре "CONDITION" указываем условие, при котором будет срабатывать переадресация
  • В параметре "RULE" указываем переменные, которым будет присвоено значение из первых скобок $1, значение из вторых скобок $2 и т.д.
  • В параметре "PATH" указываем путь к файлу, который будет обрабатывать прилетевший на него $_REQUEST["ELEMENT_ID"] => $1 и $_REQUEST["A"] => $2

P.S. Незабудь в настройках компонента добавить параметр "ELEMENT_ID" => $_REQUEST["ELEMENT_ID"], чтобы правильно работало кэширование и создать файл .parameters.php в папке с шаблоном компонета

if (!defined("B_PROLOG_INCLUDED") || B_PROLOG_INCLUDED!==true) die();

$arTemplateParameters = array(
	"ELEMENT_ID" => Array(
		"NAME" => GetMessage("ELEMENT_ID"),
		"TYPE" => "HTML",
		"DEFAULT" => "",
	),
);