Как сделать типовое решение для Bitrix Marketplace проиндексированным?

Модератор завернул моё типовое решение потому что не всё находится в поиске. Я проиндексировал сайт заново и поиск заработал корректно. Как мне сделать моё типовое решение тоже проиндексированным по умолчанию? Или другими словами как мне перенести новый индекс в типовое решение? Чтобы когда модератор установил его всё было проиндексировано и поиск всё находил.


Ответы (1 шт):

Автор решения: Сергей Савченко

уменя такая структура типовое решение/site/services/main/search.php

в типовое решение site/services/.services.php добавить

"main" => Array(
        "NAME" => GetMessage("SERVICE_MAIN_SETTINGS"),
        "STAGES" => Array(
            "search.php", // Indexing files
        ),
    ),

и сам файл:

<?
if(!defined("B_PROLOG_INCLUDED") || B_PROLOG_INCLUDED!==true)
    die();
    
if (!CModule::IncludeModule("search"))
    return;
    
if (COption::GetOptionString("search", "exclude_mask") == "")
    COption::SetOptionString("search", "exclude_mask", "/bitrix/*;/404.php;/upload/*");

if(WIZARD_SITE_ID != "")
    $NS["SITE_ID"] = WIZARD_SITE_ID;
        
if (!isset($_SESSION['SearchFirst']))
    $NS = CSearch::ReIndexAll(false, 20, $NS);
else
    $NS = CSearch::ReIndexAll(false, 20, $_SESSION['SearchNS']);
           
if (is_array($NS))  //repeat step, if indexing doesn't finish
{
    $this->repeatCurrentService = true; 
    $_SESSION['SearchNS'] = $NS;
    $_SESSION['SearchFirst'] = 1;   
}
else
{
    unset($_SESSION['SearchNS']);
    unset($_SESSION['SearchFirst']);       
}
?>
→ Ссылка