Welcome !! Now 2008.07.25 16:23 (JST)

Reflect 2.1beta

[ スニペット ]

Reflect は、ドキュメントのアーカイブを出力するためのスニペットです。月間一覧や、年間一覧を表示することができます。利用の際は、Ditot と併用します。単独では機能しません。

参照ページ:Ditto Support Site

テスト環境

  • サーバ:さくらインターネット  
    • PHP 4.4.4
    • MYSQL 4.0.27
  • MODx:0.9.5 / 0.9.6
  • Reflect 2.1beta

基本的な書式

Ditto コール
[!Ditto? &parents=`54` &extenders=`dateFilter`  &id=`myDittoCall`!]
Reflect コール
[[Reflect? &getDocuments=`1` &id=`myDittoCall`  &dittoSnippetParameters=`parents:54`]]

必須パラメータ

Ditto 側

  • parents … Reflect 側と同じ docid
  • extenders=`dateFilter`
  • id … Reflect 側と同じ 値

Reflect 側

  • getDocuments=`1`
  • dittoSnippetParameters=`parents:docid … docid は、Ditto 側の「parents」で指定したid廃止
  • parents … Ditto 側と同じ docid
  • id … Ditto 側と同じ値

参考トピ: Reflect - archive by year and month

パラメータ(必須)

getDocuments

Ditto で出力(取得)している値を取得します(ウソかも)。デフォルト「しない(0)」。これは「1」にセットしないと、エラーが出ます。

id

Ditto とリレーションさせるためのユニークidを指定します。Ditto 側と同じ値を指定します。

dittoSnippetParameter (廃止)

ドキュメントを取得するためのDitto 側のパラメータ及び値を指定します。Ditto 側と同じ値を指定します。「parents=``」 で動作します。

parents

取得したいドキュメント群の親IDを指定します。Ditto 側と同じ値を指定します。

パラメータ(オプション)

ditto_base

Ditto の外部リソースファイルの場所を指定します。デフォルトは以下です。

[(base_path)]assets/snippets/ditto/

Ditto 2.1 beta ditto_base と同義です。

dittoSnippetName

Ditto スニペット名を指定します。複数のバージョンのDittoを稼働させている環境で、Ditto 名を変更している場合、このパラメータでそのDitto名を指定します。

config

Ditto などと同様に、コンフィギュレーションファイルを使った、簡潔なスニペットコールが可能です。Ditto 2.1 beta の「コンフィギュレーションファイルを使う」を参照して下さい

showItems

個々のアイテム(ドキュメント)を表示するかどうかを指定します。デフォルト「する(1)」。

デフォルトの表示形態

  • 2007 … 年
    • April … 月
      • entry 1 04.28 15:03 … 個々のアイテム
      • entry 2 04.09 11:38
      • ……
    • March
      • entry 1 03.21 20:15
      • entry 2 03.15 09:15
      • ……

showItems=`0`とした場合

  • 2007 … 年
    • April … 月
    • March
    • February
    • January
  • 2006
    • December
    • November
    • October
    • ……
  • ……

groupByYears

年別アーカイブリストを生成するかどうかを指定します。デフォルト「する(1)」。

targetID

リンクの基点となるドキュメントを指定します。Ditto コールで「extenders=`dateFilter`」を指定しているドキュメントを指定します。

dateSource

アーカイブリストを表示するためのデータソースを指定します。

unix タイムスタンプを持つすべてのMODx フィールドや、以下のような テンプレート変数を指定できます。

  • createdon
  • pub_date
  • editedon

デフォルト「createdon」。

ここで指定したフィールドを基準としてグループ分けされます。

※「pub_date」を指定した場合、「pub_date」を指定ないドキュメントのグループ分けが「1970」になり、リンクが上手く機能しません。

dateFormat

プレイスホルダ[+date+]の表示形式を指定します。phpのstrftime関数の値を利用できます。デフォルト「%d-%b-%y %H:%M」。

yearSortDir

年の並び順を降順にするか昇順にするかを指定します。デフォルト「降順(DESC)」。昇順にする場合は、「ASC」を指定します。

monthSortDir

月の並び順を降順にするか昇順にするかを指定します。デフォルト「昇順(ASC)」。降順にする場合は、「DESC」を指定します。

start

表示する際のオフセット値を指定します。1、2件目は表示せず、3件目から表示したいなら「2(= 2件スキップする)」を指定します。デフォルト「なし(0)」。

phx

PHx ファンクションを利用するかどうかを指定します。デフォルト「する(1)」。

※PHx ファンクションはDitto の外部リソースに含まれていますので、別途PHxプラグインを導入する必要はありません。

パラメータ(テンプレート)

出力用のテンプレートを指定するパラメータです。以下の指定方法があります。

  • Any valid chunk name
  • Code via @CODE
  • File via @FILE

tplContainer

一番外側に来るテンプレートを指定します。デフォルトは以下です。

<h3>Archives</h3>
<div class="reflect_archive_list">
  <ul class="reflect_archive">
    [+wrapper+]
  </ul>
</div>

tplYear

tplContainer」の[+wrapper+]に入るテンプレートを指定します。年アイテムのためのテンプレートです。デフォルトは以下です。

<li class="reflect_year">
  <a href="[+url+]" title="[+year+]" class="reflect_year_link">[+year+]</a>
    [+wrapper+]
</li>

tplYearInner

tplYear」の[+wrapper+]に入るテンプレートを指定します。月アイテムの外側にくるテンプレートです。デフォルトは以下です。

<ul class="reflect_months">
  [+wrapper+]
</ul>

tplMonth

tplYearInner」の[+wrapper+]に入るテンプレートを指定します。月アイテムのためのテンプレートをです。デフォルトは以下です。

<li class="reflect_month">
  <a href="[+url+]" title="[+month+] [+year+]" class="reflect_month_link">[+month+]</a>
    [+wrapper+]
</li>

month_inner

tplMonth」の[+wrapper+]に入るテンプレートを指定します。各アイテムの外側にくるテンプレートです。デフォルトは以下です。

<ul class="reflect_items">
  [+wrapper+]
</ul>

tplItem

month_inner」の[+wrapper+]に入るテンプレートを指定します。各アイテムのためのテンプレートをです。デフォルトは以下です。

<li class="reflect_item">
 <a href="[~[+id+]~]" title="[+pagetitle+]" class="reflect_item_link">[+pagetitle+]</a> (<span class="reflect_date">[+date+]</span>)
</li>

年や月の表示を日本語風に変える

  1. [+month+]の表示を変更します。Reflect スニペットを直接編集します。444行目付近:$month_text = $ditto->formatDate(mktime(10, 10, 10, $mon, 10, $year),"%B");

    $month_text = $ditto->formatDate(mktime(10, 10, 10, $mon, 10, $year),"%m");

    上記のようにすると「06、07、08...」という表示になります。

  2. tplYear」を以下のように編集します。
    <li class="reflect_year">
      <a href="[+url+]" title="[+year+]年" class="reflect_year_link">[+year+]年</a>
        [+wrapper+]
    </li>
  3. tplMonth」を以下のように編集します。
    <li class="reflect_month">
      <a href="[+url+]" title="[+year+]年[+month+]月" class="reflect_month_link">[+month+]月</a>
        [+wrapper+]
    </li>

参照:Reflectの日本語化について

△ページトップ