articleForGTM(); $a->category = $article['section']['name'] ?? ''; $a->name = $article['title']; $a->tags = array_values($article['tags'] ?? []); $a->authors = array_values(array_map(function ($author) { return [ 'name' => $author['name'], 'email' => $author['email'], 'id' => $author['id'], ]; }, $article['authors'] ?? [])); $a->date_created = date_create($article['date'])->format('Y-m-d'); $a->read_time = $article['data']['readTime'] ?? false; return (object) ['article' => $a]; } protected function getFirstRelatedBranch($aID) { return sqlQueryBuilder() ->select('ab.name') ->from('articles_relation', 'ar') ->leftJoin('ar', 'articles_branches', 'ab', 'ar.id_branch = ab.id') ->where('ar.id_art=:aID') ->setParameter('aID', $aID) ->setMaxResults(1) ->execute() ->fetchOne(); } public function getPageTypeString(BaseComponent $component): ?string { return 'article'; } }