COLUM

コラム

Ditto ページネーションかっこよくしたい!パラメータの使い方

MODX備忘録

2020/09/30

Ditto ページネーションかっこよくしたい!パラメータの使い方

Ditto ページネーションは、Dittoで取得する複数のリソースを数件ごとにページを分けて表示する機能です。

http://modx.jp/docs/extras/snippets/ditto/params/main/paging.html
↑以下、こちらのページの補完内容です。

[!Ditto?
&id=`blog`
&parents=`リソースID`
&display=`10`
&paginate=`1`
!]

[+blog_previous+][+blog_pages+][+blog_next+]

基本的なページング機能では、以下のHTMLが出力されます

< 戻る
1|
2|
3
次へ >

ページングを、も少しかっこよく表示したいけどこれでは、装飾しづらいですよね。

ページングのテンプレートを変更
[!Ditto?
&id=`blog`
&parents=`リソースID`

&display=`10`
&paginate=`1`
&paginateSplitterCharacter=``
&tplPaginateCurrentPage=`@CODE 
  • [+page+]
  • ` &tplPaginatePage=`@CODE
  • [+page+]
  • ` &tplPaginateNext=`@CODE ` &tplPaginatePrevious=`@CODE ` !]
      [+blog_previous+][+blog_pages+][+blog_next+]
    ※[ ]は半角に変換してください。

    &paginateSplitterCharacter=`` で「|」を非表示にし、個別にテンプレートを変更します。
    これで以下の様にHTMLが出力されるので、CSSでの装飾が容易になりました。

    
    

    こんな感じにCSSを調整

    ul {
    	list-style: none;
    }
    #pagination {
    	display: flex;
    	justify-content: flex-start;
    }
    #pagination li {
    	margin-right: 4px;
    }
    #pagination li a, #pagination li span {
    	text-decoration: none;
    	border: 1px #ddd solid;
    	font-size: 14px;
    	color: #222;
    	display: block;
    	width: 40px;
    	height: 40px;
    	line-height: 40px;
    	text-align: center;
    }
    #pagination li.prev a, #pagination li.next a {
    	width: 50px;
    }
    #pagination li a {
    	transition: background 0.2s ease 0s;
    }
    #pagination li a:hover {
    	background: #ddd;
    }
    #pagination li.active span {
    	color: #fff;
    	border: 1px #b5282e solid;
    	background: #b5282e;
    }
    

    その他ページネーションパラメーター
    &paginateAlwaysShowLinks=`1`

    前の次のリンクを常に表示するか(初期値:0 表示しない)

    &tplPaginateNextOff=`@CODE 
  • NEXT
  • ` &tplPaginatePreviousOff=`@CODE
  • PREV
  • `

    前後のリンクがない場合のテンプレート

    | 一覧へ |

    CONTACT

    092-406-9941

    受付 9:30~18:00(土・日・祝日除く)

    MEETING

    福岡市近郊は
    無料でお伺いします

    九州