/** * @return TaxonomyTerm[]|array */ protected function getTerms() { if (empty($this->_terms)) { $vocabularies = TaxonomyVocabulary::getModelsArray(); if (isset($vocabularies[$this->vocabularyName])) { $this->_terms = TaxonomyTermHierarchy::getTree($vocabularies[$this->vocabularyName]->id); } } return $this->_terms; }
/** * @return TaxonomyTerm[] */ public function getTree() { return TaxonomyTermHierarchy::getTree($this->id); }
/** * @param $vid * @param int $excludeId * @return array */ public static function treeListData($vid, $excludeId = 0) { $terms = TaxonomyTermHierarchy::getTree($vid); $data = []; foreach ($terms as $term) { if ($excludeId != $term->id) { $data[$term->id] = $term->name; } if (!empty($term->childs)) { foreach ($term->childs as $child) { if ($excludeId != $child->id) { $data[$child->id] = $child->name; } } } } return $data; }