CIBlock::ReplaceDetailUrl() — это «скрытый» помощник Битрикса, который заменяет плейс-холдеры в масках URL-ов элементов и разделов инфоблоков на реальные значения. Он понимает такие маркеры, как #SECTION_CODE_PATH#, #ELEMENT_CODE#, #SERVER_NAME#, умеет строить ссылку на товар через #PRODUCT_URL#, а в финале упорядочивает слэши, чтобы не было «/catalog///item/». Ниже — подробное описание работы функции и production-ready примеры.