/** * @param EntityInterface $entity * @param array $array */ protected function retrieveTerms(EntityInterface $entity, array &$array) { foreach ($entity->getTaxonomyTerms() as $term) { while ($term->hasParent()) { $name = $term->getTaxonomy()->getName(); $array[$name][] = $term->getName(); $term = $term->getParent(); } } $this->retrieveTermsThroughParents($entity, $array); }
public function findTaxonomyTerm(EntityInterface $entity, $type) { /* @var $term \Taxonomy\Entity\TaxonomyTermInterface */ foreach ($entity->getTaxonomyTerms() as $term) { $ancestor = $term->findAncestorByTypeName($type); if ($ancestor) { return $ancestor; } } return null; }
protected function getCategories(EntityInterface $entity) { $categories = []; $i = 0; foreach ($entity->getTaxonomyTerms() as $term) { $categories[$i] = ''; while ($term->hasParent()) { $categories[$i] = $term->getName() . '/' . $categories[$i]; $term = $term->getParent(); } $categories[$i] = substr($categories[$i], 0, -1); $i++; } return $categories; }