ページリストブロックに[タグ]属性を表示したい

ページリストブロックに[タグ]属性を表示したいという要望があり、以下を参考にブロックテンプレートへ追記してみました。

<?php
$tags = $page->getAttribute('tags');
if ($tags && count($tags)) { ?>
    <ul>
        <?php foreach ($tags as $tag) { ?>
            <li><?php echo $tag ?></li>
        <?php } ?>
    </ul>
<?php } ?>

以下のエラーを生じました。

TypeError
count(): Argument #1 ($value) must be of type Countable|array, Concrete\Core\Entity\Attribute\Value\Value\SelectValue given

試しにそのまま出力してみました。

<?php
$tags = $page->getAttribute('tags');
echo $tags;
?>

ページに付与された複数のタグが連続して表示されました。
ソースコード上では改行されているようです。

各タグを個別に取得しループでマークアップできればと思いますが、バージョン 9 ではどのようになりますでしょうか。

Concrete CMS バージョン
9.2.6

PHP バージョン
8.1.x

サーバー
エックスサーバー

たぶん countの利用条件がPHP8から厳しくなっていますね。

暫定的な対応でしたら、
タグが入っていない場合(0個の場合)の処理を省いて
↓で

<?php if ($tags) { ?>
    <ul>
    <?php foreach ($tags as $tag) { ?>
        <li><?php echo $tag ?></li>
    <?php } ?>
    </ul>
<?php } ?>

※たぶんタグがない場合にもulとかだけ表示される

厳密に対応するならドキュメントを調べてみないとわからないですね

期待した出力を得ることができました。
ご指摘の通りタグの付与されていないページでも ul は出力されております。
タグの有無を判定する方法は見つけられませんでしたが取り急ぎ進めることができそうです。

ご回答ありがとうございました。