Всем привет! Вот есть замечательная статья о том, как сделать поиск по разделам. У меня есть несколько вопросов, я задал их в комментариях, но что-то безрезультатно, поэтому продублирую здесь.
Вопросы по коду:
180 - это id инфоблока, по которому будет осуществляться поиск?
6759 - id раздела инфоблока, по которому будет искать поиск? Т.е. если у меня, например, инфоблок "Товары" содержит разделы "Диски", "Книги", "Сувениры" я могу просто сделать выпадающий список рядом со строкой поиска и передавать get'ом id раздела вместо 6759?
А если у меня разел "Книги" содержит подразделы? Т.е. по факту элементы привязаны к подразделам, но поиск нужен по всему разделу "Книги"?
Я правильно понял, что это мне нужно на первом шаге вот здесь
воспользоваться CIBlockSection::GetNavChain и передать в качестве $arSection["ID"] ID родительского раздела?
Спасибо.
Вопросы по коду:
| Код |
|---|
if($arFields["MODULE_ID"] == "iblock" && $arFields["PARAM2"] == 180 && substr($arFields["ITEM_ID"], 0, 1) != "S";) |
180 - это id инфоблока, по которому будет осуществляться поиск?
| Код |
|---|
$arSectionFilter = array("PARAMS" => array("iblock_section" => 6759)); |
6759 - id раздела инфоблока, по которому будет искать поиск? Т.е. если у меня, например, инфоблок "Товары" содержит разделы "Диски", "Книги", "Сувениры" я могу просто сделать выпадающий список рядом со строкой поиска и передавать get'ом id раздела вместо 6759?
А если у меня разел "Книги" содержит подразделы? Т.е. по факту элементы привязаны к подразделам, но поиск нужен по всему разделу "Книги"?
Я правильно понял, что это мне нужно на первом шаге вот здесь
| Код |
|---|
//Получаем разделы привязки элемента (их может быть несколько)
$rsSections = CIBlockElement::GetElementGroups($arFields["ITEM_ID"], true);
while($arSection = $rsSections->Fetch())
{
//Сохраняем в поисковый индекс
$arFields["PARAMS"]["iblock_section"][] = $arSection["ID"];
}
|
воспользоваться CIBlockSection::GetNavChain и передать в качестве $arSection["ID"] ID родительского раздела?
Спасибо.