Достаточно распространенная задача получать дерево разделов из какого-то внешнего источника и отображение их в виде дерева. В данном посте будет функция-заготовка для обработки таких вот разделов и построения дерева
Сама идея построения дерева очень проста: необходимо всем элементам найти их предков, а после этого всем предкам добавить их потомков. Реализация ниже:
class someClass{ var $arSections; // как-то его заполняем массив function Get1CTreeSections() { $sections = []; foreach ($this->arSections as $arSection) { $sections[$arSection['GUID']] = $arSection; // преобразовываем массив, //чтобы ключами были обязательно прописаны уникальные идентификаторы } if(empty($sections)){ return false; } $this->arSections = $sections; unset($sections); $arTree = self::MakeTreeFromArray($this->arSections,false,'GUID','SGUID'); return $arTree; } function MakeTreeFromArray($array,$key=false,$keyField='GUID',$parentKeyField='SGUID'){ $branch = []; foreach ($array as &$element){ if($element[$parentKeyField] !== null && $array[$element[$parentKeyField]]==null){ unset($element[$parentKeyField]); } if($element[$parentKeyField]==$key){ $children = self::MakeTreeFromArray( $array, $element[$keyField], $keyField, $parentKeyField); if($children){ $element['children'] = $children; } $branch[$element[$keyField]] = $element; unset($element); } } return $branch; } }
Разработка сайта
Подайте заявку на разработку сайта на базе готового решения от компании 1С-Битрикс или одного из партнеров компании. Максимально подробно опишите, чему будет посвящен сайт, если это интернет-магазин - что он будет продавать, нужна ли мультиязычность, будут ли разные типы цен (розница, опт, крупный опт), будет ли интеграция с 1С, будет ли выгрузка товаров на различные торговые площадки...
Сопровождение сайта
Вы можете подать заявку на сопровождение вашего сайта на базе 1С-Битрикс. Сопровождение включает в себя: проверка актуальности обновлений сайта, проверка актуальности резервной копии, консультации по сайту. Опишите в заявке, какие еще объемы планируются на сопровождении и на какой срок вы планируете заключить договор на сопровождение - мы подберем подходящий вам бюджет на сопровождение
Работы по сайту
Вы можете подать заявку на выполнение определенного объема работ по сайту. Опишите в заявке объем работ. Это может быть разработка какого-то нового функционала, доработки по имеющемуся функционалу, доработки под требования сео-специалистов. На основании заявки вам будет сформирован бюджет работ, а также названы сроки на выполнение тех или иных работ.