2020-05-22
GraphQL で Craft CMS のエントリのステータスを無効にしたり削除する #craftcms
Craft 3.5 ベータで GraphQL の Mutation が使えるようになって色々できることが増えた。
先日書いたのでエントリは削除するとした。
単に最初エントリのステータスを無効にする方法がわからなかっただけなのだけど、 enabled
を false
でよかった。
docs/graphql.md at 3.5 · craftcms/docs
https://github.com/craftcms/do...
エントリのステータスを無効にする場合
mutation{ save_bphub_bphub_Entry( authorId:"1", id: xxx, enabled: false ){ id } }
save_bphub_bphub_Entry
のところに何か別の方法があるのかなぁと思ったけど、 enabled
を見落としていた。
エントリを削除する
エントリ自体を削除する場合は deleteEntry
を利用する。
mutation{ deleteEntry( id:1234 ) }
これで削除できる。
docs/graphql.md at 3.5 · craftcms/docs
https://github.com/craftcms/do...
削除できたかどうかのレスポンスが返ってくる。
ただ、複数削除するとかで id は配列だとだめっぽい感じなので、そこはこの処理をループする感じで。。。
{% set deleteEntry %} mutation($id:Int!){ deleteEntry( id:$id ) } {% endset %} {% for article in articles.data.entries %} {% set eid = article.id %} {% set variables = {'id': (eid)} %} {% set deleteEntries = gql(deleteEntry, variables) %} {% endfor %}
とりあえず複数エントリの削除ができた。