「データベーステンプレート」の版間の差分

提供:MoodleDocs
移動先:案内検索
編集の要約なし
(Done!!)
 
(同じ利用者による、間の14版が非表示)
1行目: 1行目:
{{データベース}}
{{データベース}}
作成中です - [[利用者:Mitsuhiro Yoshida|Mitsuhiro Yoshida]] 2007年11月23日 (金) 19:58 (CST)


[[データベースモジュール]]のテンプレートでは、データベースエントリを一覧表示、閲覧、編集する場合のビジュアルレイアウトをコントロールします。これは、Open Office WriterまたはMicrosoft Wordのような、ワードプロセッサの「メールマージ」機能で使用される技術に類似しています。
[[データベースモジュール]]のテンプレートでは、データベースエントリを一覧表示、閲覧、編集する場合のビジュアルレイアウトをコントロールします。これは、Open Office WriterまたはMicrosoft Wordのような、ワードプロセッサの「メールマージ」機能で使用される技術に類似しています。
7行目: 5行目:
== タグの使用 ==
== タグの使用 ==


あなたがデータベースに作成したコンテンツの[[データベースフィールド|フィールド]]およびスペシャルタグ (以下に記載) は、タグを使用した出力テンプレートに挿入することができます。左サイドにあるタグを使用するには、HTMLエディタであなたが編集したい場所をクリックしてください。左サイドのボックス内にある使用したいタグをクリックするとエディタ内にタグが配置されます。または、次のように必須記号に挟まれたタグ名を入力することでタグを配置できます <nowiki>##this## または [[this]]</nowiki>。
あなたがデータベースに作成したコンテンツの[[データベースフィールド|フィールド]]およびスペシャルタグ (以下に記載) は、タグを使用した出力用テンプレートに挿入することができます。左サイドにあるタグを使用するには、HTMLエディタであなたが編集したい場所をクリックしてください。左サイドのボックス内にある使用したいタグをクリックするとエディタ内にタグが配置されます。または、次のように必須記号に挟まれたタグ名を入力することでタグを配置できます <nowiki>##this## または [[this]]</nowiki>。


* ##Edit## 現在のエントリを編集するためのリンクを作成します (あなたに権限がある場合のみ表示されます)。
* ##Edit## 現在のエントリを編集するためのリンクを作成します (あなたに権限がある場合のみ表示されます)。
44行目: 42行目:
== Javaスクリプトテンプレート ==
== Javaスクリプトテンプレート ==


You can use javascript to manipulate the way elements are displayed in either the List, Single or Add templates. Basically you need to enclose the part you want to manipulate in some named html element. The naming is essential as it allows you to identify the element for manipulation.
一覧表示、個別表示、エントリ追加のテンプレートごとに、エレメントを操作するためJavaスクリプトを使用することができます。あなたが操作したい部分は、基本的に名前付きhtmlエレメントで囲む必要があります。操作するエレメントを識別させるため、名前付けは必須です。


Lets say, for example, you have a field in your database that stores a persons name and when you display the names in the List View you want to count the times a name matches some criteria and display the result.
例えば、あなたのデータベースに氏名を保存するフィールドがあり、一覧表示で氏名がクライテリアと合致する回数を表示したいとします。


Your database will contain a field which we will call "name". In your List template you will be able to display the contents of that field by using the <nowiki>[[name]]</nowiki> construct at the place where you want that information displayed. For example in the ''Repeated entry'' on the list template you will have
あなたのデータベースは「name」というフィールドを含んでいます。一覧表示用テンプレートでは、あなたが情報を表示したい場所に<nowiki>[[name]]</nowiki>コンストラクトを使うことで、フィールドのコンテンツを表示することができます。例えば、一覧表示用テンプレートの「繰り返しエントリ」に以下のように記述します:


<pre>
<pre>
58行目: 56行目:
</pre>
</pre>


You now need to modify that entry to ensure that the part you want to manipulate is a named element.
そして、あなたが操作したい名前付きエレメントを明確にするため、以下のように修正してください:


<pre>
<pre>
68行目: 66行目:
</pre>
</pre>


The footer of your list view can then contain another named element to display the result.
結果を表示するため、フッタには別の名前付きエレメントを含むことができます:


<pre>
<pre>
74行目: 72行目:
</pre>
</pre>


Your javascript template can now look as follows
そして、あなたのJavaスクリプトテンプレートは以下のようになります:


<pre>
<pre>
92行目: 90行目:
</pre>
</pre>


This will display a table of names as is usual in the list view. Now at the bottom there will also be the count of the names that matched foo or Foo.
ここでは通常どおり、氏名が一覧表示されます。そして、一覧表示下部に「foo」または「Foo」に合致する氏名の件数が表示されます。


== テンプレートのリセットボタン ==
== テンプレートのリセットボタン ==


When you first create a database the templates will be pre-filled with appropriate HTML. If you later add fields then you can press the ''reset templates'' button and it will add HTML for the new fields in a similar fashion. If you have edited any of the templates in the meantime then your changes will be lost. It is recommended that you finalize the database fields before changing the template code.
あなたが最初にデータベーステンプレートを作成した場合、適切なHTMLが記述されます。後にフィールドを追加して、「テンプレートをリセットする」ボタンをクリックすることで、同様に新しいフィールドのHTMLの記述が追加されます。あなたが以前に変更したテンプレートの内容は、「テンプレートをリセットする」ボタンのクリックにより失われます。テンプレートコードを修正する前に、データベースフィールドの追加および変更を完了されることをお勧めします。


==関連情報==
==関連情報==


Some Using Moodle forum discussions:  
以下、データベーステンプレートに関するUsing Moodleフォーラムのディスカッションです:  
*[http://moodle.org/mod/forum/discuss.php?d=55338 Look of the database module]
*[http://moodle.org/mod/forum/discuss.php?d=55338 データベースモジュールの外観] - 英語
*[http://moodle.org/mod/forum/discuss.php?d=74243 How can I list database information horizontally instead of vertically?]
*[http://moodle.org/mod/forum/discuss.php?d=74243 どのようにすればデータベースの情報を縦ではなく横に一覧表示できますか?] - 英語
*[http://moodle.org/mod/forum/discuss.php?d=61179 For those who want the display of Moodle Site's Modules and plugins]
*[http://moodle.org/mod/forum/discuss.php?d=61179 Moodleサイトの「Modules and plugins」のように表示したい場合] - 英語
*[http://moodle.org/mod/forum/discuss.php?d=84050 Can't get columns to line up in list view]
*[http://moodle.org/mod/forum/discuss.php?d=84050 一覧表示用のカラムを取得できません] - 英語


[[en:Database_templates]]
[[en:Database_templates]]

2007年12月4日 (火) 19:28時点における最新版


データベースモジュールのテンプレートでは、データベースエントリを一覧表示、閲覧、編集する場合のビジュアルレイアウトをコントロールします。これは、Open Office WriterまたはMicrosoft Wordのような、ワードプロセッサの「メールマージ」機能で使用される技術に類似しています。

タグの使用

あなたがデータベースに作成したコンテンツのフィールドおよびスペシャルタグ (以下に記載) は、タグを使用した出力用テンプレートに挿入することができます。左サイドにあるタグを使用するには、HTMLエディタであなたが編集したい場所をクリックしてください。左サイドのボックス内にある使用したいタグをクリックするとエディタ内にタグが配置されます。または、次のように必須記号に挟まれたタグ名を入力することでタグを配置できます ##this## または [[this]]。

  • ##Edit## 現在のエントリを編集するためのリンクを作成します (あなたに権限がある場合のみ表示されます)。
  • ##More## さらに詳細情報を含んでいるデータの個別表示のためのリンクを作成します。
  • ##MoreURL## データベースエントリの直リンクのURLを作成します。「More」および「URL」の間に空白は入りませんので注意してください。テキストを入力および選択した後、HTMLエディタのリンクアイコンをクリックして「##MoreURL##」と入力することができます。また、HTMLエディタをHTMLソースモードにして次のように入力することもできます: <a href="##moreurl##">[[fieldname]]</a>
  • ##Delete## 現在のエントリを削除するためリンクを作成します (あなたに権限がある場合のみ表示されます)。
  • ##Approve## 現在のエントリを認証するためのリンクを作成します (あなたに権限がある場合のみ表示されます)。
  • ##Comments## コメントページの表示/編集リンクを作成します。リンクテキストは現在のコメント数です (コメントが有効にされている場合のみ表示されます)。
  • ##User## エントリを投稿したユーザのユーザページへのリンクを作成します。リンクテキストは、ユーザ名です。

タグの使用に関するデモビデオはこちら: http://video.google.com/videoplay?docid=7026851446099005477

一覧表示用テンプレート

このテンプレートでは、1度に複数エントリを表示する場合 (例 検索結果) のフィールドレイアウトをコントロールすることができます。「一覧表示」ではエントリの要約を表示して、クリックすることでエントリの詳細情報を表示する「個別表示」リンクを設置することができます。

一覧表示用テンプレートは、あなたのデータベースをCSVファイルにエクスポートする手段としても使用できます。

個別表示用テンプレート

このテンプレートは、十分なスペースを確保して、一度にひとつのエントリ表示するために使用します。例えば、大きな画像を含んでいたり、一覧表示では表示できないような詳細情報を含んでいるエントリに使用することができます。

エントリ追加用テンプレート

このテンプレートでは、データベースエントリを追加および編集するためのインターフェースフォームを作成します。テンプレートを保存することで、あなたが既に保存している既存のテンプレートを上書きします。再利用のため、名前付きテンプレートを作成 (インポート、エクスポート) できる機能の開発が計画されていますが、まだ実装されていません。現在は他の場所で再利用するため、テンプレートをコピー&ペーストすることができます。

RSSテンプレート

このテンプレートでは、データベースエントリのRSSフィードのコンテンツをコントロールできるようにします。

CSSテンプレート

あなたの他のテンプレート内のHTMLにビジュアルデザイン用のCSSが必要な場合、ここに記述することができます。

Javaスクリプトテンプレート

一覧表示、個別表示、エントリ追加のテンプレートごとに、エレメントを操作するためJavaスクリプトを使用することができます。あなたが操作したい部分は、基本的に名前付きhtmlエレメントで囲む必要があります。操作するエレメントを識別させるため、名前付けは必須です。

例えば、あなたのデータベースに氏名を保存するフィールドがあり、一覧表示で氏名がクライテリアと合致する回数を表示したいとします。

あなたのデータベースは「name」というフィールドを含んでいます。一覧表示用テンプレートでは、あなたが情報を表示したい場所に[[name]]コンストラクトを使うことで、フィールドのコンテンツを表示することができます。例えば、一覧表示用テンプレートの「繰り返しエントリ」に以下のように記述します:

 <table>
   <tr>
     <td>Name: [[name]]</td>
   </tr>
 <table>  

そして、あなたが操作したい名前付きエレメントを明確にするため、以下のように修正してください:

 <table>
   <tr>
     <td name="named">Name: [[name]]</td>
   </tr>
 <table>  

結果を表示するため、フッタには別の名前付きエレメントを含むことができます:

  <div name="result"></div>

そして、あなたのJavaスクリプトテンプレートは以下のようになります:

 var cnt = 0;
 var re = /foo|Foo/;
 
 function init(){
   var namedElements = document.getElementsByName("named");
   for (i=0; i < namedElements.length; i++) {
       if(re.test(namedElements[i].innerHTML)) cnt++;
     }
   var namedResult = document.getElementsByName("result");
   namedResult[0].innerHTML = cnt;
   }
 
 window.onload = init;

ここでは通常どおり、氏名が一覧表示されます。そして、一覧表示下部に「foo」または「Foo」に合致する氏名の件数が表示されます。

テンプレートのリセットボタン

あなたが最初にデータベーステンプレートを作成した場合、適切なHTMLが記述されます。後にフィールドを追加して、「テンプレートをリセットする」ボタンをクリックすることで、同様に新しいフィールドのHTMLの記述が追加されます。あなたが以前に変更したテンプレートの内容は、「テンプレートをリセットする」ボタンのクリックにより失われます。テンプレートコードを修正する前に、データベースフィールドの追加および変更を完了されることをお勧めします。

関連情報

以下、データベーステンプレートに関するUsing Moodleフォーラムのディスカッションです: