限らない話ではあると思うのだけど。合同会社https://bit-part.net/craftcms/...というのをかいて、コンテンツの一部をログインしているかどうか?というのをもとに制御するようなサンプルを書いた。どこまで表示させるか?というパターンはいくつかあるとおもう。特定のフィールドを出すパターン特定のフィールドだけを出す、というパターンは実装としてはそこまで難しくはない。運用上そのフィールドにデータを入れないといけないということが若干手間に感じられる可能性がある、というところかな、と。この赤枠の方のフィールドに都度入れてもらうような感じ。運用として回せるならこれはこれでありだと思う。基本的にどこまで自動でやるか、どこまで自由にやりたいか、という話になってくるところではあると思うのだけど。教えてもらった方法ではあるのだけど。タグの閉じタグをくっつけて出力するパターン。これはだいぶスマートなやり方だと思う。文字数を決めたい場合があるだろうなぁと思ってとりあえずそれを考えてみる。%}はとりあえずさっきの最初の段落と同じ感じでpタグ単位で分けて配列にセットするってのをやりつつ。配列をループさせながら一旦タグを削除して文字数をカウントしたのを文字数用の配列にセットしている。ここ配列まとめちゃってよかったな、と書きながら思う。%}それがおわったらあとは元々セットしてある配列から、必要なだけループするという感じ。%}とりあえずざっくりとはこんな感じかな、と。指定の文字数で区切って表示させる文字数決め打ちとなった場合どうするか?というのがあり少し考えてみたけど、あまりいい感じにはできなかった。できているといえばできているのだけど、、、いい感じにテキストだけ抜き出すというのが難しいな、、、と。%}大体はさっきの段落で区切るコードと同じではあるのだけど。指定の文字数をオーバーする前の段落(配列)までが何文字で、次の段落は頭から何文字切り出すか?を計算する。タグとかがはいってるときにそれが途中で切り出されてしまいそうな気がする。結果として文字数途中で切り分けるところはテキストしかはいっていない想定でやるしかないんじゃないのかなぁ、、、と。%}ということで、ループの最後はそういう感じの処理にしておいた。みたいに書いてslice出来るのを知った。新聞社のサイトの文字数制御こういうニュースサイトの文字数切ってるのは、コンテンツを管理している仕様として、テキストはテキスト、画像は画像(とキャプション)、という感じで管理されているのかなぁというのが気になった。それであればイレギュラーなことは発生しなそうだからどうにでもなるかな、という気はするのだけど。似たようなことやってくれるはずなんだけど、あれの処理はどうなってるんだろうな。タグが取り除かれ、最後に「...」が付加されます。テキスト取り出してるだけだから同じような話か。指定したMatrixのブロックの数や段落数とかであれば問題ないけど。