category

Redactor のフィールドを Matrix の Redactor に変更するためにインポートやらテンプレートの調整をした #craftcms

2019-04-14

フィールドの構成を変更することにした。

Craft CMS をブログで使うならMatrixのフィールドにリッチエディタを入れておくのがよいのかも? #craftcms | mersy note
https://note.mersy418.com/arti...

で書いた感じでとりあえず、Craft CMS 内にあるエントリは Matrix のリッチエディタに移すことにした。

インポート用のXMLを作成

Feed用の atom.xml を export.xml みたいな感じでコピペ。

検証用に特定のエントリだけをまずは出力してみる。

{% for entry in craft.entries.section('article') %}
↓↓↓
{% for entry in craft.entries.section('article').id([337, 417]) %}

こんな感じでとりあえず、特定のエントリだけを対象にしてXMLを出力。

Feedme の設定

先日無料になったFeedmeをインストールしてFeedの設定をする。

とりあえず取り込みは問題ないんだけど、なんでか画像のURLが http になっちゃうなー、とおもったら feed の URL が http になってた・・・・
凡ミスすぎる・・・・

RedactorのReference Tagsを出力できない 

Redactor で画像を挿入した時は

<img src="https://asset.mersy418.com/asset/20190410-1111_03.png" data-image="416">

インポートすると

#asset:416:url

このReference Tags が消えちゃうのでどうしたものかなー、と。

週末だというのに @BUN に聞きつつも、とりあえずインポートできてるなら、画像のリンクが切れるわけでもないのでこれでいいかな、ということで。

この辺関係あるのかなー。

Redactor inserts reference tags into IMG when using image transforms, but tag not being processed by parseRefs - Craft CMS Stack Exchange
https://craftcms.stackexchange...

ちゃんと読むのが億劫になったけど。

MarkdownのフィールドとRedactorを出力するようにする

こんなかんじで、最近作成したフィールドともともとmarkdownで書いてた部分をXMLに出力するように変更。

{{ entry.contentText }}{{ entry.contentBody.raw | markdown(flavor='gfm-comment') }}

Feedは問題なさそうなのでこれでインポート。

Matrix の取り出し方を汎用的にする

んで、今回フィールドが Matrix にかわったので @BUN のエントリーを参考にして Matrix の取り出しを汎用的にできるように変更。

Craft CMS の行列(Matrix)フィールドのテンプレートを最適化してみる | BUN:Log
https://bunlog.dreamseeker.dev...

テンプレートの書き方はよかったのだけど、インクルードするファイル名が hundle になってなくてうまいこといけてなかった。

Matrix Block Queries | Craft 3 Documentation
https://docs.craftcms.com/v3/d...

ちゃんと読んでやりましょう。