Bonjour,
Vous pouvez utiliser le in_array pour tester plusieurs catégories en même temps.
if(in_array($this->row->category_id, array(XX,YY,ZZ))
Par contre pour faire une catégorie et ses enfants, il faut faire une requête en base de données (direct ou via l'utilisation de la classe catégorie) pour récupérer tous les enfants d'une catégorie donnée (via les left/right du b-tree).
Le plus simple est à mon avis de mettre la liste dans le array, surtout si vos catégories ne vont pas changer spécialement avec le temps.
Cordialement,