Добрый день, на сайте есть элементы "Доктор" у которых есть разделы по специальностям, у одного доктора может быть несколько специальностей одновременно. Но элемент выводится только для одной специальности.
В битрикс новичок, пока что понимаю далеко не все. В PHP знания тоже далеки от идеала.
Вот выдержка из template.php
result_modifier.php:
Буду благодарен за любой совет и помощь.
В битрикс новичок, пока что понимаю далеко не все. В PHP знания тоже далеки от идеала.
Вот выдержка из template.php
Код |
---|
<?php function printDoctors($arResult) { ?> <div class="doctors"> <div class="doctors-items"> <?php foreach($arResult["ITEMS"] as $arItem): ?> <div class="doctor-item"> <a href="<?php echo $arItem["DETAIL_PAGE_URL"]; ?>" class="doctor-item-photo-holder"> <img src="<?php echo $arItem["PHOTO"]["OUT"]["SRC"]; ?>" class="cover doctor-item-photo-out" /> <img src="<?php echo $arItem["PHOTO"]["IN"]["SRC"]; ?>" class="cover doctor-item-photo-in" /> </a> <div class="doctor-item-experience">Стаж: <?php echo $arItem["DISPLAY_PROPERTIES"]["EXPERIENCE"]["VALUE"]; ?></div> <a href="<?php echo $arItem["DETAIL_PAGE_URL"]; ?>" class="doctor-item-title"><?php echo $arItem["NAME"]; ?></a> <div class="doctor-item-post"><?php echo $arItem["DISPLAY_PROPERTIES"]["POST"]["VALUE"]; ?></div> <a href="/forms/doctor/?doc_name=<?=$arItem["NAME"]?>" data-popup='{"type": "ajax"}' class="btn btn--bordered doctor-item-btn">Записаться</a> </div> <?php endforeach; ?> </div> </div> <?php } ?> <?php if($arResult["SECTIONS"]): ?> <?php foreach($arResult["SECTIONS"] as $arSection): if(!$arSection["ITEMS"]) { continue; } ?> <div class="h2" id="doctors_section_<?php echo $arSection["ID"]; ?>"><?php echo $arSection["NAME"]; ?></div> <?php printDoctors($arSection); ?> <?php endforeach; ?> <?php else: ?> <?php printDoctors($arResult); ?> <?php endif; ?> |
result_modifier.php:
Код |
---|
<?if(!defined("B_PROLOG_INCLUDED") || B_PROLOG_INCLUDED!==true)die(); foreach($arResult["ITEMS"] as &$arItem) { $arItem["PHOTO"] = [ "OUT" => GCBaseHelper::repic($arItem["PREVIEW_PICTURE"], $arParams["RESIZE"]["PREVIEW"]["WIDTH"], $arParams["RESIZE"]["PREVIEW"]["HEIGHT"]), "IN" => GCBaseHelper::repic($arItem["DETAIL_PICTURE"], $arParams["RESIZE"]["PREVIEW"]["WIDTH"], $arParams["RESIZE"]["PREVIEW"]["HEIGHT"]), ]; } unset($arItem); //deb($arResult["SECTION"]["PATH"][0]["ID"]); $arSections = GCBaseHelper::getIBlockSections([ "SORT" => [ "SORT" => "ASC" ], "FILTER" => [ "IBLOCK_ID" => GCBaseHelper::getIBlockIdByCode("doctors"), "ACTIVE" => "Y", "DEPTH_LEVEL" => 2, "SECTION_ID" => $arResult["SECTION"]["PATH"][0]["ID"], ], "SELECT" => [ "ID", "NAME", ] ]); //deb($arSections); if($arParams["DISPLAY_SECTIONS"] == "Y") { foreach($arResult["ITEMS"] as $arItem) { foreach($arSections as &$arSection) { if($arItem["IBLOCK_SECTION_ID"] == $arSection["ID"]) { if(!$arSection["ITEMS"]) { $arSection["ITEMS"] = []; } $arSection["ITEMS"][] = $arItem; } } } $arResult["SECTIONS"] = $arSections; } ?> |