2019-06-02

書籍リストにステータスを表示させてみる


書籍リストにステータスを表示させてみようかな、と。

コードとしてはこんな感じで。

<div class="row">
{% if entries | length %}
  {% for entry in entries.all() %}
  <div class="post-preview col-md-3">
    {% if entry.c_url %}<a href="{{entry.c_url}}">{%endif%}
        {% switch entry.book_status %}
          {% case "boughtBook" %}
          <span class="badge badge-success align-top position-absolute">購入済み</span>
          {% case "readingBook" %}
          <span class="badge badge-info align-top position-absolute">読み中</span>
          {% case "readBook" %}
          <span class="badge badge-secondary align-top position-absolute">読了</span>
          {% default %}
          <span class="badge badge-primary align-top position-absolute">読みたい</span>
        {% endswitch %}
        {% set bookASIN%}{% spaceless %}

book セクションの book_status を取り出して分岐する。

{% switch %} タグ についてはドキュメント参照でサクッとできた。

{% switch %} タグ | Craft 3 ドキュメント
https://docs.craftcms.com/v3/j...

Twig の話か Craft CMS のタグかわからなくなることがあるけどその辺は慣れの問題だろうな。

Bootstrapのutilityでとりあえずってかんじで。

Vertical alignment · Bootstrap
https://getbootstrap.com/docs/...
Badges · Bootstrap
https://getbootstrap.com/docs/...

ステータス、ログインしてたらフロントから編集とかできたら楽そうだな。

やり方調べてみよう。