logoWebRelease 2 ユーザーズマニュアル
Version 2.75Y 版
menu
1章 はじめに
  • 1. はじめに
  • 2. WebRelease の利用環境
  • 3. 製品のライセンスについて
2章 ユーザ管理
  • 1. WebRelease のユーザ管理
  • 2. ユーザの登録
  • 3. ユーザの休止
  • 4. ユーザの削除
  • 5. ログインユーザ一覧
  • 6. ログイン履歴
  • 7. ユーザ登録情報の一括処理
3章 サイトの作成
  • 1. サイトの作成
  • 2. サイト設定
  • 3. スタッフ設定
    • 1. スタッフごとのテンプレート設定
    • 2. スタッフのフォルダへのアクセス制限
    • 3. スタッフの承認ステップ
    • 4. スタッフの解任
  • 4. サイトリソース
    • 1. リソースの登録
    • 2. リソースの編集
    • 3. リソースの一括移動
    • 4. リソース名の一括設定
    • 5. リソースの一括削除
    • 6. リソースフォルダ
  • 5. 辞書の管理
  • 6. 外部リンクのチェック
  • 7. サイトのエキスポート
  • 8. サイトのインポート
  • 9. サイトの閉鎖
  • 10. サイトの削除
  • 11. サイトの操作履歴
4章 FTPの設定
  • 1. FTP の設定
  • 2. プライマリチャネルの設定
  • 3. FTP 記録の参照
  • 4. FTP の実行状況
  • 5. FTP 予約(定時起動)の設定
5章 テンプレート
  • 1. テンプレート
  • 2. テンプレートの作成
  • 3. 文書型の定義
  • 4. 要素のタイプ
    • 1. 1行テキスト
    • 2. 複数行テキスト
    • 3. WYSIWYG エディタ
    • 4. ラジオボタン
    • 5. ポップアップボタン
    • 6. チェックボックス
    • 7. 年月日/時分/秒
    • 8. 目次
    • 9. リンク
    • 10. イメージ (GIF/JPG/PNG)
    • 11. 添付ファイル
    • 12. XMLリーダ
    • 13. コンポーネント
    • 14. グループ項目
    • 15. セレクタ
    • 16. 各要素に共通の設定項目
  • 5. テンプレートの展開
    • 1. 要素参照
    • 2. 関数呼び出し
    • 3. 演算子
    • 4. テンプレートリソース
    • 5. リソース参照
    • 6. メソッド
    • 7. 拡張タグ wr-if wr-then wr-else
    • 8. 拡張タグ wr-switch wr-case wr-default
    • 9. 拡張タグ wr-conditional wr-cond
    • 10. 拡張タグ wr-for
    • 11. 拡張タグ wr-break
    • 12. 拡張タグ wr-variable
    • 13. 拡張タグ wr-append
    • 14. 拡張タグ wr-clear
    • 15. 拡張タグ wr-return
    • 16. 拡張タグ wr-error
    • 17. 拡張タグ wr-- と wr-comment
  • 6. WYSIWYG エディタ設定
  • 7. テンプレート・プロファイラ
  • 8. テンプレートのリビジョン
  • 9. テンプレートのダウンロード
  • 10. テンプレートのアップロード
  • 11. テンプレートの上書きアップロード
  • 12. テンプレートのフォルダ
  • 13. テンプレートの状態
  • 14. テンプレートの削除
  • 15. ページ作成後のテンプレート修正
  • 16. 入力フィールドの短縮表示
  • 17. 作成したページの一覧
  • 18. テンプレートを利用可能なスタッフの設定
  • 19. テンプレートの操作履歴
  • 20. テンプレートを参照している目次の一覧
  • 21. テンプレートの検索
6章 コンポーネント
  • 1. コンポーネント
  • 2. コンポーネントの使用例
  • 3. コンポーネントとセレクタ
7章 ページの作成
  • 1. ページの作成の手順
  • 2. ページのプレビュー
  • 3. 実機でのプレビュー
  • 4. ページの状態
  • 5. ページの編集と編集完了
  • 6. ページリソース
    • 1. リソースの登録
    • 2. リソースの編集
    • 3. リソースの一括移動
    • 4. リソースの一括削除
    • 5. リソースフォルダ
  • 7. ページの公開と公開終了
  • 8. ページの削除
  • 9. ページのリビジョン管理
  • 10. ページのリビジョン間の比較表示
  • 11. リンク元一覧
  • 12. ページ内の外部リンク一覧
  • 13. ページの公開状況
  • 14. スケジュール一覧
  • 15. フォルダ
  • 16. バージョニングフォルダ
  • 17. ページの一括処理
  • 18. 一括ページ登録
  • 19. html と関連リソースの zip 取り込み
  • 20. WYSIWYG エディタの使い方
  • 21. Markdown の使い方
  • 22. ページの操作履歴
  • 23. コンテンツ中の語句のチェック
  • 24. ページの検索
8章 マルチデバイス配信
  • 1. 多チャネル化
  • 2. チャネル別コンテンツの生成
  • 3. チャネル選択機能
9章 承認プロセスの設定
  • 1. 承認ステップの定義
  • 2. 承認プロセスの定義
  • 3. 承認プロセスをフォルダに関連付ける
  • 4. 承認プロセスによる公開管理
    • 1. ページの公開承認依頼
    • 2. 承認と差戻
    • 3. 承認プロセスとページの公開終了
    • 4. 承認依頼フォルダ
    • 5. 一括承認依頼
    • 6. 一括承認
    • 7. 緊急対応としてのページの公開と公開終了
    • 8. 承認依頼の削除
    • 9. 進行中の承認依頼の管理
10章 その他の機能
  • 1. ダッシュボード
  • 2. 英語インタフェース
  • 3. タイムゾーンの指定
11章 システムの運用管理
  • 1. WebRelease の停止と起動
  • 2. データのバックアップ
  • 3. メモリ設定
  • 4. メールサーバの設定
  • 5. Proxy サーバの設定
  • 6. その他のシステム設定
  • 7. 証明書のインポート
  • 8. ストレージの管理
  • 9. 操作履歴
  • 10. ログファイルのダウンロード
  • 11. ログインエラーへの対応
  • 12. WebRelease のバージョンアップ
  • 13. ライセンスのアップグレード
  • 14. 期間ライセンスコードの更新
  • 15. WebRelease の Uninstall
12章 索引
  • 1. 関数索引
    • 1. add
    • 2. allObjects
    • 3. allPages
    • 4. channel
    • 5. channelCookieName
    • 6. channelName
    • 7. codePointAt
    • 8. comma3
    • 9. concatenate
    • 10. contentType
    • 11. count
    • 12. currentTime
    • 13. divide
    • 14. encoding
    • 15. fileName
    • 16. fileSize
    • 17. find
    • 18. firstElement
    • 19. folder
    • 20. formatDate
    • 21. formatDateRFC2822
    • 22. formatDateW3CDTF
    • 23. fullURL
    • 24. gengou
    • 25. getXML
    • 26. group
    • 27. halfwidth
    • 28. hasElement
    • 29. hasMethod
    • 30. head
    • 31. indexOfPage
    • 32. isEven と isOdd
    • 33. isFirstElement と isNotFirstElement
    • 34. isFirstPage
    • 35. isLastElement と isNotLastElement
    • 36. isLastPage
    • 37. isNull と isNotNull
    • 38. isNumber
    • 39. isPreview と isNotPreview
    • 40. jstr
    • 41. kmg1000
    • 42. kmg1024
    • 43. lastElement
    • 44. lastModifiedDate
    • 45. length
    • 46. multiply
    • 47. nextElement
    • 48. nextPage
    • 49. number
    • 50. pageCreatedDate と revisionCreatedDate
    • 51. pageID
    • 52. pageRevision
    • 53. pageTitle
    • 54. pageWithPageID
    • 55. parseDate
    • 56. parseDateRFC2822 と parseDateRFC2822Relaxed
    • 57. parseDateW3CDTF
    • 58. parseHtml
    • 59. path
    • 60. prevElement
    • 61. prevPage
    • 62. previewClock
    • 63. quote
    • 64. remainder
    • 65. replaceAll と replaceFirst
    • 66. resourceURL
    • 67. resourceWithName
    • 68. rtlCount
    • 69. rtlRatio
    • 70. scheduledEndDate
    • 71. scheduledStartDate
    • 72. searchText
    • 73. setScale
    • 74. siteTimeZone
    • 75. sort
    • 76. split
    • 77. startsWith と endsWith
    • 78. string
    • 79. stripTags
    • 80. substring
    • 81. subtract
    • 82. suffix
    • 83. tail
    • 84. templateName
    • 85. thisPage
    • 86. toEntityRef
    • 87. toLowerCase と toUpperCase
    • 88. trim
    • 89. unescapeEntities
    • 90. unsplit
    • 91. width と height
  • 2. オブジェクト索引
    • 1. Channel オブジェクト
    • 2. CheckBox オブジェクト
    • 3. Folder オブジェクト
    • 4. HTMLComment オブジェクト
    • 5. HTMLDataNode オブジェクト
    • 6. HTMLDocument オブジェクト
    • 7. HTMLElement オブジェクト
    • 8. HTMLElements オブジェクト
    • 9. HTMLTextNode オブジェクト
    • 10. Page オブジェクト
    • 11. Selector オブジェクト
    • 12. XMLFeed オブジェクト
13章 Appendix
  • 1. サポートされているタイムゾーン
  • 2. プレビュー時の URL 書き換え機能
  • 3. 正規表現
  • 4. 要素名・リソース名・変数名・メソッド名

オブジェクト索引

Folder オブジェクト

Folder オブジェクトはページが置かれているフォルダを表すオブジェクトです。Folder オブジェクトを通して、そのフォルダに置かれているページの一覧や、そのフォルダまでのトップのフォルダからのパス、フォルダの名称など、展開を作成する上で有用な情報を取得することができます。

Folder オブジェクトは、主に下記の方法で取得可能です。

  • 展開中で folder() 関数を呼び出すことでそのページが置かれているフォルダの Folder オブジェクトを取得することができます。
  • 既に取得した Folder オブジェクトに対して、subFolders() メソッドを呼び出すことで、サブフォルダの一覧を得ることができます。また、folder() メソッドを呼び出すことで、親フォルダを得ることができます。
  • Page オブジェクトに対して folder() メソッドを呼び出すことで、親フォルダを得ることができます。

下記のコード例は、Folder オブジェクトを経由して、ページの置かれているフォルダの名前を取得して表示します。

<body>
......
このページは、フォルダ「%folder().folderName()%」に置かれています。
......
</body>

下記のコード例は、Folder オブジェクトを通して、同じフォルダに置かれている(自分を含む)ページの一覧を取得し、そのタイトルをリストしています。

<ul>
    <wr-for list="folder().allPages()" variable="aPage">
    <li>%pageTitle(aPage)%</li>
    </wr-for>
</ul>

Folder オブジェクトのメソッド一覧

メソッド名 説明
allObjects() フォルダ内のページとフォルダの一覧を返す
allPages() フォルダ内のページの一覧を返す
directory() フォルダの公開サーバ上でのディレクトリパスを返す
directoryName() フォルダの公開サーバ上でのディレクトリ名を返す
folder() フォルダが置かれている親フォルダを返す
folderName() フォルダの名称を返す
folderPath() トップフォルダからのパスを返す
folderWithFolderName(folderName) 指定されたフォルダ名を持つサブフォルダを返す
indexOfObject() 親フォルダの中で何番目に位置しているかを返す
isFirstObject() 親フォルダの中で先頭に置かれているか判定する
isFolder() オブジェクトが Folder なのかを判定する
isLastObject() 親フォルダの中で最後に置かれているか判定する
isNotRootFolder() トップ(最上位)のフォルダであるか判定する
isPage() オブジェクトが Page なのか(= Folder でないか)を判定する
isRootFolder() トップ(最上位)のフォルダであるか判定する
nextObject(wrap) ひとつ後ろに位置するページまたはフォルダを返す
pageWithFileName(fileName) フォルダ内で、指定されたファイル名を持つページを返す
pageWithFileNameRex(regex) フォルダ内で、指定されたファイル名を持つページを返す(指定は正規表現)
pageWithPageTitle(title) フォルダ内で、指定されたページタイトルを持つページを返す
pageWithPageTitleRex(regex) フォルダ内で、指定されたページタイトルを持つページを返す(指定は正規表現)
prevObject(wrap) ひとつ前に位置するページまたはフォルダを返す
rootFolder() トップのフォルダを返す
subFolders() フォルダ内にあるサブフォルダの一覧を返す
totalObjects() フォルダ内にあるページとフォルダの数を返す
totalPages() フォルダ内にあるページの数を返す

allObjects()

フォルダに置かれているページとフォルダの一覧を返します。返される値は Page オブジェクトと Folder オブジェクトが混在する列(リスト)です。

allObjects() メソッドの戻り値中のページとフォルダの並び順は、ページ一覧画面でのページとフォルダの表示順序と同じです。

フォルダ中に Versioning Folder があり、その Versioning Folder 中に、コンテンツ生成時刻に該当するページがある場合、そのページが戻り値のリストに含まれます。Versioning Folder が Folder オブジェクトとして戻り値に含まれることはありません。

書式

allObjects()

利用例

あるページが置かれているフォルダに置かれている、すべてのページとフォルダの一覧を表示してみます。フォルダは、行末に '/' を付けて表示します。

<body>
........
<wr-for list="folder().allObjects()" variable="pageOrFolder">
<wr-if condition="pageOrFolder.isFolder()">
%pageOrFolder.folderName()%/<br />
</wr-if>
<wr-if condition="pageOrFolder.isPage()">
%pageTitle(pageOrFolder)%<br />
</wr-if>
</wr-for>
........
</body>

allPages()

フォルダに置かれているページの一覧を返します。返されるリストは Page オブジェクトの列(リスト)です。

allPages() メソッドの戻り値中のページの並びはページ一覧画面でのページの表示順序と同じです。

WTL 2.4 以前は、allPages() メソッドの戻り値のリストには、フォルダ中にある Versioning Folder に置かれているページが含まれることはありませんでしたが、WTL 2.5 からは Versioning Folder 中にコンテンツ生成時刻に該当するページがある場合、そのページが含まれるようになりました。

書式

allPages()

利用例

ページが置かれているフォルダにある全ページの一覧を表示してみます。

<body>
........
<wr-for list="folder().allPages()" variable="aPage">
%pageTitle(aPage)%<br />
</wr-for>
........
</body>

folder() 関数で、ページが置かれているフォルダを取得します。取得した Folder オブジェクトの allPages() メソッドを呼び出してフォルダに置かれている全ページの一覧を取得してリスト表示しています。

directory()

directory() メソッドは、フォルダの公開サーバ上でのディレクトリパスを返します。

書式

directory()

directory() 関数が返すパスは、そのフォルダに置かれているページが公開サーバ上で公開された場合の URL から、そのページのファイル名と、http(s)://<hostname>/ 部分を除去した残りの部分に相当します。

返されるパスは、いつも '/' で始まり、 '/' で終わる文字列です。

返されるパスは、展開中のチャネルに応じたものになります。例えば、サブディレクトリ型のチャネル「mobile」のディレクトリが 「/m」と指定されている場合、このメソッドは、例えば、「/m/....」という形式のパスを返します。

このメソッドは、常に公開サーバ上のディレクトリパスを返します。プレビュー中でも公開サーバ上のディレクトリパスが返されます。

利用例 1

ページが公開される公開サーバ上でのフォルダを表示してみます。

<body>
...
このフォルダ中のページは公開サーバ上の %folder().directory()% に配信されます。
...
</body>

directoryName()

directoryName() メソッドは、フォルダの公開サーバ上でのディレクトリ名を返します。

書式

directoryName()

directoryName() 関数が返すディレクトリ名は、そのフォルダに置かれているページが公開サーバ上で公開される場合のディレクトリ名を返します。directory() メソッドがパスを返すのに対し directoryName() メソッドはパスの最後のディレクトリ名を返します。

このメソッドは、常に公開サーバ上のディレクトリパスを返します。プレビュー中でも公開サーバ上のディレクトリパスが返されます。

利用例 1

ページが公開される公開サーバ上でのフォルダを表示してみます。

<body>
...
このフォルダ中のページは公開サーバ上の %folder().directoryName()% に配信されます。
...
</body>

folder()

この Folder オブジェクトが置かれている親フォルダを返します。返される値は Folder オブジェクトです。 トップのフォルダに対してこのメソッドを呼び出すと null が返されます。あるフォルダがトップのフォルダかどうか調べる場合には isRootFolder() メソッドを使ってください。

書式

folder()

利用例1

ページが置かれているフォルダの、さらに親フォルダの名前を表示します。

<body>
....
このページの置かれているフォルダの親フォルダは「%folder().folder().folderName()%」です。<br/>
....
</body>

最初の folder() はフォルダを取得する関数の呼び出しです。これにより、このページが置かれているフォルダを取得しています。取得した Folder オブジェクトに対してさらに folder() メソッドを呼び出すことで親フォルダを取得しています。取得した親フォルダの名称は folderName() メソッドで取得します。

利用例2

親フォルダへのリンクを表示してみます。

<body>
........
<wr-if condition="folder().isRootFolder() != true">
  <wr-variable name="parent" value="folder().folder().pageWithFileName(\"index.html\")" />
  <wr-if condition="isNotNull(parent)">
    <a href="%parent%">%pageTitle(parent)%へ</a><br />
  </wr-if>
</wr-if>
........
</body>

まず、自分がトップレベルのフォルダではないことを isRootFolder() メソッドでチェックします。

その上で、親フォルダにある index.html という名前を持つページを探し、そのページの Page オブジェクトを parent という名前の変数にいれておきます。もし該当するページがあったならば、そのページのタイトルを表示してリンクをはります。

folderName()

フォルダの名称を返します。

書式

folderName()

利用例

ページが置かれているフォルダの名称を表示してみます。

<body>
........
このページの置かれているフォルダは「%folder().folderName()%」です。<br/>
........
</body>

folderPath()

トップフォルダからこのフォルダに至るまでのフォルダのパスを返します。返される値は Folder オブジェクトの列(リスト)です。

書式

folderPath()

利用例1

ページの置かれているフォルダまでのパスをパン屑リスト風に表示します。

<body>
....
<wr-for  list="folder().folderPath()" variable="aFolder" index="ix">
<wr-if condition="ix != 0">→ </wr-if>
%aFolder.folderName()%
</wr-for>
<br />
....
</body>

トップフォルダの前には → を表示しないように wr-for の最初のループかどうかを ix の値でしらべ、wr-if によって → を表示するかどうかを判定しています。

利用例2

ページの置かれているフォルダまでのパスをパン屑リスト風に表示します。この例では、フォルダに置かれているページの中に index.html というフィル名のページがある場合に限り、そのフォルダをパン屑リストに掲載するように改良してあります。また、パン屑リストの各エントリには、そのフォルダの index.html のページのリンクを付けます。

簡単なパンくずリスト
<wr-variable name="pageList" />
<wr-for list="folder().folderPath()" variable = "aFolder">
    <wr-if condition="isNotNull(aFolder.pageWithFileName(\"index.html\"))">
       <wr-append name="pageList" value="aFolder.pageWithFileName(\"index.html\")" />
    </wr-if>
</wr-for>

<wr-for list="pageList"  variable="aPage" index="ix">
<wr-if condition="ix != 0">→ </wr-if>
<a href="%aPage%">%aPage.folder().folderName()%</a>
</wr-for>
<br />

変数 pageList を宣言しています。始めに、index.html というファイル名のページだけを pageList に集めます。その後でパン屑リストを描いています。

folderWithFolderName()

folderWithFolderName() メソッドは、このフォルダに置かれているサブフォルダで、指定されたフォルダ名を持つフォルダを探して返します。返される値は Folder オブジェクトです。該当するフォルダがない場合には null を返します。

書式

folderWithFolderName(folderName)
folderName:

探したいフォルダの名前を指定します。

利用例

このページが置かれているフォルダの直下に「アーカイブ」というサブフォルダがあると仮定しています。また、その「アーカイブ」フォルダには index.html というファイル名を持つページがひとつ存在していると仮定しています。その状況で「アーカイブ」サブフォルダ中の index.html というファイル名を持つページに対してリンクを作成しています。

<body>
....
<a href="%folder().folderWithFolderName("アーカイブ").pageWithFileName("index.html")%">アーカイブ</a>
....
</body>

ページが置かれているフォルダに対して folderWithFolderName() メソッドを呼び出し「アーカイブ」という名前を持つフォルダを入手します。そのフォルダに対して pageWithFileName() メソッドを呼び出して index.html というファイル名をもつページを見つけ出し、そこへのリンクを作成しています。

indexOfObject()

このフォルダが置かれているフォルダ中にあるページとフォルダの中で、このフォルダが先頭から何番目に位置しているかを返します。先頭の場合には 0 が返されます。最後の場合には、フォルダに置かれているフォルダとページの数から1を引いた値が返されます。

ページとフォルダの並び順は、ページ一覧画面でのページとフォルダの表示順序と同じです。

戻り値はゼロオリジンです。フォルダが先頭にあるときには 0 が返されます。

書式

indexOfObject()

利用例

ページが置かれているフォルダが、その親フォルダ中で何番めに位置しているかを表示してみます。

<body>
........
このページが置かれているフォルダは先頭から %folder().indexOfObject() + 1%番めに位置しています。<br/>
........
</body>

表示される値は、この展開を持っているページの置かれているフォルダが、さらにその親フォルダの中で何番めにあるかを表す値です。

isFirstObject()

このフォルダが置かれているフォルダ中での、このフォルダの位置が先頭である場合に true を返します。

書式

isFirstObject()

利用例

ページが置かれているフォルダが、その親フォルダの中で先頭に置かれているかどうかを表示してみます。

<body>
........
<wr-if condition="folder().isFirstObject()">
<wr-then>
フォルダ %folder().folderName()% はその親フォルダの中で先頭に置かれています。
</wr-then>
<wr-else>
フォルダ %folder().folderName()% はその親フォルダの中で先頭ではありません。
</wr-else>
</wr-if>
........
</body>

isFolder()

true を返します。 このメソッドは allObjects() メソッドなどで入手したリストに含まれるオブジェクトが Folder なのか Page なのかを判別する時に使用します。 Page オブジェクトにも同様のメソッドがあります。

書式

isFolder()

利用例

allObjects() メソッドでページが置かれているフォルダにあるすべてのページとフォルダを取得します。取得したリストを使って、ページとフォルダの一覧を作成します。

ページについては、そのページへのリンクを付けます。

このサンプルでは、メソッドを使ってみました。

フォルダについては、フォルダの直下に index.html というファイル名のページがあれば、そのページへのリンクを付けます。なければフォルダ名のみ表示します。

展開の記述
<body>
........
<wr-for list="folder().allObjects()" variable="pageOrFolder">
<wr-if condition="pageOrFolder.isFolder()">%drawLinkToFolder(pageOrFolder)%</wr-if>
<wr-if condition="pageOrFolder.isPage()">%drawLinkToPage(pageOrFolder)%</wr-if>
</wr-for>
........
</body>
メソッド drawLinkToFolder(aFolder) の記述
<wr-variable name="index" value="aFolder.pageWithFileName(\"index.html\")" />
<wr-if condition="isNotNull(index)">
<wr-then>
<a href="%index%">%aFolder.folderName()%/</a><br />
</wr-then>
<wr-else>
%aFolder.folderName()%/<br />
</wr-else>
</wr-if>


メソッド drawLinkToPage(aPage) の記述
<a href="%aPage%">%pageTitle(aPage)%</a><br />

allObjects() で取得した Page と Folder のリストに対して、順に、isFolder() メソッドと isPage() メソッドで Page か Folder か判定します。Folder の場合、その Folder オブジェクトを引数にして、メソッド drawLinkToFolder(aFolder) を呼び出し、フォルダへのリンクを作成します。ページの場合には drawLinkToPage(aPage) を呼び出して、ページへのリンクを作成します。

isLastObject()

このフォルダが置かれているフォルダ中での、このフォルダの位置が最後である場合に true を返します。

書式

isLastObject()

利用例

ページが置かれているフォルダが、その親フォルダの中で最後に置かれているかどうかを表示してみます。

<body>
........
<wr-if condition="folder().isLastObject()">
<wr-then>
フォルダ %folder().folderName()% はその親フォルダの中で最後に置かれています。
</wr-then>
<wr-else>
フォルダ %folder().folderName()% はその親フォルダの中で最後ではありません。
</wr-else>
</wr-if>
........
</body>

isNotRootFolder()

このフォルダがトップ(最上位)のフォルダかどうかを判定します。最上位のフォルダでない場合に true を返します。最上位のフォルダ場合には false を返します。 isRootFolder() も参照してください。

書式

isNotRootFolder()

利用例

ページの置かれているフォルダまでのパスをパン屑リスト風に表示します。

<body>
....
<wr-for  list="folder().folderPath()"  variable="aFolder">
<wr-if condition="aFolder.isNotRootFolder()">→ </wr-if>%aFolder.folderName()%
</wr-for>
....
</body>

トップフォルダの前には → を表示しないようにしなければなりません。 isNotRootFolder() メソッドでトップフォルダかどうかを調べ、フォルダがトップのフォルダでない場合に限り → を表示しています。

isPage()

false を返します。 このメソッドは allObjects() メソッドなどで入手したリストに含まれるオブジェクトが Folder なのか Page なのかを判別する時に使用します。

書式

isPage()

利用例

isFolder() メソッドの説明を参照してください。

isRootFolder()

このフォルダがトップ(最上位)のフォルダかどうかを判定します。最上位のフォルダである場合に true を返します。そうでない場合には false を返します。isNotRootFolder() も参照してください。

書式

isRootFolder()

利用例

ページの置かれているフォルダまでのパスをパン屑リスト風に表示します。

<body>
....
<wr-for  list="folder().folderPath()"  variable="aFolder">
<wr-if condition="aFolder.isRootFolder() != true">→ </wr-if>%aFolder.folderName()%
</wr-for>
....
</body>

トップフォルダの前には → を表示しないようにしなければなりません。 isRootFolder() メソッドでトップフォルダかどうかを調べ、フォルダがトップのフォルダでない場合に限り → を表示しています。

nextObject()

このフォルダが置かれているフォルダ中での、このフォルダの次に位置するページまたはフォルダを返します。

フォルダやページの順序は、ページ一覧画面でのページとフォルダの表示順序と同じです。その順序に従って、ひとつ後(下)のページまたはフォルダが返されます。

このフォルダが末尾にある場合、nextObject() は null を返します。ただし、パラメタに true を指定してこのメソッドを呼び出した場合には、先頭のページまたはオブジェクトが返されます。

返される値は Folder オブジェクトまたは Page オブジェクトです。返された値の型を調べるには isFolder() メソッドと isPage() メソッドを使ってください。

書式

nextObject(wrap)
wrap:

ラップするかどうかを指定します。末尾に置かれているフォルダに対して wrap に true を指定して nextObject(true) という呼び出しを行った場合、先頭のページまたはフォルダが返されます。末尾に置かれているフォルダに対して nextObject() または nextObject(false) という呼び出しを行った場合には null が返されます。

このパラメタは省略可能です。省略された場合 false が指定されたものとして動作します。

利用例

ページが置かれているフォルダの、次のページまたは、次のフォルダの下にある index.html というファイル名を持つページへのリンクを生成してみます。

<body>
........
<wr-variable  name="next" value="folder().nextObject()" />
<wr-if condition="isNotNull(next)">
  <wr-if condition="next.isPage()">
    <a href="%next%">%pageTitle(next)%</a><br />
  </wr-if>
  <wr-if condition="next.isFolder()">
    <wr-variable name="index" value="next.pageWithFileName(\"index.html\")" />
    <wr-if condition="isNotNull(index)">
      <a href="%index%">%pageTitle(index)%</a><br />
    </wr-if>
  </wr-if>
</wr-if>
........
</body>

pageWithFileName()

pageWithFileName() メソッドは、このフォルダに置かれているページで、指定されたファイル名を持つページを探して返します。該当するページがない場合には null を返します。

書式

pageWithFileName(fileName)
fileName:

探したいファイル名を指定します。ファイル名は、ページのタイトルではなく、そのページが公開されたときに使用されるファイル名(index.html など) を指定します。

利用例

あるフォルダにあるページから、そのフォルダに置かれている index.html というファイル名のページへのリンクを作成しています。

<body>
....
<wr-variable name="categoryTop" value="folder().pageWithFileName(\"index.html\")" />
<wr-if condition="isNotNull(categoryTop)">
<a href="%categoryTop%">カテゴリトップへ</a>
</wr-if>
....
</body>

まず、index.html というファイル名を持つページがあるかどうか調べます。あれば、そのページへのリンクを作成します。なければなにも生成しません。

注意点

WTL 2.50 が指定されているテンプレートでは「公開テンプレート」の展開またはメソッド中で本メソッドを使って「非公開テンプレート」で作成されたページを Preview 用に取得することはできなくなりました。

pageWithFileNameRex()

pageWithFileNameRex() メソッドは、このフォルダに置かれているページで、指定されたファイル名を持つページを探して返します。該当するページがない場合には null を返します。

ファイル名の指定には正規表現が使えます。正規表現の指定によっては複数のページが該当する場合がありますが、その場合、いずれかのページが返されます。

書式

pageWithFileNameRex(regex)
regex:

探したいファイル名を正規表現で指定します。正規表現については Appendix の「正規表現」を参照してください。

関連項目
  • 正規表現

利用例

あるフォルダにあるページから、そのフォルダに置かれている index.* というファイル名のページへのリンクを作成しています。* は任意のサフィックスとします。例えば index.html であったり、index.php であったりします。

<body>
....
<wr-variable name="categoryTop" value="folder().pageWithFileNameRex(\"index\..+\")" />
<wr-if condition="isNotNull(categoryTop)">
<a href="%categoryTop%">カテゴリトップ(%fileName(categoryTop)%)へ</a>
</wr-if>
....
</body>

まず、index.* というファイル名を持つページがあるかどうか調べます。正規表現で指定しますが、今回は「index\..+」と指定しています。そのようなページがあれば、そのページへのリンクを作成します。なければなにも生成しません。

もし、リンク先を index.html index.php index.xhtml の3種類に限定するのであれば、正規表現として「index\.(html|php|xhtml)」と指定すれば良いでしょう。

注意点

WTL 2.50 が指定されているテンプレートでは「公開テンプレート」の展開またはメソッド中で本関数を使って「非公開テンプレート」で作成されたページを Preview 用に取得することはできなくなりました。

pageWithPageTitle()

pageWithPageTitle() メソッドは、このフォルダに置かれているページの中で、指定されたタイトルを持っているページを探して返します。該当するページがない場合には null を返します。 ページタイトルが重複している場合、複数のページが該当する場合がありますが、その場合、いずれかひとつが返されます。 フォルダ内のページだけが検索対象です。サブフォルダは検索の対象にはなりません。

書式

pageWithPageTitle(title)
title:

探したいページのタイトルを指定します。

利用例

ページが置かれているフォルダに「イベント一覧」というタイトルのページがあるかどうか調べ、それがある場合には、そのページへのリンクを生成します。

<body>
....
<wr-variable name="eventList" value="folder().pageWithPageTitle(\"イベント一覧\")" />
<wr-if condition="isNotNull(eventList)">
<a href="%eventList%">イベント一覧へ</a>
</wr-if>
....
</body>

注意点

WTL 2.50 が指定されているテンプレートでは「公開テンプレート」の展開またはメソッド中で本関数を使って「非公開テンプレート」で作成されたページを Preview 用に取得することはできなくなりました。

pageWithPageTitleRex()

pageWithPageTitleRex() メソッドは、このフォルダに置かれているページで、指定されたタイトルを持つページを探して返します。該当するページがない場合には null を返します。

タイトルの指定には正規表現が使えます。正規表現の指定によっては複数のページが該当する場合がありますが、その場合、いずれかのページが返されます。

書式

pageWithPageTitleRex(regex)
regex:

探したいページのタイトルを正規表現で指定します。正規表現については Appendix の「正規表現」を参照してください。

関連項目
  • 正規表現

利用例

ページのタイトルが「1.」で始まっているページを探し、みつかったら、そのページへのリンクを作成して表示してみます。

<body>
....
<wr-variable name="page1" value="folder().pageWithPageTitleRex(\"^1\..*\")" />
<wr-if condition="isNotNull(page1)">
<a href="%page1%">先頭へ</a>
</wr-if>
....
</body>

注意点

WTL 2.50 が指定されているテンプレートでは「公開テンプレート」の展開またはメソッド中で本関数を使って「非公開テンプレート」で作成されたページを Preview 用に取得することはできなくなりました。

prevObject()

このフォルダが置かれているフォルダ中での、このフォルダの前に位置するページまたはフォルダを返します。

フォルダやページの順序は、ページ一覧画面でのページとフォルダの表示順序と同じです。その順序に従って、ひとつ前(上)のページまたはフォルダが返されます。

このフォルダが先頭にある場合、prevObject() は null を返します。ただし、パラメタに true を指定してこのメソッドを呼び出した場合には、一番最期のページまたはオブジェクトが返されます。

返される値は Folder オブジェクトまたは Page オブジェクトです。返された値の型を調べるには isFolder() メソッドと isPage() メソッドを使ってください。

書式

prevObject(wrap)
wrap:

ラップするかどうかを指定します。先頭に置かれているフォルダに対して wrap に true を指定して prevObject(true) という呼び出しを行った場合、最後のページまたはフォルダが返されます。先頭に置かれているフォルダに対して prevObject() または prevObject(false) という呼び出しを行った場合には null が返されます。

このパラメタは省略可能です。省略された場合 false が指定されたものとして動作します。

利用例

ページが置かれているフォルダの、ひとつ前のページまたは、ひとつ前のフォルダの下にある index.html というファイル名を持つページへのリンクを生成してみます。

<wr-variable  name="next" value="folder().prevObject(true)" />
<wr-if condition="isNotNull(next)">
  <wr-if condition="next.isPage()">
    <a href="%next%">%pageTitle(next)%</a><br />
  </wr-if>
  <wr-if condition="next.isFolder()">
    <wr-variable name="index" value="next.pageWithFileName(\"index.html\")" />
    <wr-if condition="isNotNull(index)">
      <a href="%next%">%next%</a><br />
    </wr-if>
  </wr-if>
</wr-if>

rootFolder()

トップのフォルダを返します。

書式

rootFolder()

利用例

トップフォルダの直下に置かれている index.html へのリンクを生成してみます。

<body>
....
<wr-variable name="top" value="folder().rootFolder().pageWithFileName(\"index.html\")"/>
<wr-if condition="isNotNull(top)">
<a href="%top%">%pageTitle(top)%へ</a>
</wr-if>
....
</body>

最初の folder() 関数の呼び出しで、ページが置かれているフォルダを取得しています。次に、取得した Folder オブジェクトに対して rootFolder() メソッドを呼び出し、トップの(最上位の)フォルダを入手します。入手したトップのフォルダに対して pageWithFileName() メソッドを呼び出し index.html というファイル名を持つページを入手します。

index.html がみつかったら、そこへのリンク表示します。

subFolders()

フォルダに置かれているサブフォルダの一覧を返します。返される値は Folder オブジェクトの列(リスト)です。

subFolders() メソッドの戻り値中のフォルダの並びはページ一覧画面でのフォルダの表示順序と同じになるようにソートされています。

WTL 2.4 以前では subFolders() メソッドの戻り値のリストに Versioning Folder が含まれていましたが WTL 2.5 からは Versioning Folder が含まれることはなくなりました。

書式

subFolders()

利用例

フォルダに置かれているサブフォルダの一覧を表示します。

....
<br />
<wr-for  list="folder().subFolders()"  variable="aFolder">
%aFolder.folderName()%<br/>
</wr-for>
<br />
....

folder() 関数を呼び出して、ページが置かれているフォルダを取得します。取得した Folder オブジェクトの subFolders() メソッドを呼び出してサブフォルダの一覧を取得します。それを wr-for でループして一覧を表示しています。

totalObjects()

フォルダに置かれているページとフォルダの数を返します。

フォルダ中に Versioning Folder が含まれている場合、その Versioning Folder に置かれているページで、コンテンツ生成時刻に該当するページがある場合、そのページはこのメソッドのカウントの対象となります。

Versioning Folder はそれ自身がカウントの対象になることはありません。

書式

totalObjects()

利用例

ページが置かれているフォルダにある、ページとサブフォルダの数を表示します。

<body>
........
このフォルダには %folder().totalObjects()% 個のフォルダとページが置かれています。<br />
ページは %folder().totalPages()% ページあります。<br />
フォルダは %count(folder().subFolders())% 個あります。<br />
........
</body>

totalPages()

フォルダに置かれているページの数を返します。

フォルダ中に Versioning Folder が含まれている場合、その Versioning Folder に置かれているページで、コンテンツ生成時刻に該当するページがある場合、そのページはこのメソッドのカウントの対象となります。

Versioning Folder はそれ自身がカウントの対象になることはありません。

書式

totalPages()

利用例

ページが置かれているフォルダにあるページの総数を表示してみます。

<body>
........
このページが置かれているフォルダには %folder().totalPages()% ページのコンテンツがあります。
........
</body>

注意点

公開テンプレートの展開またはメソッド中で本メソッドを使った場合、非公開テンプレートで作成されたページはカウントの対象にはなりません。

前

次

© 2000 - 2024  FrameWorks Software, Inc.