ページ 11

dittoを複数箇所利用した場合の正しい使い方

Posted: 2016年9月02日(金) 21:27
by modx_beginner
[ MODX Evolution ]
バージョン : 1.0.10J-r3

お世話になります。
dittoの使い方について相談させてください。

あるリソース内で同じ親からdittoを2箇所
表示させようと考えております。
下記のようなイメージです。

[!ditto? &parents='10' &display='1' &id='one'...!]

htmlソース

[!ditto? &parents='10' &display='3' &id='two' ...!]


---

親であるリソース10の中に
5記事ブログを書いてあります。
記事のidは11~15です。

上のdittoでは、前へ12[3]45 次へ 表示
※[3]は現在の記事

下のdittoでは、サムネイル画像(変数を作成)を含めた
関連の記事として3記事表示させたいと思っているのですが

下のdittoの表示はうまくいくのに
上のdittoが吐き出す次へ前へリンク[+next+]などが上手くいきません。

paginateなどを1にしたり、色々試したのですが
なかなか解決に至りません。

ご教授いただけませんでしょうか?
宜しくお願い致します。

dittoを複数箇所利用した場合の正しい使い方

Posted: 2016年9月02日(金) 23:44
by yama
http://mng.demo.modx.jp/
こちらでサンプルを作っていただいてよいでしょうか?

dittoを複数箇所利用した場合の正しい使い方

Posted: 2016年9月03日(土) 17:32
by modx_beginner
yama 様

ご返信ありがとうございます。

ご指摘いただいたURLにデモサイトを作ってみました。

説明がわかりにくくて申し訳ありません。

「出来事1」のソースにも下段に表示されているサムネイル有りきの、同じditto,のように
上段のDitttoでも記事「次へ」「前へ」へのリンクが正しく表示され、たとえば「出来事2」を見ていたら、「前へ」を押せば、「出来事1」が表示され「次へ」を
押したら「出来事3」が表示されるブログ等でよくあるページネーションを作りたいと思っています。

ご検討のほどよろしくお願いいたします。

dittoを複数箇所利用した場合の正しい使い方

Posted: 2016年9月04日(日) 00:50
by modx_beginner
yama 様

デモサイトのURLを忘れてしまいました。
失礼いたしました。

http://160903153228-4058.evo.demo.modx.jp/index.html

http://160903153228-4058.evo.demo.modx.jp/manager/

user_name : modx
pass : modx

ご確認のほどお願い致します。

dittoを複数箇所利用した場合の正しい使い方

Posted: 2016年9月04日(日) 10:26
by yama
確認しました。MODXのバージョンが古いようですが、最新版にアップデートできますか?
最新版で修正できているかどうかは上記デモサイトで確認できると思います。

dittoを複数箇所利用した場合の正しい使い方

Posted: 2016年9月05日(月) 21:10
by noka
こんばんは。

Dittoの複数設置というよりは、「記事間の前後の移動」の実装という視点で,参考情報です。
関連した情報のつもりですけど,関係なかったらすみません。

Dittoのページングは、URL固定のままでパラメーターが付加されるので記事本体へのリンクとはなりません。
このため、記事間の移動を単純なdittoのページングで実現することはできないと思います。

そういうこともあって、過去
http://forum.modx.jp/viewtopic.php?t=1374

http://forums.modx.com/index.php/topic, ... 83540.html
といったスニペットが登場し、カスタマイズしながら利用されている方は多いのではないかと思ったりします。

現時点で最適な記事移動のナビゲーションについては私も知りたいところではありますが,私の場合は
だいぶ力技ですが、Dittoのfilterを使うことが多いです。

コード: 全て選択

//新しい記事
[[Ditto? &config=`paging-prev` &parents=`8` &filter=`publishedon,[*publishedon:date('%s')*],3|id,[*id*],2`]]
//古い記事
[[Ditto? &config=`paging-next` &parents=`8` &filter=`publishedon,[*publishedon:date('%s')*],4|id,[*id*],2`]]
のような感じで公開日の大小と自分自身を含まない条件のフィルタを重ねて、1件のみを抽出する感じでリンクを生成。

paging-prev.config.phpには,

コード: 全て選択

$depth=3;
$hideFolders=1;
$showInMenuOnly=1;
$orderBy='publishedon ASC';
$noResults='<!--  -->';
$tpl='@CODE:<span><a class="prev" href="[~[+id+]~]">←新しい記事</a></span>';
$display=1;
paging-next.config.phpには,

コード: 全て選択

$depth=3;
$hideFolders=1;
$showInMenuOnly=1;
$orderBy='publishedon DESC';
$noResults='<!--  -->';
$tpl='@CODE:<span><a class="next" href="[~[+id+]~]">古い記事→</a></span>';
$display=1;
とソートの昇降を逆にする感じです。



以上です。