Datenbankvorlagen: Unterschied zwischen den Versionen

Aus MoodleDocs
Wechseln zu:Navigation, Suche
(Die Seite wurde neu angelegt: „{{Datenbank}} {{Zum Übersetzen}} Templates for the Database activity module allow you to control the visual layout of information when listing, viewing or …“)
 
Keine Bearbeitungszusammenfassung
Zeile 1: Zeile 1:
{{Datenbank}}
{{Datenbank}}


{{Zum Übersetzen}}
Vorlagen für [[Datenbank | Datenbanken]] erlauben Ihnen die volle Kontrolle über das Aussehen der Datenbankeinträge, wenn Sie diese in einer Liste oder einzeln betrachten, aber auch bei der Eingabe der Einträge. Diese Funktionalität ist ähnlich wie in den Serienbrieffunktionen gängiger Textverarbeitungsprogramme. Sie verwenden Platzhalter, die später durch die eigentlichen Einträge ersetzt werden.


Templates for the [[Database activity module]] allow you to control the visual layout of information when listing, viewing or editing database entries. It is a similar to the technique used to ''mail merge'' letters in word processors such as Open Office Writer or Microsoft Word.




== Tag usage ==
== Verwendung von Elementen (Tags) ==
Der Inhalt jedes [[Datenbank-Felder|Feldes]], dass Sie in Ihrer Datenbank anlegen und einige spezielle Elemente(Tags) können in die Datenbankvorlage eingearbeitet werden.


The content of each [[Database fields|field]] you create for your database and some special tags (listed below) can be inserted into the output template by the use of tags.
Felder werden im Format <code><nowiki>[[fieldname]]</nowiki></code> angegeben. Alle anderen Elemente(Tags) sehen so aus: <code>##sometag##</code>.


Fields have the format <code><nowiki>[[fieldname]]</nowiki></code>. All other tags have the format <code>##sometag##</code>.
Um die einzelnen Elemente (Tags), die in der Box links auf der Seite zur Verfügung stehen, Ihrer Vorlage hinzuzufügen, nutzen Sie den Editor (HTML-Modus ausgeschaltet). Positionieren Sie den Cursor an der Stelle, an der Sie eines der Felder oder Elemente einfügen möchten. Klicken Sie nun links auf den gewünschten Eintrag, und das Feld / Element wird an der korrekten Stelle übernommen. Alternativ können Sie die Platzhalter auch manuell einfügen, in dem Sie die entsprechenden Werte und die benötigten Symbole eintippen: <code>##this##</code> oder <code><nowiki>[[this]]</nowiki></code>.


To use the tags in the box on the left of the page, use the HTML viewer, place your cursor in the text area of your target edit and then click on the tag you want to place. Alternatively, you may simply type the appropriate name within the required symbols like <code>##this##</code> or <code><nowiki>[[this]]</nowiki></code>, respectively.
* <code>##edit##</code> erzeugt ein anklickbares Symbol, mit dem es Ihnen möglich ist, den aktuellen Eintrag zu bearbeiten (dieses Symbol erscheint aber immer nur dann, wenn es Ihnen auf Grund Ihrer Rollenrechte gestattet ist, Einträge zu bearbeiten).
* <code>##delete##</code> erzeugt ein anklickbares Symbol, mit dem es Ihnen möglich ist, den aktuellen Eintrag zu löschen (dieses Symbol erscheint aber immer nur dann, wenn es Ihnen auf Grund Ihrer Rollenrechte gestattet ist, Einträge zu löschen).
* <code>##approve##</code> erzeugt ein anklickbares Symbol, mit dem es Ihnen möglich ist, den aktuellen Eintrag zu prüfen und freizugeben (dieses Symbol erscheint aber immer nur dann, wenn es Ihnen auf Grund Ihrer Rollenrechte gestattet ist, dies zu tun).
* <code>##more##</code> erzeugt einen Link zur Einzelansicht eines Eintrages, so können alle Informationen des Eintrages aufgerufen werden.
* <code>##moreurl##</code> erzeugt nur die URL für den oben erwähnten Link. Dies ist hilfreich, wenn Sie Ihre eigenen Links nutzen möchten. Sie können auf das Link-Symbol klicken und schreiben <code>##moreurl##</code> in das URL-Feld, oder Sie schreiben im HTML-Modus <pre><a href="##moreurl##">[[fieldname]]</a></pre>
* <code>##timeadded##</code> zeigt an, wann der Eintrag hinzugefügt wurde.
* <code>##timemodified##</code> zeigt an, wann der Eintrag zum letzten Mal bearbeitet wurde.
* <code>##user##</code> erzeugt einen Link zur Profilseite des Nutzers, der diesen Eintrag erstellt hat. Als Linktext wird der Name des Nutzers verwendet.
* <code>##comments##</code> erzeugt einen Link um Kommentare anzusehen / hinzuzufügen. Als Linktext wird die aktuelle Anzahl an Kommentaren verwendet. (Dieser Link erscheint nur, wenn Kommentare in der Datenbank erlaubt sind.)


* <code>##edit##</code> creates a clickable icon link that allows you to edit the current entry (only appears if you have the rights to do this)
== Vorlage für Liste ==
* <code>##delete##</code> creates a link that lets you delete the current entry (only appears if you have the rights to do this)
Mit dieser Vorlage können Sie die Ansicht der Felder und das Layout der Seite festlegen, die mehrere Einträge auf einmal anzeigt (z.B. Suchergebnisse). Mit dieser Ansicht ist es z.B. möglich, eine einfache Übersicht über alle Einträge zur Verfügung zu stellen. Weiterführende Informationen zu den einzelnen Einträgen erhält man, wenn man auf den jeweiligen Eintrag klickt.  
* <code>##approve##</code> create a link that lets you approve the current database entry (only appears if you have the rights to do this)
* <code>##more##</code> creates a link to the single view, which may contain more detailed info
* <code>##moreurl##</code> creates just the URL for the above link, useful for creating your own links. You can click on the link icon and type <code>##moreurl##</code> into URL field or in source view type <pre><a href="##moreurl##">[[fieldname]]</a></pre>
* <code>##comments##</code> creates a link to the view/edit comments page, the link text is the current number of comments (only appears if comments are turned on)
* <code>##user##</code> creates a link to the user page of the user who submitted the entry, link text is their name
* <code>##timeadded##</code>
* <code>##timemodified##</code>
* <code>##firstname##</code>
* <code>##lastname##</code>


== List template ==
Siehe [http://tracker.moodle.org/secure/attachment/23333/moodle_databse_activity_list_formatting.pdf Anleitung], wie man eine Vorlage für eine Listenansicht in Form einer Tabelle erstellt.


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.
Die Vorlage für die Listenansicht kann auch genutzt werden, um die Datenbank in eine CSV-Datei zu [[Datenbank nutzen#Datenbankeinträge exportieren|exportieren]].


See [http://tracker.moodle.org/secure/attachment/23333/moodle_databse_activity_list_formatting.pdf Designing a list view in Moodle database activity] for instructions on how to create a list template table.
== Vorlage für Einzelansicht ==
Mit dieser Vorlage legen Sie feste, wie ein einzelner Datenbankeintrag angezeigt wird. Bei dieser Einzelansicht steht Ihnen mehr Platz zur Anzeige des Eintrages zur Verfügung, und Sie können neben allen Feldern, die dieser Eintrag umfasst, auch größere Bilder als in der Listenansicht zur Verfügung stellen.


The list template can also be used as a way to [[Database export|export your database]] as a CSV file.
== Vorlage zur erweiterten Suche ==
Die Vorlage für die erweiterte Suche erlaubt eine Anpassung der Ansicht der Suchergebnisse.


== Single template ==
== Vorlage für neue Einträge ==
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.
Mit dieser Vorlage bestimmen Sie, wie die Seite aussieht, auf der Sie einen Datenbankeintrag neu hinzufügen oder bearbeiten.


[[Image:Databasesingletemplate.png]]
== Vorlage für RSS-Feed ==
Mittels der Vorlage für RSS-Feeds können Sie den Inhalt Ihres RSS-Feeds zur Datenbank bestimmen.


== Advanced search template ==
== CSS für Vorlagen ==
Wenn Sie in Ihrer Datenbank HTML-Tags verwenden, die spezielle Formatierungen via CSS benötigen, so können Sie hier die datenbankspezifische CSS-Datei bearbeiten.


An advanced search template is for creating the interface form used in the advanced search.
== JavaScript für Vorlagen ==


== Add template ==
Sie können JavaScript zur Manipulation der Elemente nutzen, die in der Listen- oder Einzelansicht sowie beim Hinzufügen von Datensätzen angezeigt werden.
Prinzipiell müssen Sie den Teil, den Sie bearbeiten möchten, in ein benanntes HTML-Element einschließen. Die Benennung ist wichtig, da sie es erlaubt, das Element bei der Bearbeitung eindeutig zu identifizieren.


This template creates the interface form used when adding or editing database entries.  
'''Beispiel''':
Sie haben ein Feld in Ihrer Datenbank, welches den Namen ein Person speichert, und wenn Sie die Namen in der Listenansicht ansehen, möchten Sie bestimmte Vorkommen von Namen zählen und das Ergebnis anzeigen lassen.


== RSS template ==
Ihre Datenbank beinhaltet nun ein Feld ''Name''. In Ihrer Listenansicht können Sie dieses Feld durch <nowiki>[[name]]</nowiki> an der Stelle anzeigen lassen, wo Sie es benötigen. Zum Beispiel haben Sie dann im Eingabebereich ''Wiederholter Bereich'' stehen:
 
Lets you control the content of the [[RSS]] feed for database entries.
 
== CSS template ==
 
If any of the [[HTML in Moodle|HTML]] in your other templates requires [[CSS]] to provide visual style you can specify it here.
 
== Javascript template ==
 
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.
 
Let's say, for example, you have a field in your database that stores a person's 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


<pre>
<pre>
Zeile 71: Zeile 62:
</pre>
</pre>


You now need to modify that entry to ensure that the part you want to manipulate is a named element.
Nun müssen Sie diesen Code bearbeiten um sicherzustellen, dass der Teil, den Sie mittels JavaScript verarbeiten möchten, ein benanntes HTML-Element ist.


<pre>
<pre>
Zeile 81: Zeile 72:
</pre>
</pre>


The footer of your list view can then contain another named element to display the result.
Im Fußzeilenbereich Ihrer Listenansicht können Sie ein weiteres benanntes Feld einfügen, um zum Beispiel das Ergebnis anzuzeigen.


<pre>
<pre>
Zeile 87: Zeile 78:
</pre>
</pre>


Your javascript template can now look as follows
Ihre JavaScript-Vorlage kann nun zum Beispiel so aussehen:


<pre>
<pre>
Zeile 105: Zeile 96:
</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.
Dieser Code zeigt eine Tabelle aller Namen in der Listenansicht an, ohne sie zu verändern. In der Fußzeile hingegen wird noch die Anzahl der Namen angezeigt, die mit ''foo'' oder ''Foo'' übereinstimmen.
 
== Reset templates button ==


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.
== Vorlagen zurücksetzen ==
Wenn Sie zum ersten Mal eine Datenbank erstellen, sind die Vorlagen mit einem entsprechenden HTML-Code gefüllt. Wenn Sie später Felder hinzufügen, dann können Sie die Schaltfläche ''Vorlage zurücksetzen'' nutzen, um eine ähnliche Standard-HTML-Formatierung zu erzeugen. Haben Sie jedoch bereits Änderungen an der Vorlage durchgeführt, dann gehen diese bei nun verloren. Daher wird empfohlen, zuerst alle Datenbankfelder anzulegen und erst zum Schluss die Vorlagen zu bearbeiten.


==See also==
== Siehe auch ==
*[[Database presets]]
* [[Vorlagensätze]]
*[http://video.google.com/videoplay?docid=7026851446099005477 Video demonstrating tag usage]
* [http://video.google.com/videoplay?docid=7026851446099005477 Video], das die Verwendung von Elementen (Tags) demonstriert


Using Moodle forum discussions:  
Diskussionsbeiträge im Kurs ''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 Look of the database module]
*[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 How can I list database information horizontally instead of vertically?]

Version vom 15. August 2012, 09:26 Uhr


Vorlagen für Datenbanken erlauben Ihnen die volle Kontrolle über das Aussehen der Datenbankeinträge, wenn Sie diese in einer Liste oder einzeln betrachten, aber auch bei der Eingabe der Einträge. Diese Funktionalität ist ähnlich wie in den Serienbrieffunktionen gängiger Textverarbeitungsprogramme. Sie verwenden Platzhalter, die später durch die eigentlichen Einträge ersetzt werden.


Verwendung von Elementen (Tags)

Der Inhalt jedes Feldes, dass Sie in Ihrer Datenbank anlegen und einige spezielle Elemente(Tags) können in die Datenbankvorlage eingearbeitet werden.

Felder werden im Format [[fieldname]] angegeben. Alle anderen Elemente(Tags) sehen so aus: ##sometag##.

Um die einzelnen Elemente (Tags), die in der Box links auf der Seite zur Verfügung stehen, Ihrer Vorlage hinzuzufügen, nutzen Sie den Editor (HTML-Modus ausgeschaltet). Positionieren Sie den Cursor an der Stelle, an der Sie eines der Felder oder Elemente einfügen möchten. Klicken Sie nun links auf den gewünschten Eintrag, und das Feld / Element wird an der korrekten Stelle übernommen. Alternativ können Sie die Platzhalter auch manuell einfügen, in dem Sie die entsprechenden Werte und die benötigten Symbole eintippen: ##this## oder [[this]].

  • ##edit## erzeugt ein anklickbares Symbol, mit dem es Ihnen möglich ist, den aktuellen Eintrag zu bearbeiten (dieses Symbol erscheint aber immer nur dann, wenn es Ihnen auf Grund Ihrer Rollenrechte gestattet ist, Einträge zu bearbeiten).
  • ##delete## erzeugt ein anklickbares Symbol, mit dem es Ihnen möglich ist, den aktuellen Eintrag zu löschen (dieses Symbol erscheint aber immer nur dann, wenn es Ihnen auf Grund Ihrer Rollenrechte gestattet ist, Einträge zu löschen).
  • ##approve## erzeugt ein anklickbares Symbol, mit dem es Ihnen möglich ist, den aktuellen Eintrag zu prüfen und freizugeben (dieses Symbol erscheint aber immer nur dann, wenn es Ihnen auf Grund Ihrer Rollenrechte gestattet ist, dies zu tun).
  • ##more## erzeugt einen Link zur Einzelansicht eines Eintrages, so können alle Informationen des Eintrages aufgerufen werden.
  • ##moreurl## erzeugt nur die URL für den oben erwähnten Link. Dies ist hilfreich, wenn Sie Ihre eigenen Links nutzen möchten. Sie können auf das Link-Symbol klicken und schreiben ##moreurl## in das URL-Feld, oder Sie schreiben im HTML-Modus
    <a href="##moreurl##">[[fieldname]]</a>
  • ##timeadded## zeigt an, wann der Eintrag hinzugefügt wurde.
  • ##timemodified## zeigt an, wann der Eintrag zum letzten Mal bearbeitet wurde.
  • ##user## erzeugt einen Link zur Profilseite des Nutzers, der diesen Eintrag erstellt hat. Als Linktext wird der Name des Nutzers verwendet.
  • ##comments## erzeugt einen Link um Kommentare anzusehen / hinzuzufügen. Als Linktext wird die aktuelle Anzahl an Kommentaren verwendet. (Dieser Link erscheint nur, wenn Kommentare in der Datenbank erlaubt sind.)

Vorlage für Liste

Mit dieser Vorlage können Sie die Ansicht der Felder und das Layout der Seite festlegen, die mehrere Einträge auf einmal anzeigt (z.B. Suchergebnisse). Mit dieser Ansicht ist es z.B. möglich, eine einfache Übersicht über alle Einträge zur Verfügung zu stellen. Weiterführende Informationen zu den einzelnen Einträgen erhält man, wenn man auf den jeweiligen Eintrag klickt.

Siehe Anleitung, wie man eine Vorlage für eine Listenansicht in Form einer Tabelle erstellt.

Die Vorlage für die Listenansicht kann auch genutzt werden, um die Datenbank in eine CSV-Datei zu exportieren.

Vorlage für Einzelansicht

Mit dieser Vorlage legen Sie feste, wie ein einzelner Datenbankeintrag angezeigt wird. Bei dieser Einzelansicht steht Ihnen mehr Platz zur Anzeige des Eintrages zur Verfügung, und Sie können neben allen Feldern, die dieser Eintrag umfasst, auch größere Bilder als in der Listenansicht zur Verfügung stellen.

Vorlage zur erweiterten Suche

Die Vorlage für die erweiterte Suche erlaubt eine Anpassung der Ansicht der Suchergebnisse.

Vorlage für neue Einträge

Mit dieser Vorlage bestimmen Sie, wie die Seite aussieht, auf der Sie einen Datenbankeintrag neu hinzufügen oder bearbeiten.

Vorlage für RSS-Feed

Mittels der Vorlage für RSS-Feeds können Sie den Inhalt Ihres RSS-Feeds zur Datenbank bestimmen.

CSS für Vorlagen

Wenn Sie in Ihrer Datenbank HTML-Tags verwenden, die spezielle Formatierungen via CSS benötigen, so können Sie hier die datenbankspezifische CSS-Datei bearbeiten.

JavaScript für Vorlagen

Sie können JavaScript zur Manipulation der Elemente nutzen, die in der Listen- oder Einzelansicht sowie beim Hinzufügen von Datensätzen angezeigt werden. Prinzipiell müssen Sie den Teil, den Sie bearbeiten möchten, in ein benanntes HTML-Element einschließen. Die Benennung ist wichtig, da sie es erlaubt, das Element bei der Bearbeitung eindeutig zu identifizieren.

Beispiel: Sie haben ein Feld in Ihrer Datenbank, welches den Namen ein Person speichert, und wenn Sie die Namen in der Listenansicht ansehen, möchten Sie bestimmte Vorkommen von Namen zählen und das Ergebnis anzeigen lassen.

Ihre Datenbank beinhaltet nun ein Feld Name. In Ihrer Listenansicht können Sie dieses Feld durch [[name]] an der Stelle anzeigen lassen, wo Sie es benötigen. Zum Beispiel haben Sie dann im Eingabebereich Wiederholter Bereich stehen:

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

Nun müssen Sie diesen Code bearbeiten um sicherzustellen, dass der Teil, den Sie mittels JavaScript verarbeiten möchten, ein benanntes HTML-Element ist.

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

Im Fußzeilenbereich Ihrer Listenansicht können Sie ein weiteres benanntes Feld einfügen, um zum Beispiel das Ergebnis anzuzeigen.

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

Ihre JavaScript-Vorlage kann nun zum Beispiel so aussehen:

 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;

Dieser Code zeigt eine Tabelle aller Namen in der Listenansicht an, ohne sie zu verändern. In der Fußzeile hingegen wird noch die Anzahl der Namen angezeigt, die mit foo oder Foo übereinstimmen.

Vorlagen zurücksetzen

Wenn Sie zum ersten Mal eine Datenbank erstellen, sind die Vorlagen mit einem entsprechenden HTML-Code gefüllt. Wenn Sie später Felder hinzufügen, dann können Sie die Schaltfläche Vorlage zurücksetzen nutzen, um eine ähnliche Standard-HTML-Formatierung zu erzeugen. Haben Sie jedoch bereits Änderungen an der Vorlage durchgeführt, dann gehen diese bei nun verloren. Daher wird empfohlen, zuerst alle Datenbankfelder anzulegen und erst zum Schluss die Vorlagen zu bearbeiten.

Siehe auch

Diskussionsbeiträge im Kurs Using Moodle: