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

**URL:** <https://forums.concretecms.org/t/topic/7184>\
**Category:** 日本語\
**Created:** [April 2, 2024, 3:59am UTC](https://forums.concretecms.org/t/topic/7184 "2024-04-02T03:59:06Z")\
**Posts on this page:** 3\
**Page:** 1

<div class="post-metadata">

**Author:** ![Jun\_22](https://forums.concretecms.org/user_avatar/forums.concretecms.org/jun_22/32/6298_2.png) [@Jun\_22](https://forums.concretecms.org/u/Jun_22)\
**Post date:** [April 2, 2024, 3:59am UTC](https://forums.concretecms.org/t/topic/7184/1 "2024-04-02T03:59:06Z")

</div>

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

> **[ページのデータを取得する](https://concrete5-japan.org/help/5-7/developer/working-with-pages/getting-data-about-a-page/)**

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

```

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

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

```

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

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

```

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

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

Concrete CMS バージョン  
9.2.6

PHP バージョン  
8.1.x

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

---

<div class="post-metadata">

**Author:** ![FumitoMIZUNO](https://forums.concretecms.org/user_avatar/forums.concretecms.org/fumitomizuno/32/5728_2.png) [@FumitoMIZUNO](https://forums.concretecms.org/u/FumitoMIZUNO)\
**Post date:** [April 2, 2024, 11:36pm UTC](https://forums.concretecms.org/t/topic/7184/2 "2024-04-02T23:36:54Z")

</div>

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

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

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

```

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

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

---

<div class="post-metadata">

**Author:** ![Jun\_22](https://forums.concretecms.org/user_avatar/forums.concretecms.org/jun_22/32/6298_2.png) [@Jun\_22](https://forums.concretecms.org/u/Jun_22)\
**Post date:** [April 3, 2024, 9:46am UTC](https://forums.concretecms.org/t/topic/7184/3 "2024-04-03T09:46:38Z")

</div>

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

> **[Attribute Basics](https://documentation.concretecms.org/9-x/developers/attributes/attribute-basics)**

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