こんにちは。よろしくお願い致します。
現在、MODx0.9.5に、標準添付のDitto1.0.2を試しているのですが、
表示がうまくいかない時があります。
例えば、以下のようにスニペットを呼び出しますと、
[[Ditto? &startID=`0` &summarize=`5`]]
・概要まで表示するタイトルは、5件、残りはアーカイブとして表示。
・ドキュメントに「要約(summary)」がない場合は、contentをデフォルトの長さ(300バイト…だと思うのですが)で
切りつめて表示。
してきます。が、この時、何かの条件が重なると、変なところでソースを
切ってしまうのです。。この「何かの条件」は、プログラムされる方なら
プログラムを見てわかるのかも知れません。。
例えばDittoが取得しようとしているコンテンツの中に、「a」タグや「img」タグを含む場合、その
変なところでちょん切れる現象が起きるようです。
Dittoが取得しようとしているcontentの中に、「<cite><a href="http://ドメインとか/xxxx.html">こちらへ</a></cite>…」などが
あると、そのピリオド以降のaの閉じタグまでを切ってしまうのです(<cite><a href="http://ドメインとか/xxxx.</cite>…になってしまう)
ただ、いつも「.」で切ってしまうかというと、そうでもないようで、
何かの条件が重なった時のようなのです。
原因と対処方法がわかりますでしょうか。。
どうぞよろしくお願い致します。
ロジックとして指定の長さの切り出し処理の中でtextTrunc()の中でピリオドで切っちゃってますねぇ
英文の終端であるピリオドまでをなんとか救う為の処理なようですが、これが悪さしているようです。
その後処理でタグが閉じてなければ閉じるようにしいているのでそのような出力になるようです。
変な風にならないようにするには、
1.Dittoの呼び出しパラメタtrunc を1以外にして、Contentを全部出しちゃう
2.IntroTextに書く
3.Dittoの呼び出しパラメタのTructSplitを1にして、Contentの中にSplitter($_lang[’default_splitter’]の文字列)を入れる
4.Contentの中にタグを使わない
ぐらいが考えられます。
1は、抜粋じゃないので意味がないし、4は縛りがきつすぎるので、2または3の対処が現実的かと思われます。