/** * @param eZContentObjectTreeNode $node * @return array */ public function getRelatedContent($node){ $result = array(); $relatedContentTaxonomy = $this->applicationLocalized()->applicationObject()->getCustomParameter('RelatedContentTaxonomy'); $relatedContentTaxonomyCount = $this->applicationLocalized()->applicationObject()->getCustomParameter('RelatedContentTaxonomyCount'); if ($relatedContentTaxonomy == null) { return $result; } if ($relatedContentTaxonomyCount == null || $relatedContentTaxonomyCount == 0) { return $result; } if ($this->node instanceof eZContentObjectTreeNode == false) { return $result; } $dataMap = $this->node->dataMap(); $serial = $dataMap["serialized_taxonomies"]->content(); $taxonomyValue = $serial[$relatedContentTaxonomy]; $nodeId = $this->node->NodeID; $result = $this->resultHandler->getRelatedContent($relatedContentTaxonomy, $taxonomyValue, $relatedContentTaxonomyCount, true, $nodeId); if(count($result) < $relatedContentTaxonomyCount) { $tmpRelatedContentTaxonomyCount = $relatedContentTaxonomyCount - count($result); $result1 = $this->resultHandler->getRelatedContent($relatedContentTaxonomy, $taxonomyValue, $tmpRelatedContentTaxonomyCount, false, $nodeId); $result = array_merge($result, $result1); } return $result; }