logoWebRelease 2 ユーザーズマニュアル
Version 2.80K 版
menu
1章 はじめに
  • 1. はじめに
  • 2. WebRelease の利用環境
  • 3. 製品のライセンスについて
2章 ユーザ管理
  • 1. WebRelease のユーザ管理
  • 2. ユーザの一覧
  • 3. ユーザの登録
  • 4. ユーザの休止
  • 5. ユーザの削除
  • 6. ユーザの一括削除
  • 7. 自分のユーザプロファイルの変更
  • 8. ログイン通知メール
  • 9. TOTP ワンタイムパスワードの設定
  • 10. ログインユーザ一覧
  • 11. ログイン履歴
  • 12. ユーザ登録情報の一括処理
3章 サイトの作成
  • 1. サイトの作成
  • 2. サイト設定
  • 3. スタッフ設定
    • 1. スタッフの役割
    • 2. スタッフの登録
    • 3. スタッフの設定
    • 4. スタッフのテンプレート設定
    • 5. スタッフのフォルダへのアクセス制限
    • 6. スタッフの承認ステップ
    • 7. スタッフの解任
    • 8. スタッフの役割の一括設定
  • 4. サイトリソース
    • 1. リソースの登録
    • 2. リソースの編集
    • 3. リソースの編集 [テキストファイル]
    • 4. リソースの編集 [zip ファイル]
    • 5. リソースの編集 [画像ファイル]
    • 6. リソースの編集 [添付ファイル]
    • 7. リソース内の外部リンクチェック
    • 8. リソースの削除とダウンロード
    • 9. リソースの一括移動
    • 10. リソース名の一括設定
    • 11. リソースの一括削除
    • 12. リソースフォルダ
    • 13. リソースフォルダを Zip にする
  • 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. イメージ
    • 11. 添付ファイル
    • 12. XMLリーダ
    • 13. コンポーネント
    • 14. グループ項目
    • 15. セレクタ
    • 16. 各要素に共通の設定項目
  • 5. テンプレートリソース
  • 6. テンプレートの展開
    • 1. 要素参照
    • 2. 関数呼び出し
    • 3. 演算子
    • 4. リソース参照
    • 5. メソッド
    • 6. 拡張タグ wr-if wr-then wr-else
    • 7. 拡張タグ wr-switch wr-case wr-default
    • 8. 拡張タグ wr-conditional wr-cond
    • 9. 拡張タグ wr-for
    • 10. 拡張タグ wr-break
    • 11. 拡張タグ wr-variable
    • 12. 拡張タグ wr-append
    • 13. 拡張タグ wr-clear
    • 14. 拡張タグ wr-return
    • 15. 拡張タグ wr-error
    • 16. 拡張タグ wr-- と wr-comment
  • 7. WYSIWYG エディタ設定
  • 8. テンプレート・プロファイラ
  • 9. テンプレートのリビジョン
  • 10. テンプレートのダウンロード
  • 11. テンプレートのアップロード
  • 12. テンプレートの上書きアップロード
  • 13. テンプレートのフォルダ
  • 14. テンプレートの状態
  • 15. テンプレートの削除
  • 16. ページ作成後のテンプレート修正
  • 17. 入力フィールドの短縮表示
  • 18. 作成したページの一覧
  • 19. テンプレートとスタッフ
  • 20. テンプレートの操作履歴
  • 21. テンプレートを参照している目次の一覧
  • 22. テンプレートの検索
6章 コンポーネント
  • 1. コンポーネント
  • 2. コンポーネントの使用例
  • 3. コンポーネントとセレクタ
7章 ページの作成
  • 1. ページの作成
  • 2. ページのプレビュー
  • 3. 実機でのプレビュー
  • 4. ページの状態
  • 5. ページの編集
    • 1. ページタイトル/ファイル名
    • 2. フォルダ
    • 3. フォルダ中でのページの位置
    • 4. ページの状態
    • 5. 公開期間の設定
    • 6. 変更を禁止
    • 7. プレビューURL/編集画面URL
    • 8. 他のコンテンツへのリンク
    • 9. 圧縮処理
    • 10. エンコーディング
    • 11. リンク先候補
    • 12. その他の操作
  • 6. コンテンツの入力
    • 1. 複数行テキスト
    • 2. WYSIWYG エディタ
    • 3. イメージ
    • 4. 添付ファイル
    • 5. リンク
    • 6. XML リーダ
    • 7. 入力欄の追加と削除
    • 8. 入力欄の開閉
  • 7. ページリソース
    • 1. リソースの登録
    • 2. リソースの編集
    • 3. リソースの編集 [テキストファイル]
    • 4. リソースの編集 [zip ファイル]
    • 5. リソースの編集 [画像ファイル]
    • 6. リソースの編集 [添付ファイル]
    • 7. リソース内の外部リンクチェック
    • 8. リソースの削除とダウンロード
    • 9. リソースの一括移動
    • 10. リソースの一括削除
    • 11. リソースフォルダ
    • 12. リソースフォルダを Zip にする
  • 8. ページの編集完了
  • 9. ページの公開
  • 10. ページの公開終了
  • 11. ページのエキスポート
  • 12. ページの削除
  • 13. ページのリビジョン管理
  • 14. ページのリビジョン間の比較表示
  • 15. リンク元一覧
  • 16. ページ内の外部リンク一覧
  • 17. ページの公開状況
  • 18. Markdown の使い方
  • 19. コンテンツ中の語句のチェック
  • 20. ページの操作履歴
  • 21. フォルダ
    • 1. フォルダの作成
    • 2. フォルダの設定
    • 3. フォルダにテンプレートを関連付ける
    • 4. フォルダへの承認プロセスの設定
    • 5. フォルダへのアクセス制限
    • 6. フォルダ中のページの順序の指定
    • 7. カレントフォルダの移動
    • 8. フォルダのオープン/クローズ
    • 9. フォルダ以下にあるページの状態
    • 10. フォルダの削除
  • 22. バージョニングフォルダ
  • 23. ページの一括処理
    • 1. 編集完了
    • 2. 公開
    • 3. 公開終了
    • 4. 公開開始指定時刻の設定
    • 5. 公開終了指定時刻の設定
    • 6. 公開開始と終了指定時刻の設定
    • 7. ページのエキスポート
    • 8. 承認依頼
    • 9. 移動
    • 10. 削除
    • 11. 保護設定
    • 12. ページ一括登録
  • 24. ページインポート機能
    • 1. HTML ファイルのインポート
    • 2. スタイルシートのインポート
    • 3. 画像ファイルのインポート
    • 4. テキストファイルのインポート
    • 5. wrp ファイルのインポート
    • 6. 添付ファイルのインポート
    • 7. フォルダのインポート
    • 8. ZIP ファイルのインポート
    • 9. 既存のページへの上書きインポート
    • 10. カスタムテンプレートを使う
    • 11. インポートに伴うエラーに対処する
  • 25. 外部作成コンテンツのインポート
  • 26. スケジュール一覧
  • 27. ページの検索
8章 マルチデバイス配信
  • 1. 多チャネル化
  • 2. チャネル別コンテンツの生成
  • 3. チャネル選択機能
9章 承認プロセスの設定
  • 1. 承認ステップの定義
  • 2. 承認プロセスの定義
  • 3. 承認プロセスをフォルダに関連付ける
  • 4. 承認プロセスによる公開管理
    • 1. ページの公開承認依頼
    • 2. 承認と差戻
    • 3. 承認画面への入り方
    • 4. 承認プロセスとページの公開終了
    • 5. 承認依頼フォルダ
    • 6. 承認依頼の一括移動
    • 7. 一括承認依頼
    • 8. 一括承認
    • 9. ページの緊急公開と緊急公開終了
    • 10. 承認依頼の削除
    • 11. 進行中の承認依頼の管理
10章 その他の機能
  • 1. ダッシュボード
  • 2. 英語インタフェース
11章 システムの運用管理
  • 1. システムの状態確認
  • 2. WebRelease の停止と起動
  • 3. データのバックアップ
  • 4. メモリ設定
  • 5. メールサーバの設定
  • 6. Proxy サーバの設定
  • 7. パスワードセキュリティ設定
  • 8. TOTP 認証の有効化
  • 9. アカウントの自動閉鎖
  • 10. ログイン通知メールの設定
  • 11. システムからの通知メール
  • 12. Cookie に Secure 属性をつける
  • 13. その他のシステム設定
  • 14. 証明書のインポート
  • 15. ストレージの管理
  • 16. 操作履歴
  • 17. ログファイルのダウンロード
  • 18. ログインエラーへの対応
  • 19. WebRelease のバージョンアップ
  • 20. ライセンスのアップグレード
  • 21. 期間ライセンスコードの更新
  • 22. 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. encodeURI と encodeURIComponent
    • 15. encoding
    • 16. fileName
    • 17. fileSize
    • 18. find
    • 19. firstElement
    • 20. folder
    • 21. formatDate
    • 22. formatDateRFC2822
    • 23. formatDateW3CDTF
    • 24. fullURL
    • 25. gengou
    • 26. getXML
    • 27. group
    • 28. halfwidth
    • 29. hasElement
    • 30. hasMethod
    • 31. head
    • 32. indexOfPage
    • 33. isEven と isOdd
    • 34. isFirstElement と isNotFirstElement
    • 35. isFirstPage
    • 36. isLastElement と isNotLastElement
    • 37. isLastPage
    • 38. isNull と isNotNull
    • 39. isNumber
    • 40. isPreview と isNotPreview
    • 41. jstr
    • 42. kmg1000
    • 43. kmg1024
    • 44. lastElement
    • 45. lastModifiedDate
    • 46. length
    • 47. multiply
    • 48. nextElement
    • 49. nextPage
    • 50. number
    • 51. pageCreatedDate と revisionCreatedDate
    • 52. pageID
    • 53. pageRevision
    • 54. pageTitle
    • 55. pageWithPageID
    • 56. parseDate
    • 57. parseDateRFC2822 と parseDateRFC2822Relaxed
    • 58. parseDateW3CDTF
    • 59. parseHtml
    • 60. path
    • 61. prevElement
    • 62. prevPage
    • 63. previewClock
    • 64. previewLanguage
    • 65. quote
    • 66. remainder
    • 67. replaceAll と replaceFirst
    • 68. resourceURL
    • 69. resourceWithName
    • 70. rtlCount
    • 71. rtlRatio
    • 72. scheduledEndDate
    • 73. scheduledStartDate
    • 74. searchText
    • 75. setScale
    • 76. siteTimeZone
    • 77. sort
    • 78. split
    • 79. startsWith と endsWith
    • 80. string
    • 81. stripTags
    • 82. substring
    • 83. subtract
    • 84. suffix
    • 85. tail
    • 86. templateName
    • 87. thisPage
    • 88. toEntityRef
    • 89. toLowerCase と toUpperCase
    • 90. trim
    • 91. unescapeEntities
    • 92. unsplit
    • 93. 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. Exif Orientation の扱いについて
  • 2. WebP 形式の画像の扱いについて
  • 3. CMYK / YCCK 形式の jpeg 画像について
  • 4. プレビュー時の URL 書き換え機能
  • 5. サポートされているタイムゾーン
  • 6. アカウント閉鎖ページへのアクセス制限
  • 7. 正規表現
  • 8. 要素名・リソース名・変数名・メソッド名

オブジェクト索引

Page オブジェクト

Page オブジェクトはページを表すオブジェクトです。

  • 目次は Page オブジェクトの列です。例えば <wr-for list="index" variable="aPage"> という記述を行った場合 wr-for のボディー内で aPage にバインドされるオブジェクトは Page オブジェクトです。
  • リンク要素の値は Page オブジェクトです。
  • 関数 thisPage() を呼び出すと、その呼び出しを行ったページの Page オブジェクトが得られます。
  • Folder オブジェクトの allPages() メソッドなどで、フォルダに置かれているページの一覧を取得すると、得られる列の要素は Page オブジェクトです。

Page オブジェクトに対しては「要素参照」と同じ方法を使ってページ以下に定義されている要素を参照することができます。例えば、ページ中に「リリース日」という要素が定義されているとすると、展開中に

Page オブジェクト中の要素の参照
%aPage.リリース日%

という記述を行うと aPage 中の「リリース日」を取り出すことができます。

また、aPage というページの作成に使われているテンプレートに、例えば generateText() というメソッドが定義されているとすると、展開中に

Page オブジェクトに対するメソッド呼び出し
%aPage.generateText()%

という記述を行うと aPage 中の generateText() メソッドを呼び出して実行することができます。

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

メソッド名 説明
canonicalURL() ページの canonical URL を返す
folder() ページが置かれているフォルダを返す
folderPath() トップフォルダからのパスを返す
gotoChannelURL(channelName) ページの他のチャネル上での URL を返す
indexOfObject() 親フォルダの中で何番目に位置しているかを返す(フォルダを含む並び順)
indexOfPage() 親フォルダの中で何番目に位置しているかを返す(フォルダを除く並び順)
isFirstObject() 親フォルダの中で先頭に置かれているか判定する(フォルダを含む並び順)
isFirstPage() 親フォルダの中で先頭に置かれているか判定する(フォルダを除く並び順)
isFolder() オブジェクトが Folder なのか(= Page でないか)を判定する
isLastObject() 親フォルダの中で最後に置かれているか判定する(フォルダを含む並び順)
isLastPage() 親フォルダの中で最後に置かれているか判定する(フォルダを除く並び順)
isPage() オブジェクトが Page なのかを判定する
isPageData() ページがページデータテンプレートから作成されているか判定する
isPublicPage() 公開テンプレートから作成されたページかどうか判定する
nextObject(wrap) ひとつ後ろに位置するページまたはフォルダを返す
nextPage(wrap) ひとつ後ろに位置するページを返す
pageURL(channelName) ページの URL を返す
prevObject(wrap) ひとつ前に位置するページまたはフォルダを返す
prevPage(wrap) ひとつ前に位置するページを返す

canonicalURL()

このページの canonical URL を返します。canonical URL とは、このページのコンテンツがプライマリチャネルに配信された場合の URL です。

プレビュー時には、プレビュー用の URL が返されます。配信先の公開サーバ上の URL ではありません。

書式

canonicalURL()

利用例 1

ページ中に、そのページの各デバイス用の版にアクセスするリンクを作成してみます。この例では、main (プライマリチャネル) tablet mobile の 3 つのチャネルが定義されていることを想定しています。

<body>
....
<br/>
このページは %channelName()% 版です。<br/>
<br/>
<wr-if condition="channelName() != \"mobile\"">
<a href="%thisPage().canonicalURL()%?%channelCookieName()%=mobile">モバイル版はこちら</a><br/>
</wr-if>
<wr-if condition="channelName() != \"tablet\"">
<a href="%thisPage().canonicalURL()%?%channelCookieName()%=tablet">タブレット版はこちら</a><br/>
</wr-if>
<wr-if condition="channelName() != \"main\"">
<a href="%thisPage().canonicalURL()%?%channelCookieName()%=main">PC版はこちら</a><br/>
</wr-if>
<a href="%thisPage().canonicalURL()%?%channelCookieName()%=.">お使いのデバイスに最適なページはこちら</a><br/>
<br/>
....
</body>

他のチャネルに誘導するための URL には、そのページの、プライマリチャネルでの URL (canonicalURL) の末尾に

?channel=<channelName>

という形式の query string を付加したものを使います。(チャネル選択機能のマニュアルを参照してください)この時、channel= の部分の query string のパラメタ名の部分は「FTP管理」画面の「ルール」タブで「Cookie 名」欄に指定した名前でなければなりません。その名前を取り出すために channelCookieName() 関数を使っています。

プライマリチャネル上での URL は Page オブジェクトの canonicalURL() メソッドで知ることができます。

サーバサイドの mod_rewrite によるデバイスの判別を実行して最適なチャネルに誘導する場合には、チャネル名に "." (ピリオド)を指定します。(チャネル選択機能のマニュアルを参照してください)

この例はあくまでもサンプルです。上記機能の実現には gotoChannelURL() メソッドの方が便利です。URL の組み立てを自動で行ってくれます。

利用例 2

プライマリではないチャネルのコンテンツを生成する場合に、head 節内に link rel="canonical" を宣言し、検索エンジン等に対して、インデクシングすべきオリジナルのページの URL を供給してみます。

link rel="canonical" を生成する
<head>
........
<wr-if condition="channel().isPrimary() != true">
<link rel="canonical" href="%thisPage().canonicalURL()%"/>
</wr-if>
........
</head>

ヒント

ツイートボタンなどを設置する場合には、ツイートする URL には canonicalURL() メソッドの戻り値を指定すると良いでしょう。ユーザがツイートする URL は、そのユーザが使用していたデバイスに依存した URL よりも、デバイス判定ルールが動作するプライマリチャネル側の URL、つまり、canonicalURL() メソッドの返す URL の方がよいでしょう。canonicalURL() でつぶやいてもらえれば、そのつぶやきを読んでリンクを辿ったユーザには、そのユーザの使用しているブラウザに適したコンテンツが配信されます。

もし canonicalURL() を使わずに pageURL() メソッドを使ったり、ボタンが設置されているページの URL を使った場合、つぶやかれる URL はつぶやいたユーザが使用していたデバイスに依存した URL となるため、そのつぶやきを読んでリンクを辿ったユーザには、つぶやいたユーザが使用していたデバイスに最適化されたコンテンツが配信されてしまいます。

link rel="canonical" 宣言を入れておくと、つぶやきボタンが、その URL を使用してつぶやいてくれる場合もあるようです。個々のスニペットにより動作が違うので、実際にどの URL でつぶやかれることになるのかを調べて使うとよいでしょう。

folder()

Page オブジェクトが置かれているフォルダを返します。返される値は Folder オブジェクトです。

書式

folder()

利用例 1

link という名前の Link 要素が定義されているとします。link に指定されているリンク先ページが置かれているフォルダの名前を表示してみます。

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

利用例 2

index とう名称の目次要素が定義されているとします。その目次にリストされている各ページについて、そのページが置かれているフォルダの名前とページのタイトルを表示してみます。

<body>
........
<wr-for list="sort(index, \"A\", \"folder().folderName()\")" variable="aPage">
%aPage.folder().folderName()% : %pageTitle(aPage)%<br/>
</wr-for>
........
</body>

目次 index を、その目次に含まれているページのフォルダ名で昇順にソートしてから表示しています。 sort() 関数の、ソートキーの部分には、ソート対象の属性がしていできるだけでなく、このように、ソート対象に対するメソッドの呼び出しも行えます。

folderPath()

Page オブジェクトが置かれているフォルダの、トップフォルダからのパスを返します。返される値は Folder オブジェクトの列(リスト)です。

書式

folderPath()

利用例 1

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

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

thisPage() 関数で自分の Page オブジェクトを取得します。そのオブジェクトの folderPath() メソッドを呼び出して最上位のフォルダからのフォルダのパスを取得し、それに基づいて表示を作成しています。

gotoChannelURL()

このページの他のチャネル上での URL を返します。チャネルはパラメタで指定します。

プレビュー時には、プレビュー用の URL が返されます。配信先の公開サーバ上の URL ではありません。

書式

gotoChannelURL(channelName)
channelName:

このメソッドは、このページの他のチャネル上での URL を返すのですが、どのチャネルの URL を取得したいかをこのパラメタで指定します。指定はチャネル名で行います。

このパラメタは省略可能です。省略すると、アクセスしているデバイスに最適なチャネルへの誘導が行われる(デバイス判定ルールが動作する) URL が返されます。

利用例 1

ページ中に、そのページの各デバイス用の版にアクセスするリンクを作成してみます。この例では、main (プライマリチャネル) tablet mobile の 3 つのチャネルが定義されていることを想定しています。

<body>
....
<br/>
このページは %channelName()% 版です。<br/>
<br/>
<wr-if condition="channelName() != \"mobile\"">
<a href="%thisPage().gotoChannelURL("mobile")%">モバイル版はこちら</a><br/>
</wr-if>
<wr-if condition="channelName() != \"tablet\"">
<a href="%thisPage().gotoChannelURL("tablet")%">タブレット版はこちら</a><br/>
</wr-if>
<wr-if condition="channelName() != \"main\"">
<a href="%thisPage().gotoChannelURL("main")%">PC版はこちら</a><br/>
</wr-if>
<a href="%thisPage().gotoChannelURL()%">お使いのデバイスに最適なページはこちら</a><br/>
<br/>
....
</body>

他のチャネルに誘導するための URL には、そのページの、プライマリチャネルでの URL (canonicalURL) の末尾に

?channel=<channelName>

という形式の query string を付加したものを使います。(チャネル選択機能のマニュアルを参照してください)この時、channel= の部分の query string のパラメタ名の部分は「FTP管理」画面の「ルール」タブで「Cookie 名」欄に指定した名前を指定する必要があります。

このメソッドは、これらの条件を満たす URL を生成します。

<a href="%thisPage().canonicalURL()%?%channelCookieName()%=tablet">...</a>

と

<a href="%thisPage().gotoChannelURL("tablet")%">...</a>

は等価です。

ヒント

canonicalURL() メソッドの説明も併読してください。

indexOfObject()

Page オブジェクトのフォルダ中での位置を返します。ページとフォルダの並び順は、ページ一覧画面での並び順と同じです。このメソッドが返す値は、フォルダ中での、ページとフォルダが混在した状態での位置です。ページだけに着目して位置を取得したい場合には indexOfPage() メソッドを使用してください。

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

書式

indexOfObject()

利用例 1

ページが何番めに位置しているかを表示してみます。

<body>
........
このページは先頭から %thisPage().indexOfObject() + 1% 番めに位置しています。<br/> 
........
</body>

indexOfPage()

Page オブジェクトのフォルダ中での位置を返します。ページの並び順は、ページ一覧画面での並び順と同じです。このメソッドが返す値は、フォルダ中での、ページの位置です。フォルダを除いたページの位置が返されます。

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

書式

indexOfPage()

利用例 1

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

<body>
........
このページは先頭から %thisPage().indexOfPage() + 1% 番めに位置しています。<br/>
........
</body> 

isFirstObject()

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

書式

isFirstObject()

利用例 1

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

<body>
........
<wr-if condition="thisPage().isFirstObject()">このページが先頭です</wr-if>
........
</body>

isFirstPage()

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

書式

isFirstPage()

利用例 1

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

<body>
........
<wr-if condition="thisPage().isFirstPage()">このページが先頭です</wr-if>
........
</body>

isFolder()

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

書式

isFolder()

利用例 1

isPage() メソッドの利用例を参照してください。

isLastObject()

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

書式

isLastObject()

利用例 1

このページが置かれているフォルダ中での、このページの位置が末尾であるかどうかを調べて表示してみます。

<body>
........
<wr-if condition="thisPage().isLastObject()">このページが末尾です</wr-if>
........
</body>

isLastPage()

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

書式

isLastPage()

利用例 1

このページが、ページが置かれているフォルダにあるページの中で、末尾にあるかどうかを調べて表示してみます。

<body>
........
<wr-if condition="thisPage().isLastPage()">このページが末尾です</wr-if>
........
</body>

isPage()

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

書式

isPage()

利用例 1

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

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

allObject() メソッドを使ってフォルダに置かれているページとフォルダのリストを入手します。そのリスト中の要素について、isPage() メソッドと isFolder() メソッドを使って、ページなのかフォルダなのかを調べます。ページであれば pageTitle() 関数を使ってページのタイトルを表示します。フォルダであれば folderName() メソッドを使ってフォルダの名称を表示します。

isPageData()

このページがページデータテンプレートから作成されている場合に true を返します。

書式

isPageData()

利用例 1

searchText() 関数を使って全ページを検索します。検索結果として得られた Page オブジェクトのリストから、検索結果一覧を表示してみます。

検索の結果得られたページの中には、ページデータテンプレートで作成されたページも含まれている可能性があります。ページデータテンプレートで作成されたページは URL を持たないためリンクを生成することはできません。そこで、ページデータテンプレートで作成されたページについては、そのページのタイトルを、また、それ以外のテンプレートで作成されたページについては、ページタイトルとそのページへのリンクを表示してみます。

searchText() 関数への検索パターンは regexp という名前の1行テキスト要素に入力されているものとします。

<body>
........
<wr-for list="searchText(regexp)" variable="aPage">
<wr-if condition="aPage.isPageData() != true">
<wr-then>
  <a href="%aPage%">%pageTitle(aPage)%</a><br/>
</wr-then>
<wr-else>
  %pageTitle(aPage)%<br/>
</wr-else>
</wr-if>
</wr-for>
........
</body>

ヒント

このようなテンプレートを用意しておけば特定のパターンを含むページを簡単に探すことができ、実用的です。

isPublicPage()

このページが公開テンプレートまたはページデータテンプレートから作成されている場合に true を返します。

書式

isPublicPage()

利用例 1

自分が公開テンプレートから作成されたページかどうかを調べて表示してみます。

<body>
........
<wr-if condition="thisPage().isPublicPage()">ページは公開テンプレートで作成されています</wr-if>
........
</body>

nextObject()

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

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

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

書式

nextObject(wrap)
wrap:

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

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

利用例 1

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

<body>
........
<wr-variable name="next" value="thisPage().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>

nextPage()

このページが置かれているフォルダ中での、このページの次の位置にあるページを返します。返される値は Page オブジェクトです。

書式

nextPage(wrap)
wrap:

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

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

利用例 1

次のページへのリンクを生成してみます。

<body>
........
<wr-variable name="next" value="thisPage().nextPage(true)" />
<wr-if condition="isNotNull(next)">
  <a href="%next%">%pageTitle(next)%</a><br />
</wr-if>
........
</body>

nextPage() にパラメタ true を渡しているので末尾のページには先頭のページへのリンクが作成されます。

pageURL()

pageURL() メソッドは、このページの URL を返します。返される URL は http から始まる URL です。 プレビュー時には、プレビュー用の URL が返されます。配信先の公開サーバ上の URL ではありません。

書式

pageURL(channelName)
channelName:

ある特定のチャネルにおける URL を調べたい場合には、そのチャネルのチャネル名を指定することができます。

このパラメタは省略可能です。パラメタを指定せずにこのメソッドを呼び出した場合、展開処理が行われている対象のチャネルが指定されたものとして動作します。

プレビューの場合にこのパラメタが省略されていると、チャネルセレクタ(チャネルを指定するポップアップメニュー)で選ばれているチャネルが指定されているものとして動作します。チャネルセレクタの指定が「自動判別」になっている場合には、プレビューに使用されたデバイスをデバイス判定ルールに照らし合わせてそのデバイス向けのコンテンツを配信するチャネルを判別し、そのチャネルが指定されたものとして動作します。

公開コンテンツを生成するために FTP を実行中にこのパラメタが省略されていると、その展開処理の対象となるチャネルが指定されているものとして動作します。

このメソッドの利用方法は限定的です。あまり利用するシーンは見当たらないでしょう。多くの場合 canonicalURL() メソッドが適当であり、このメソッドの出番はあまりなさそうです。

他のチャネルのページへのリンクを作成するときには、このメソッドを使って URL を取得するのではなく、canonicalURL() メソッドと、ターゲットとなるチャネルの名称を query string に追加して合成する URL を使ってください。詳しくは canonicalURL() のマニュアル、チャネル選択機能のマニュアルを併読してください。

それでも、あるページの URL が必要な場合には、このメソッドを使ってください。

ヒント

tweet やブックマーク用の URL の生成には、このメソッドは使わない方が良いでしょう。このメソッドの戻り値は、特定のチャネル(デバイス)に依存した URL です。ブックマークや tweet などに使う URL は canonicalURL() の方が良さそうです。

prevObject()

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

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

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

書式

prevObject(wrap)
wrap:

ラップするかどうかを指定します。先頭のページに対して wrap に true を指定して prevObject(ture) という呼び出しを行った場合、末尾のオブジェクトが返されます。先頭のページに対して prevObject() または prevObject(false) という呼び出しを行った場合には null が返されます。

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

利用例 1

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

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

prevPage()

このページが置かれているフォルダ中での、このページの前のページを返します。返される値は Page オブジェクトです。

書式

prevPage(wrap)
wrap:

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

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

利用例 1

前のページへのリンクを作成してみます。

<body>
........
<wr-variable name="prev" value="thisPage().prevPage(true)" />
<wr-if condition="isNotNull(prev)">
  <a href="%prev%">%pageTitle(prev)%</a><br />
</wr-if>
........
</body>

prevPage() にパラメタ true を渡しているので先頭のページには末尾のページへのリンクが作成されます。

© 2000 - 2025  FrameWorks Software, Inc.