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

提供:MoodleDocs
移動先:案内検索
 
(2人の利用者による、間の25版が非表示)
1行目: 1行目:
{{データベース}}
{{データベース}}
[[データベース活動モジュール]]のテンプレートを使用すると、データベースエントリを一覧表示、表示、編集する際に、情報の視覚的なレイアウトを制御することができます。これは、Open Office WriterやMicrosoft Wordなどのワープロソフトで文字を ''メールマージ'' するのに使われる手法に似ています。


作成中です - [[利用者:Mitsuhiro Yoshida|Mitsuhiro Yoshida]] 2007年11月23日 (金) 19:58 (CST)
== タグの使用 ==
 
データベース用に作成した各[[データベースフィールド|フィールド]]の内容や、いくつかの特殊なタグ(以下に列挙)を、タグの使用により出力テンプレートに挿入することができます。
 
フィールドは<code><nowiki>[[フィールドネーム]]</nowiki></code>という書式で、それ以外のタグは<code>##タグ##</code>という書式で記述します。
 
ページ左のボックス内のタグを使用するには、まずクリックしてエディタを無効にし、目的の編集のテキストエリアにカーソルを置いて、配置したいタグをクリックします。終了したら、クリックしてテンプレートを保存します。また、<code>##コチラ##</code>や<code><nowiki>[[コチラ]]</nowiki></code>のような必要な記号の中に、それぞれ適切な名前を入力するだけでもかまいません。


[[データベースモジュール]]のテンプレートでは、データベースエントリを一覧表示、閲覧、編集する場合のビジュアルレイアウトをコントロールします。これは、Open Office WriterまたはMicrosoft Wordのようなワードプロセッサの「メールマージ」機能で使用される技術に類似しています。
* <code>##edit##</code> 現在のエントリを編集するためのクリック可能なアイコンリンクを作成します(編集する権限を持っている場合のみ表示されます)。
* <code>##delete##</code> 現在のエントリを削除するためのリンクを作成します(削除する権限を持っている場合のみ表示されます)。
* <code>##approve##</code> 現在のデータベースエントリを承認するためのリンクを作成します(承認する権限を持っている場合のみ表示されます)。
* <code>##disapprove##</code> 現在のデータベースエントリの承認を取り消すためのリンクを作成します(この操作を行う権限を持っている場合にのみ表示されます)。
* <code>##more##</code> より詳細な情報を含むシングルビューへのリンクを作成します。
* <code>##moreurl##</code> 上記のリンクのURLだけを作成するので、独自のリンクを作成するのに便利です。リンクアイコンをクリックして、URLフィールドに <code>##moreurl##</code>を入力するか、ソースビューで<pre><a href="##moreurl##">[[フィールドネーム]]</a></pre>を入力することができます。
* <code>##comments##</code> コメント閲覧/編集ページへのリンクを作成します。リンクテキストは現在のコメント数です (コメントがオンの場合のみ表示されます)。
* <code>##user##</code> エントリを投稿したユーザのページへのリンクを作成します。リンクテキストはユーザの名前です。
* <code>##timeadded##</code>
* <code>##timemodified##</code>
* <code>##userpicture##</code> リストビューにユーザ画像を表示します。
* <code>##approvalstatus##</code> インラインCSSとして挿入され、未承認のエントリのハイライトを提供します。
* <code>##tags##</code> タグを表示します(サイト管理の[[タグの管理|タグの管理]]でデフォルトで有効になっています)。 - '''new in 3.4'''


== タグの使用 ==
[[File:userpicture.png|thumb|center|600px|##userpicture## タグの例]]


あなたがデータベースに作成したコンテンツの[[データベースフィールド|フィールド]]およびスペシャルタグ (以下に記載) は、タグを使用した出力テンプレートに挿入することができます。左サイドにあるタグを使用するには、HTMLエディタであなたが編集したい場所をクリックしてください。左サイドのボックス内にある使用したいタグをクリックするとエディタ内にタグが配置されます。または、次のように必須記号に挟まれたタグ名を入力することでタグを配置できます <nowiki>##this## または [[this]]</nowiki>。
==一覧表示のテンプレート==
このテンプレートを使用すると、複数のエントリを一度に表示する際(検索結果など)に使用するフィールドとそのレイアウトを制御することができます。このビューは、単に概要を提供し、エントリをクリックしてそのエントリのシングルビューにアクセスすることで、より詳細な情報を利用できる可能性があります。


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


タグの使用に関するデモビデオはこちら:
リストテンプレートは、CSVファイルとして[[データベースのエクスポート|エクスポート]]する方法としても使用できます。
http://video.google.com/videoplay?docid=7026851446099005477


== 一覧表示テンプレート ==
==個別表示のテンプレート==


This template allows you to control the fields used and their layout when viewing multiple entries at once (e.g. search results). It is possible that this view may simply provide an overview with more detailed information available by clicking on an entry to access the single view of the entry.
これは、一度に1つのエントリを表示するために使用されるため、表示スペースが広く、例えば、画像の拡大版を使用したり、オプションとしてリストビューで表示されるよりも多くの情報を提供することができます。


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


== 個別表示テンプレート ==
==詳細検索のテンプレート==


This is used to display a single entry at a time and so has more space for display and can use, for example, larger versions of images or optionally provide more information than shown in the list view.
詳細検索のテンプレートは、詳細検索で使用するインターフェースフォームを作成するためのものです。


== テンプレートの追加 ==
==追加のテンプレート==


This template creates the interface form used when adding or editing database entries. Saving a template will overwrite whatever template you have already saved. The ability to create (and import and export) named templates for re-use is planned but not yet functional. Currently you can
このテンプレートは、データベースのエントリを追加または編集するときに使用されるインターフェースフォームを作成します。
copy and paste your template for reuse elsewhere.


== RSSテンプレート ==
== RSSテンプレート ==


Lets you control the content of the [[RSS]] feed for database entries.
データベースエントリの[[RSS]]フィードの内容を制御することができます。


== CSSテンプレート ==
== CSSテンプレート ==


If any of the [[HTML]] in your other templates requires [[CSS]] to provide visual style you can specify it here.
あなたの他のテンプレート内の[[MoodleにおけるHTML|HTML]]が視覚的なスタイルを提供するために[[CSS]]を必要とする場合、ここでそれを指定することができます。


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


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.
javascriptを使用すると、リスト、単一、追加の各テンプレートで要素の表示方法を操作することができます。基本的には、操作したい部分を何らかの名前の付いた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>
59行目: 71行目:
</pre>
</pre>


You now need to modify that entry to ensure that the part you want to manipulate is a named element.
ここで、操作したい部分が名前付き要素であることを確認するために、このエントリを修正する必要があります。


<pre>
<pre>
69行目: 81行目:
</pre>
</pre>


The footer of your list view can then contain another named element to display the result.
リストビューのフッタには、結果を表示するための別の名前付き要素を含めることができます。


<pre>
<pre>
75行目: 87行目:
</pre>
</pre>


Your javascript template can now look as follows
javascriptのテンプレートは、以下のようになります。


<pre>
<pre>
93行目: 105行目:
</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にマッチした名前のカウントも表示されます。
 
window.onloadは、[https://docs.moodle.org/dev/Javascript_FAQ#What_JavaScript_library_does_Moodle_use.3F YUI]コードへの依存を処理しないので、init() コードで必要なYUIモジュールがロードされず、コードが失敗する可能性があることに注意しましょう。
 
この場合、onloadの代わりに使用します:
<pre>
YUI().use('node', 'other', 'dependencies', function(Y) {
 
  // Your code here.
 
  // This function is a closure so the Y object you define in the function definition is yours and nothing else on the page should be able to break it.
 
});
</pre>


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


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が追加されます。その間にテンプレートを編集していた場合、その変更は失われます。テンプレートコードを変更する前に、データベースフィールドを確定することをお勧めします。


==関連情報==
==関連項目==
*[[データベースプリセット]]
*[http://video.google.com/videoplay?docid=7026851446099005477 タグの使い方を紹介する動画]


Some Using Moodle forum discussions:  
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サイトのモジュールやプラグインを表示させたい方]
*[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 リストビューで列を並べることができない]
*[http://moodle.org/mod/forum/discuss.php?d=86927 データベースエントリのタイムスタンプ?]


[[en:Database_templates]]
[[en:Database templates]]
[[de:Datenbankvorlagen]]
[[es:Plantillas de BasedeDatos]]
[[fr:Modèles]]
[[ru:Шаблоны]]

2022年1月21日 (金) 05:15時点における最新版

データベース活動モジュールのテンプレートを使用すると、データベースエントリを一覧表示、表示、編集する際に、情報の視覚的なレイアウトを制御することができます。これは、Open Office WriterやMicrosoft Wordなどのワープロソフトで文字を メールマージ するのに使われる手法に似ています。

タグの使用

データベース用に作成した各フィールドの内容や、いくつかの特殊なタグ(以下に列挙)を、タグの使用により出力テンプレートに挿入することができます。

フィールドは[[フィールドネーム]]という書式で、それ以外のタグは##タグ##という書式で記述します。

ページ左のボックス内のタグを使用するには、まずクリックしてエディタを無効にし、目的の編集のテキストエリアにカーソルを置いて、配置したいタグをクリックします。終了したら、クリックしてテンプレートを保存します。また、##コチラ##[[コチラ]]のような必要な記号の中に、それぞれ適切な名前を入力するだけでもかまいません。

  • ##edit## 現在のエントリを編集するためのクリック可能なアイコンリンクを作成します(編集する権限を持っている場合のみ表示されます)。
  • ##delete## 現在のエントリを削除するためのリンクを作成します(削除する権限を持っている場合のみ表示されます)。
  • ##approve## 現在のデータベースエントリを承認するためのリンクを作成します(承認する権限を持っている場合のみ表示されます)。
  • ##disapprove## 現在のデータベースエントリの承認を取り消すためのリンクを作成します(この操作を行う権限を持っている場合にのみ表示されます)。
  • ##more## より詳細な情報を含むシングルビューへのリンクを作成します。
  • ##moreurl## 上記のリンクのURLだけを作成するので、独自のリンクを作成するのに便利です。リンクアイコンをクリックして、URLフィールドに ##moreurl##を入力するか、ソースビューで
    <a href="##moreurl##">[[フィールドネーム]]</a>
    を入力することができます。
  • ##comments## コメント閲覧/編集ページへのリンクを作成します。リンクテキストは現在のコメント数です (コメントがオンの場合のみ表示されます)。
  • ##user## エントリを投稿したユーザのページへのリンクを作成します。リンクテキストはユーザの名前です。
  • ##timeadded##
  • ##timemodified##
  • ##userpicture## リストビューにユーザ画像を表示します。
  • ##approvalstatus## インラインCSSとして挿入され、未承認のエントリのハイライトを提供します。
  • ##tags## タグを表示します(サイト管理のタグの管理でデフォルトで有効になっています)。 - new in 3.4
##userpicture## タグの例

一覧表示のテンプレート

このテンプレートを使用すると、複数のエントリを一度に表示する際(検索結果など)に使用するフィールドとそのレイアウトを制御することができます。このビューは、単に概要を提供し、エントリをクリックしてそのエントリのシングルビューにアクセスすることで、より詳細な情報を利用できる可能性があります。

リストテンプレートテーブルの作成方法については、Moodleデータベース活動でリストビューをデザインするをご覧ください。

リストテンプレートは、CSVファイルとしてエクスポートする方法としても使用できます。

個別表示のテンプレート

これは、一度に1つのエントリを表示するために使用されるため、表示スペースが広く、例えば、画像の拡大版を使用したり、オプションとしてリストビューで表示されるよりも多くの情報を提供することができます。

Databasesingletemplate.png

詳細検索のテンプレート

詳細検索のテンプレートは、詳細検索で使用するインターフェースフォームを作成するためのものです。

追加のテンプレート

このテンプレートは、データベースのエントリを追加または編集するときに使用されるインターフェースフォームを作成します。

RSSテンプレート

データベースエントリのRSSフィードの内容を制御することができます。

CSSテンプレート

あなたの他のテンプレート内のHTMLが視覚的なスタイルを提供するためにCSSを必要とする場合、ここでそれを指定することができます。

Javascriptテンプレート

javascriptを使用すると、リスト、単一、追加の各テンプレートで要素の表示方法を操作することができます。基本的には、操作したい部分を何らかの名前の付いた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>

javascriptのテンプレートは、以下のようになります。

 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にマッチした名前のカウントも表示されます。

window.onloadは、YUIコードへの依存を処理しないので、init() コードで必要なYUIモジュールがロードされず、コードが失敗する可能性があることに注意しましょう。

この場合、onloadの代わりに使用します:

YUI().use('node', 'other', 'dependencies', function(Y) {

  // Your code here.

  // This function is a closure so the Y object you define in the function definition is yours and nothing else on the page should be able to break it.

});

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

最初にデータベースを作成するとき、テンプレートにはあらかじめ適切なHTMLが入力されています。後でフィールドを追加する場合は、テンプレートのリセット ボタンを押せば、同じように新しいフィールドのHTMLが追加されます。その間にテンプレートを編集していた場合、その変更は失われます。テンプレートコードを変更する前に、データベースフィールドを確定することをお勧めします。

関連項目

Moodleのフォーラムディスカッションの利用: