UltimateParent

更新日
2017.07.29
作成日
2014.05.13

移行作業中のため一部のページが正しく表示されていない場合があります(o-ω-))

ツリー上位の特定のリソースIDを取得するスニペットです。

パラメータ

  • id - 指定されたIDの親を取得する ない場合は記述したリソース自体 [*id*]
  • top - 指定されたID直下の親を返す
  • topLevel - top 直下から数えて任意の深さにある親のIDを返す

サンプルコード

以下はルート直下の親IDを返します。

[[UltimateParent]]

リソースツリー構造の例

Home(1)
├ MODX(2)
│  ├ Tips&チュートリアル(4)
│  └ 拡張機能(5)
│     └ UltimateParent(6) ← このリソースで使った場合
└ Blog(3)
[*pagetitle:id([[UltimateParent?&top=2]])*]

以下はリソース ID2 の「MODX」の直下にある 親リソース「拡張機能」のを ID 返されます。返された ID をモディファアを使ってページタイトルに変換します。 実際の表示では「拡張機能」というタイトルが表示されます。

@記法でも同じことができる

最近のバージョンでは@記法(変数を返すリソースの条件を指定できる)だけで同じ事が出来ます。ただし @記法は現在のリソースが基準になるのでスニペット版でいう id 部分は指定できません。

[*pagetitle@ultimateParent(2)*]

略して書くこともできる

[*pagetitle@up(2)*]

スッキリ。

入手先

UltimateParent(GitHub)