Vorlage:Autorenbox: Unterschied zwischen den Versionen

Aus ZUM-Unterrichten
(TYPO)
Markierung: 2017-Quelltext-Bearbeitung
KKeine Bearbeitungszusammenfassung
Markierung: 2017-Quelltext-Bearbeitung
(17 dazwischenliegende Versionen von 2 Benutzern werden nicht angezeigt)
Zeile 1: Zeile 1:
Diese Vorlage erzeugt eine Information über den Erstautor und das Datum der letzten Bearbeitung der Seite, auf der die Vorlage eingebunden wird.
Diese Vorlage erzeugt eine Information über die Autoren der Seite und das Datum der letzten Bearbeitung der Seite, auf der die Vorlage eingebunden wird.




== Parameter ==
==Parameter==


; <code>mit_unterseiten</code>
;<code>artikel</code>
: zusätzlich werden Autoren und Änderungen aller Unterseiten berücksichtigt.
:Zeige die Autorenbox für den genannten Artikel, statt der akt. Seite an
:; 0 : nein
:; 1 : ja


; <code>kategorie</code>
;<code>mit_unterseiten</code>
: zusätzlich werden Autoren und Änderungen aller Seiten der Kategorie berücksichtigt. Weitere Informationen befinden sich in der [http://followthescore.org/dpldemo/index.php?title=DPL:Manual_-_DPL_parameters:_Criteria_for_page_selection#category DPL Dokumentation für <code>category</code>].
:zusätzlich werden Autoren und Änderungen aller Unterseiten berücksichtigt.
:;0 :nein
:;1 :ja


== Beispiele ==
;<code>kategorie</code>
:zusätzlich werden Autoren und Änderungen aller Seiten der Kategorie berücksichtigt. Weitere Informationen befinden sich in der [http://followthescore.org/dpldemo/index.php?title=DPL:Manual_-_DPL_parameters:_Criteria_for_page_selection#category DPL Dokumentation für <code>category</code>].
 
==Beispiele==


;Benutzung
;Benutzung
: <pre>{{Autorenbox}}</pre>
:<pre>{{Autorenbox}}</pre>
;Ergebnis
;Ergebnis
: {{Autorenbox}}
:{{Autorenbox}}
 
;Benutzung
;Benutzung
: <pre>{{Autorenbox|kategorie=Ethik}}</pre>  
:<pre>{{Autorenbox|kategorie=Ethik}}</pre>
;Ergebnis
;Ergebnis
: <small>Es wird nur der aktuelle Namensraum berücksichtigt, deshalb ist das Beispiel sehr leer.</small>
:{{Autorenbox|kategorie=Ethik}}
: {{Autorenbox|kategorie=Ethik}}
 
;Benutzung
;Benutzung
: <pre>{{Autorenbox|mit_unterseiten=ja}}</pre>
:<pre>{{Autorenbox|mit_unterseiten=ja}}</pre>
;Ergebnis
;Ergebnis
: <small>Die Vorlage hat keine Unterseiten, deshalb ist das Beispiel sehr leer.</small>
:<small>Die Vorlage hat keine Unterseiten, deshalb ist das Beispiel sehr leer.</small>
: {{Autorenbox|mit_unterseiten=ja}}
:{{Autorenbox|mit_unterseiten=ja}}
 
 
<onlyinclude><includeonly>
<!-- BEGIN: Wir suchen den ersten Autor der Seite -->
{{#vardefine:Autorenbox_Autor|}}
<!-- wir suchen nach allen Versionen vor der aktuellen Zeit. Wir wollen nur ein Ergebnis und benutzen ein Userformat um die Variable Autorenbox_Autor zu setzen.  -->
{{#dpl:
  | noresultsheader=&nbsp;
  | title={{PAGENAME}}
  | allrevisionsbefore={{CURRENTTIMESTAMP}}
  | namespace={{NAMESPACE}}
  | skipthispage=no
  | format=,²{#vardefine:Autorenbox_Autor¦²{RepariereNutzername¦%USER%}²}²,
  | addauthor=true
  | count=1
}}
<!-- END: Wir suchen den ersten Autor der Seite -->
{{#if: {{{kategorie|}}}
|
<!-- BEGIN: Liste aller Autoren in der Kategorie -->
{{#vardefine:Autorenbox_lastmodified|}}
{{#vardefine:Autorenbox_lastmodified_tmp|0}}
{{#dpl:
| noresultsheader=&nbsp;
| category={{{kategorie}}}
| namespace={{NAMESPACE}}
| skipthispage=no
| userdateformat=U
| ordermethod=lastedit
| addeditdate=true
| minoredits=exclude
| format=,²{#ifexpr: ²{#var:Autorenbox_lastmodified_tmp}² < %DATE% ¦²{#vardefine:Autorenbox_lastmodified_tmp¦%DATE%}²}²,
| distinct=true}}
{{#vardefine:Autorenbox_lastmodified|{{#var:Autorenbox_lastmodified_tmp|}}}}
<div class="uk-panel uk-panel-box uk-panel-box-primary zum-hintergrund-links zum-farbe-xx-heller">
'''Autoren:'''
<small class="uk-align-right">aktualisiert im {{#time: F Y | {{#if:{{#var:Autorenbox_lastmodified|}}|@{{#var:Autorenbox_lastmodified|}}|{{REVISIONYEAR}}-{{REVISIONMONTH}}-{{REVISIONDAY}}}}}}</small>
<div class="uk-flex uk-flex-wrap uk-width-1-1">
{{Nutzerkarte|{{#var:Autorenbox_Autor}}}}
<!--
 
Die Variable `Autorenbox_Nutzerliste` wird verwendet um Duplikate zu vermeiden.
Der DPL Aufruf liefert jeden Autor jeder Revision, das sind natürlich viele Duplikate.
Im DPL format prüfen wir erst ob der aktuell gefundene %USER% bereits in der Variable vorkommt.
Wenn ja, geben wir nix aus. Wenn nein fügen wir ihn hinzu und geben die Nutzerkarte aus.
 
In der Liste werden die Namen mit `>>` `<<` umrahmt um nicht zufälligerweise Benutzer welche aus Namen anderer Benutzer zusammengesetzt sind auszuschließen. Z.B. ein Nutzer heißt Franz, einer heißt Bergmann und ein dritter heißt FranzBergmann. Würden wir nur einfach den Namen Suchen könnte ein bereits gefundener FranzBergmann die Anzeige sowohl von Benutzer Franz als auch von Benutzer Bergmann verhindern (da beide Namen ja bereits vorkommen als Bestandteile von FranzBergmann. Die Umrahmung mit `>>` und `<<` verhindert dies.
 
Der DPL Aufruf kommt bei importierten Seiten zu falschen Nutzernamen (NAMENSRAUM>Benutzername). Deshalb muss immer %USER% durch {{RepariererNutzername}} repariert werden.


-->
{{#vardefine:Autorenbox_Nutzerliste|>>{{RepariereNutzername | {{#var:Autorenbox_Autor}}}}<<}}{{#dpl:
| noresultsheader=&nbsp;
| category={{{kategorie}}}
| allrevisionsbefore={{CURRENTTIMESTAMP}}
| namespace={{NAMESPACE}}
| skipthispage=no
| ordermethod=lastedit
| minoredits=exclude
| format=,²{#if: ²{#pos: ²{#var:Autorenbox_Nutzerliste¦}²¦>>²{RepariereNutzername¦%USER%}²<<}²¦¦²{#vardefine:Autorenbox_Nutzerliste¦²{#var:Autorenbox_Nutzerliste¦}²>>²{RepariereNutzername¦%USER%}²<<}²²{Nutzerkarte¦²{RepariereNutzername¦%USER%}²}²}²,
| adduser=true
| distinct=true
}}
<!-- END: Liste aller Autoren in der Kategorie -->
|
<!-- BEGIN: Liste aller Autoren auf der Seite (evtl. inklusive Unterseiten) -->
{{#vardefine:Autorenbox_lastmodified|}}
{{#vardefine:Autorenbox_lastmodified_tmp|0}}
{{#dpl:
| noresultsheader=&nbsp;
| titlematch={{PAGENAME}}{{#ifeq:{{{mit_unterseiten|}}}|1|{{!}}{{PAGENAME}}/%}}
| namespace={{NAMESPACE}}
| skipthispage=no
| userdateformat=U
| ordermethod=lastedit
| addeditdate=true
| minoredits=exclude
| format=,²{#ifexpr: ²{#var:Autorenbox_lastmodified_tmp}² < %DATE% ¦²{#vardefine:Autorenbox_lastmodified_tmp¦%DATE%}²}²,
| distinct=true}}
{{#vardefine:Autorenbox_lastmodified|{{#var:Autorenbox_lastmodified_tmp|}}}}
<div class="uk-panel uk-panel-box uk-panel-box-primary zum-hintergrund-links zum-farbe-xx-heller">
'''Autoren:'''
<small class="uk-align-right">aktualisert im {{#time: F Y | {{#if:{{#var:Autorenbox_lastmodified|}}|@{{#var:Autorenbox_lastmodified|}}|{{REVISIONYEAR}}-{{REVISIONMONTH}}-{{REVISIONDAY}}}}}}</small>
<div class="uk-flex uk-flex-wrap uk-width-1-1">
{{Nutzerkarte|{{#var:Autorenbox_Autor}}}}
{{#vardefine:Autorenbox_Nutzerliste|>>{{RepariereNutzername|{{#var:Autorenbox_Autor}}}}<<}}{{#dpl:
| noresultsheader=&nbsp;
| titlematch={{PAGENAME}}{{#ifeq:{{{mit_unterseiten|}}}|1|{{!}}{{PAGENAME}}/%}}
| allrevisionsbefore={{CURRENTTIMESTAMP}}
| namespace={{NAMESPACE}}
| skipthispage=no
| ordermethod=lastedit
| minoredits=exclude
| format=,²{#if: ²{#pos: ²{#var:Autorenbox_Nutzerliste¦}²¦>>²{RepariereNutzername¦%USER%}²<<}²¦¦²{#vardefine:Autorenbox_Nutzerliste¦²{#var:Autorenbox_Nutzerliste¦}²>>²{RepariereNutzername¦%USER%}²<<}²²{Nutzerkarte¦²{RepariereNutzername¦%USER%}²}²}²,
| adduser=true
| distinct=true
}}
<!-- END: Liste aller Autoren auf der Seite (evtl. inklusive Unterseiten) -->
}}
</div>
</div>


</includeonly></onlyinclude>
<onlyinclude><includeonly>{{#widget:Autorenbox|kategorie={{{kategorie|}}}|mit_unterseiten={{{mit_unterseiten|}}}|artikel={{{artikel|}}}}}</includeonly></onlyinclude>
<noinclude>
<templatedata>
{
"params": {
"kategorie": {
"label": "Kategorie",
"type": "string",
"description": "Autoren und Änderungen aller Seiten der Kategorie werden berücksichtigt. Wenn Kategorie gesetzt ist wird der Parmaeter mit_unterseiten ignoriert."
},
"mit_unterseiten": {
"label": "Mit Unterseiten",
"description": "Autoren und Änderungen der aktuellen Seite sowie aller Unterseiten werden berücksichtigt.",
"type": "boolean"
}
},
"format": "inline",
"description": "Diese Vorlage erzeugt eine Information über den Erstautor und das Datum der letzten Bearbeitung der Seite, auf der die Vorlage eingebunden wird."
}
</templatedata>
</noinclude>

Version vom 15. November 2021, 20:39 Uhr

Diese Vorlage erzeugt eine Information über die Autoren der Seite und das Datum der letzten Bearbeitung der Seite, auf der die Vorlage eingebunden wird.


Parameter

artikel
Zeige die Autorenbox für den genannten Artikel, statt der akt. Seite an
mit_unterseiten
zusätzlich werden Autoren und Änderungen aller Unterseiten berücksichtigt.
0
nein
1
ja
kategorie
zusätzlich werden Autoren und Änderungen aller Seiten der Kategorie berücksichtigt. Weitere Informationen befinden sich in der DPL Dokumentation für category.

Beispiele

Benutzung
{{Autorenbox}}
Ergebnis
Benutzung
{{Autorenbox|kategorie=Ethik}}
Ergebnis
Benutzung
{{Autorenbox|mit_unterseiten=ja}}
Ergebnis
Die Vorlage hat keine Unterseiten, deshalb ist das Beispiel sehr leer.