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. 要素名・リソース名・変数名・メソッド名

5章 テンプレート - 5. テンプレートの展開

6. メソッド

テンプレートにはメソッドを定義することができます。メソッドは、展開と同じように作成できるものですが、メソッド名を付けることができ、関数のように呼び出すことができます。また、引数をとることができます。

  • メソッドは展開またはメソッドから呼び出すことができます。
  • メソッドは再帰呼び出しを行うことができます。

メソッドを作成するときには、メソッド画面で「追加」ボタンをクリックします。

メソッドを作成するときには「追加」ボタンをクリックします。

メソッドを作成すると下図のような画面が表示されます。この画面を使ってメソッドを定義して行きます。左下のエリアにはメソッド一覧が表示されます。要素の場合と同様に、メソッド名をクリックすると、そのメソッドの定義を編集できるようになります。

メソッド定義画面

メソッドを作成した直後は、メソッドの名前は untitled() となっています。 まず、この名前を、好きな名前に付け替えてください。メソッド名は、そのメソッドの内容がよくわかる名前にするとよいでしょう。

また、メソッド名の右側に「Private」というチェックボックスがあります。このチェックを ON にすると、そのメソッドは、そのテンプレートまたはコンポーネント外からは呼び出すことができない、テンプレートまたはコンポーネント内でのみ利用できるプライベートなメソッドとして定義されます。メソッドをプライベートにしておくことで、そのメソッドを将来メンテナンスする際に、そのメンテナンスの影響範囲をそのメソッドが定義されているテンプレートやコンポーネント内に限定して考えることができるようになります。外部から呼び出されることを前提としていないメソッドには Private の指定をしておくと良いでしょう。

メソッドには、引数を持たせることができます。引数の個数は任意個ですが、可変個数の引数をとる(いわゆる varargs の)メソッドは定義できません。例えばメソッドに三つの引数を持たせた場合、そのメソッドを呼び出す時には必ず三つのパラメタを与えなければなりません。

メソッドの名前と引数の名前に使用できる名前には制限があります。詳しくは下記を参照してください。

関連項目
  • 要素名・リソース名・変数名・メソッド名

ひとつのテンプレート中にメソッドはいくつでも定義することができます。メソッド名は互いに衝突しないようにしてください。異なるテンプレートが同じ名前のメソッドを持っていてもかまいませんが、ひとつのテンプレート中に同じ名前のメソッドが複数定義されていると、メソッドが呼び出せなくなります。 パラメタの個数が異なっていても、同じ名前のメソッドを同じテンプレート内に複数定義することはできません。

ここでは drawImage(img, alt) というメソッドを定義してみましょう。このメソッドは、イメージと ALT 属性から対応する img タグを生成する簡単なメソッドです。

メソッド名の欄でメソッドの名前と引数を指定します。その下のテキストエリアにこのメソッドの展開を記述します。メソッドの展開部分の記述方法はテンプレートの展開の記述方法と同じです。

定義を作成したら画面右上の「保存」ボタンをクリックします。

メソッド drawImage(img, alt) を定義した状態

メソッド定義部分を拡大してみましょう。下記のとおりです。

メソッド定義部分を拡大したところ

ご覧のとおり、このメソッドの本体は1行しかありません。与えられた引数を使って img タグを生成しています。メソッドの展開の中では、引数を変数として参照可能です。引数の参照方法は、要素参照と同じです。

今度は、このメソッドを展開の中から呼び出してみましょう。展開中から同じテンプレート中にあるメソッドを呼び出す時には、あたかもそれが関数であるかのように呼び出します。

drawImage(img,alt) メソッドを展開の中からよびだしているといころ
展開のコードは下記のとおりです
<html>
<body>
<wr-for list="画像" variable="x">
%drawImage(x.画像, x.ALT属性)%<br/>
</wr-for>
</body>
</html>

このテンプレートを使ってページを作成し、1枚だけ画像を設定した状態で生成される展開結果は、例えば下記のようになります。

<html>
<body>
<img src=".......jpg" alt="製品パッケージ" style="width: 100px; height: 120px;"/>
<br/>
</body>
</html>

ここでもうひとつメソッドを定義してみます。メソッド名は drawImage2(img) としてみました。今度は、パラメタをひとつにし、そこにグループ項目「画像」をそのまま渡しています。メソッドへの引数には任意のオブジェクトを渡すことができます。

メソッド drawImage2(img) の定義画面

展開部分は下図のようになっています。

drawImage2() の展開部分

この場合、展開中でのメソッド呼び出しは、下記のようになります。

<html>
<body>
<wr-for list="画像" variable="x">
%drawImage2(x)%<br/>
</wr-for>
</body>
</html>

他のページのメソッドを呼び出す

今度は、目次を経由して他のページのメソッドを呼び出してみましょう。

まず「ニュースリリース」という名前のテンプレートを作成します。このテンプレートには「概要」という名前の要素が定義されています。記事の概要がこの要素に入力されます。

この「ニュースリリース」テンプレートには summary() というメソッドを定義してあります。このメソッドは、呼び出されると「概要」の内容を展開結果に書き込むようになっています。

テンプレート「ニュースリリース」のメソッド定義画面

もうひとつ「ニュース」という名前のテンプレートを作成します。このテンプレートには「リード文」という名前の要素が定義されています。記事の概要がこの要素に入力されます。

この「ニュース」テンプレートにも summary() というメソッドを定義してあります。このメソッドは、呼び出されると「リード文」の内容を展開結果に書き込むようになっています。

テンプレート「ニュース」のメソッド定義画面

最後にもうひとつ「記事一覧」というテンプレートを作成します。このテンプレートには「index」という名前の目次型の要素が定義されています。この目次の掲載対象に、先の「ニュース」と「ニュースリリース」が指定されています。

このテンプレートは「ニュース」または「ニュースリリース」のいずれかのテンプレートで作成されたページの一覧を表示しますが、その展開は下記のように書くことができます。

テンプレート「記事一覧」の展開定義画面

aPage が指し示すページは「ニュース」で作成されたページか、または「ニュースリリース」で作成されたページのいずれかです。記事の概要が入力されている要素は「ニュース」の場合には「リード文」であり、また、「ニュースリリース」の場合には「概要」です。ですが、summary() というメソッドが違いを吸収しているので展開の記述が非常に簡潔になっています。

目次に限らず、リンク要素でも同様にリンク先ページのメソッドを呼び出すことができます。また、何らかの方法で入手した Page オブジェクトに対しても、同じ方法で相手先のメソッドを呼び出すことができます。

この例で、テンプレート「ニュースリリース」に定義されているメソッド summary() が、「ニュースリリース」側で Private に指定されている場合は、このような方法で外部から summary() を呼び出すことはできません。

コンポーネントのメソッドを呼び出す

テンプレートやコンポーネントの展開やメソッドからは、コンポーネントに定義されているメソッドを呼び出すことができます。コンポーネントに関しては下記を参照してください。

関連項目
  • コンポーネント
  • コンポーネントの使用例
  • コンポーネントとセレクタ

前

次

© 2000 - 2024  FrameWorks Software, Inc.