setBreadcrumb() public method

public setBreadcrumb ( array $breadcrumb )
$breadcrumb array
Example #1
0
 /**
  * prepare an api entity.
  *
  * @param CollectionEntity   $entity
  * @param string             $locale
  * @param CollectionEntity[] $entities           nested set
  * @param array              $breadcrumbEntities
  *
  * @return Collection
  */
 protected function getApiEntity(CollectionInterface $entity, $locale, $entities = null, $breadcrumbEntities = null)
 {
     $apiEntity = new Collection($entity, $locale);
     $children = [];
     if ($entities !== null) {
         foreach ($entities as $possibleChild) {
             if (($parent = $possibleChild->getParent()) !== null && $parent->getId() === $entity->getId()) {
                 $children[] = $this->getApiEntity($possibleChild, $locale, $entities);
             }
         }
     }
     $apiEntity->setChildren($children);
     if ($entity->getParent() !== null) {
         $apiEntity->setParent($this->getApiEntity($entity->getParent(), $locale));
     }
     if ($breadcrumbEntities !== null) {
         $breadcrumbApiEntities = [];
         foreach ($breadcrumbEntities as $entity) {
             $breadcrumbApiEntities[] = $this->getApiEntity($entity, $locale);
         }
         $apiEntity->setBreadcrumb($breadcrumbApiEntities);
     }
     return $this->addPreview($apiEntity);
 }