ページ 11

Dittoでウェブリンクを使った場合

Posted: 2018年5月31日(木) 09:44
by yasu
お世話になります。
Dittoでウェブリンクを使う場合の仕様についてお伺いします。


Dittoで新着情報を表示させていますが、通常通り対象リソースへリンクする場合と、
リソースタイプを「ウェブリンク」にして外部サイトやサイト内のDitto外へリンクさせる場合があり、
取得対象リソースの[*content*]を表示させるようにしています。

これでリソースタイプを「ウェブリンク」にしてURLやID入力をすると、
URL入力欄にいれた内容が[*content*]部分に表示されてしまいます。
(以前はこんな事はなかった気がするのですが・・・)

例)
[~ID~] ⇒ aliasが表示
URL ⇒ そのままURLが表示
フォルダアイコンで指定 ⇒ 設定した数字が表示

2018-05-31_093207.jpg
2018-05-31_093207.jpg (7.01 KiB) 閲覧数: 2490 回

2018-05-31_094249.jpg


リソースタイプをウェブリンクにした場合に、[*content*]に表示させない方法があれば
ご教授ください。

よろしくお願いいたします。


デモサイトで再現しています。

http://180531083258-6847.evo.demo.modx.jp/

コード: 全て選択

<dl class="dl-horizontal">
[[Ditto?
&parents=2
&orderBy=publishedon
&tpl='@CODE:
<dt>[+createdon:date=`%Y年%-m月%-d日`+]</dt>
<dd><a href="[+url+]">[+pagetitle+]</a></dd>
<p>[+content:notags:limit(30).(…)+]</p>
'
]]
</dl>

Dittoでウェブリンクを使った場合

Posted: 2018年6月04日(月) 17:08
by noka
こんにちは。

別件でフォーラムを見ていましたら、お答えできそうな質問がありましたので、参考まで。

ご指摘の挙動は仕様だと思います。
対応方法としては、リソース(document)とウェブリンク(reference)を区別する[*type*]の値で切り分ける感じが素直でしょうか。
いくつか方法はあると思いますが、
&tplパラメータを、

コード: 全て選択

[+type:is(reference):then(``):else(`[+content:notags:limit(30).(…)+]`)+]

などとすると良いと思います。

デモサイト、有効期限が切れるかもですが、まだログインできましたので一応検証コードを入れています。

コード: 全て選択

<dl class="dl-horizontal">
[[Ditto?
&parents=2
&orderBy=publishedon
&tpl='@CODE:
<dt>[+createdon:date=`%Y年%-m月%-d日`+]</dt>
<dd><a href="[+url+]">[+pagetitle+]</a>
<p>[+type:ne(document):then(``):else(`[+content:notags:limit(30).(…)+]`)+]</p>
</dd>
'
]]
</dl>


それでは。

Dittoでウェブリンクを使った場合

Posted: 2018年6月05日(火) 08:44
by yama
こちら確認が遅くなりましたが、サンプルを確認しました。なるほどですね。
nokaさんのアドバイスのとおり、MODXの内部処理的にはウェブリンクのデータは[*content*]フィールドに記録されるので、
これは仕様ということになります。でもそれは内部設計的な話なので、Ditto側ではcontentとウェブリンクのデータは
別物として扱うのが自然かもしれませんね。後ほどDittoを調整しますので、動作テストをお願いしてよいでしょうか?

Dittoでウェブリンクを使った場合

Posted: 2018年6月05日(火) 18:27
by yasu
nokaさん yamaさん

ありがとうございます!
やはり仕様でしたか。。

取り急ぎnokaさんのアドバイスを適用させていただきます。

yamaさん
できれば別物として扱ったほうが分かりやすいかと思うので、Dittoの調整されたら動作テストに協力させていただきます。

ありがとうございました。