Vorlage:Literatur nachschlagen: Unterschied zwischen den Versionen
Zur Navigation springen
Zur Suche springen
K (1 Version importiert: Import für Literatursystem von https://offene-naturfuehrer.de/web/Vorlage:Literatur) |
(→Entwicklung: Beim Drucken leere Spalten verbergen) |
||
(37 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt) | |||
Zeile 1: | Zeile 1: | ||
− | <includeonly>{{# | + | <includeonly><!-- |
− | + | ||
− | + | -->{{#vardefine: ask_query_Kategorie_Literatur|<!-- | |
− | + | -->[[Kategorie:Literatur]] [[Hat Unterobjekt::+]]<!-- | |
− | + | -->{{#if: {{{Titel|}}}| <!-- | |
− | + | -->[[Titel::~*{{{Titel|}}}*<!-- | |
− | + | -->||~*{{LC:{{{Titel|}}}}}*<!-- | |
− | -->{{#if: {{{Stichwort|}}}| [[Stichwort::~*{{ | + | -->||~*{{UC:{{{Titel|}}}}}*<!-- |
− | |mainlabel=Literaturschlüssel/Seite | + | -->||~*{{UCFIRST:{{{Titel|}}}}}*<!-- |
+ | -->]] }}<!-- | ||
+ | -->{{#if: {{{Autorenschaft|}}}| <!-- | ||
+ | -->[[Autorenschaft::~*{{{Autorenschaft|}}}*<!-- | ||
+ | -->||~*{{LC:{{{Autorenschaft|}}}}}*<!-- | ||
+ | -->||~*{{UC:{{{Autorenschaft|}}}}}*<!-- | ||
+ | -->||~*{{UCFIRST:{{{Autorenschaft|}}}}}*<!-- | ||
+ | -->]] }}<!-- | ||
+ | -->{{#if: {{{Herausgeberschaft|}}}| <!-- | ||
+ | -->[[Herausgeberschaft::~*{{{Herausgeberschaft|}}}*<!-- | ||
+ | -->||~*{{LC:{{{Herausgeberschaft|}}}}}*<!-- | ||
+ | -->||~*{{UC:{{{Herausgeberschaft|}}}}}*<!-- | ||
+ | -->||~*{{UCFIRST:{{{Herausgeberschaft|}}}}}*<!-- | ||
+ | -->]] }}<!-- | ||
+ | -->{{#if: {{{Sammelwerk|}}}| <!-- | ||
+ | -->[[Sammelwerk::~*{{{Sammelwerk|}}}*<!-- | ||
+ | -->||~*{{LC:{{{Sammelwerk|}}}}}*<!-- | ||
+ | -->||~*{{UC:{{{Sammelwerk|}}}}}*<!-- | ||
+ | -->||~*{{UCFIRST:{{{Sammelwerk|}}}}}<!-- | ||
+ | -->]] }}<!-- | ||
+ | -->{{#if: {{{Jahr|+}}}| [[Jahr::{{{Jahr|+}}}]] }}<!-- | ||
+ | BUG: ? Stichwort vom Typ Seite wird zu MySQL LIKE "mein\\_Stichwort" und findet nichts | ||
+ | (wenn die Seite nicht existiert?) daher " " mit * (also * → % LIKE "mein%Stichwort") ersetzten | ||
+ | -->{{#if: {{{Stichwort|}}}<!-- | ||
+ | DANN | ||
+ | -->|<!-- | ||
+ | -->{{#if: {{#pos: {{{Stichwort|}}}|ODER}}{{#pos: {{{Stichwort|}}}|UND}}<!-- | ||
+ | Dann: ODER / UND | ||
+ | -->|{{#if: {{#pos: {{{Stichwort|}}}|ODER}}<!-- | ||
+ | dann: enthält ODER | ||
+ | -->|[[Stichwort in Kleinschreibung::~*{{#arraymap: {{{Stichwort|}}}|ODER|@@@@|{{LC:@@@@}}|*{{!}}{{!}}~* }}*]]<!-- | ||
+ | oder: enthält UND | ||
+ | -->|<!-- | ||
+ | -->{{#arraymap: {{{Stichwort|}}}|UND|@@@@|[[Stichwort in Kleinschreibung::~*{{LC:@@@@}}*]]| }}<!-- | ||
+ | -->}}<!-- Ende pos: ODER oder UND | ||
+ | Oder: kein ODER / UND | ||
+ | -->|<!-- | ||
+ | --><!-- [[Suchstichwort::~*{{{Stichwort|}}}*]] | ||
+ | -->[[Stichwort in Kleinschreibung::~*{{LC:{{{Stichwort|}}}}}*]]<!-- | ||
+ | -->}}<!-- Ende pos: ODER / UND | ||
+ | -->}}<!-- | ||
+ | -->}}<!-- Ende vardefine | ||
+ | |||
+ | -->{{#vardefine: ask_query_Stichwort_auf_Seite|<!-- | ||
+ | |||
+ | -->{{#if: {{#pos: {{{Stichwort|}}}|ODER}}{{#pos: {{{Stichwort|}}}|UND}}<!-- | ||
+ | Dann: ODER / UND | ||
+ | -->|<!-- | ||
+ | |||
+ | -->{{#if: {{#pos: {{{Stichwort|}}}|ODER}}<!-- | ||
+ | dann: enthält ODER | ||
+ | -->|<!-- | ||
+ | -->{{#arraymap: {{{Stichwort|}}}|ODER|@@@@|[[Stichwort auf Seite::+]]<!-- [[Suchstichwort::~*@@@@*]] -->[[Stichwort in Kleinschreibung::~*{{LC:@@@@}}*]]| | ||
+ | OR | ||
+ | }}<!-- | ||
+ | oder: enthält UND | ||
+ | -->|[[Stichwort auf Seite::+]]<!-- | ||
+ | -->[[Stichwort in Kleinschreibung::{{#arraymap: {{{Stichwort|}}}|UND|@@@@|~*{{LC:@@@@}}*| {{!}}{{!}} }}]]<!-- | ||
+ | -->}}<!-- Ende pos: ODER oder UND | ||
+ | |||
+ | Oder: kein ODER / UND | ||
+ | -->|<!-- | ||
+ | -->[[Stichwort auf Seite::+]]<!-- | ||
+ | --><!--[[Suchstichwort::~*{{{Stichwort|}}}*]]--><!-- | ||
+ | -->[[Stichwort in Kleinschreibung::~*{{LC:{{{Stichwort|}}}}}*]]<!-- | ||
+ | -->}}<!-- Ende if pos: ODER / UND | ||
+ | -->}}<!-- Ende vardefine | ||
+ | |||
+ | |||
+ | |||
+ | -->{{#ask: {{#var: ask_query_Kategorie_Literatur}} | ||
+ | |mainlabel=Literaturschlüssel<br/>Seite | ||
|?Titel | |?Titel | ||
|?Autorenschaft=Autoren | |?Autorenschaft=Autoren | ||
|?Jahr | |?Jahr | ||
|?Sammelwerk | |?Sammelwerk | ||
− | |? | + | <!-- |?Suchstichwort=Stichwörter --> |
|limit=1000 | |limit=1000 | ||
|format=count | |format=count | ||
− | |outro= Ergebnisse ([[#input_search_criteria|Suche | + | |outro= Ergebnisse gefunden ([[#input_search_criteria|Suche verändern ]][[File:Find - lens (OSEG 76B729, Griffin-Mono-v3.5, apps gtk-find).svg|x22px|link=#input_search_criteria]]). <!-- |
− | -->{{#if: {{{Autorenschaft|}}}{{{Jahr|}}}{{{Sammelwerk|}}}{{{Stichwort|}}}{{{Titel|}}}<!-- | + | -->{{#if: {{{Autorenschaft|}}}{{{Jahr|}}}{{{Sammelwerk|}}}{{{Stichwort|}}}{{{Titel|}}}{{{Herausgeberschaft|}}}<!-- |
then-->|Gesucht wurde:<!-- | then-->|Gesucht wurde:<!-- | ||
else-->|(Keine Sucheinschränkung)<!-- | else-->|(Keine Sucheinschränkung)<!-- | ||
-->}} | -->}} | ||
− | }}{{#if: {{{Autorenschaft|}}}{{{Jahr|}}}{{{Sammelwerk|}}}{{{Stichwort|}}}{{{Titel|}}}<!-- | + | }}{{#if: {{{Autorenschaft|}}}{{{Jahr|}}}{{{Sammelwerk|}}}{{{Stichwort|}}}{{{Titel|}}}{{{Herausgeberschaft|}}}<!-- |
then-->| | then-->| | ||
<div class="definition-inline"><!-- | <div class="definition-inline"><!-- | ||
Zeile 27: | Zeile 98: | ||
-->{{#if: {{{Jahr|}}}|<nowiki></nowiki> | -->{{#if: {{{Jahr|}}}|<nowiki></nowiki> | ||
; Jahr : {{{Jahr|}}} }}<!-- | ; Jahr : {{{Jahr|}}} }}<!-- | ||
+ | -->{{#if: {{{Herausgeberschaft|}}}|<nowiki></nowiki> | ||
+ | ; Herausgeber : enthält „{{{Herausgeberschaft|}}}“ }}<!-- Herausgeberschaft | ||
-->{{#if: {{{Autorenschaft|}}}|<nowiki></nowiki> | -->{{#if: {{{Autorenschaft|}}}|<nowiki></nowiki> | ||
; Autorenschaft : enthält „{{{Autorenschaft|}}}“ }}<!-- | ; Autorenschaft : enthält „{{{Autorenschaft|}}}“ }}<!-- | ||
Zeile 32: | Zeile 105: | ||
; Sammelwerk/Zeitschrift : enthält „{{{Sammelwerk|}}}“ }}<!-- | ; Sammelwerk/Zeitschrift : enthält „{{{Sammelwerk|}}}“ }}<!-- | ||
-->{{#if: {{{Stichwort|}}}|<nowiki></nowiki> | -->{{#if: {{{Stichwort|}}}|<nowiki></nowiki> | ||
− | ; Stichwort : enthält „{{{Stichwort|}}}“ }}<!-- | + | ; Stichwort : enthält „{{{Stichwort|}}}“ <!-- |
+ | vorhandene Stichworte anzeigen -->{{ | ||
+ | #arraydefine: Array_Stichwortliste_Ergebnis | ||
+ | |{{#ask: {{#var: ask_query_Stichwort_auf_Seite}} <!-- | ||
+ | --> | ||
+ | |mainlabel=- | ||
+ | |?Suchstichwort# | ||
+ | |format=array|link=none|headers=hide|titles=hide | ||
+ | |sep=;|manysep=; | ||
+ | |sort=Suchstichwort | ||
+ | }} | ||
+ | |; |sort=asc, unique | ||
+ | }}<!-- | ||
+ | -->{{#vardefine: nStichworte|{{#arraysize: Array_Stichwortliste_Ergebnis}}<!-- -->}}<!-- | ||
+ | -->{{#vardefine: Stichwortliste_Ausgabe|{{ | ||
+ | #arrayprint: Array_Stichwortliste_Ergebnis |; |§ |{{ | ||
+ | #queryformlink: form=Literatur nachschlagen | ||
+ | |Literatur nachschlagen[Stichwort]=§ | ||
+ | |link text=§ | ||
+ | |query string=_run | ||
+ | |wpRunQuery=true | ||
+ | }} | ||
+ | |print=pretty | ||
+ | }} | ||
+ | }}{{ | ||
+ | #ifexpr: {{#var: nStichworte}} = 1 | ||
+ | |{{#ifeq: {{#arrayprint: Array_Stichwortliste_Ergebnis}} | {{{Stichwort|}}} <!-- | ||
+ | dann -->|<!-- nichts | ||
+ | oder -->|<br />dazu fand sich das Stichwort: {{#var: Stichwortliste_Ausgabe}} | ||
+ | }} | ||
+ | }}{{ | ||
+ | #ifexpr: {{#var: nStichworte}} > 1 | ||
+ | |<br />dazu fanden sich {{#var: nStichworte}} Stichworte insgesamt (aus der Sammlung der Ergebnisse): {{#var: Stichwortliste_Ausgabe}} | ||
+ | }}<!-- | ||
+ | -->}}<!-- Stichwort | ||
--></div> | --></div> | ||
}} | }} | ||
− | {{# | + | |
− | + | <!-- <div class="mw-collapsible mw-collapsed"> | |
− | + | Ask Abfrage DEBUG Informationen … | |
− | + | <div class="mw-collapsible-content" style="padding-left:1em;border-left:1px solid gray;"> | |
− | + | {{#tag: pre|DEBUG ask_query: {{#var: ask_query_Kategorie_Literatur}} | |
− | + | |class="debug" | |
+ | }} --><!-- | ||
+ | |||
+ | --><!-- {{#tag: pre|DEBUG ask_query: {{#var: ask_query_Stichwort_auf_Seite}} | ||
+ | |class="debug" | ||
}} | }} | ||
− | + | </div> | |
− | <div | + | </div> --><!-- Ende DEBUG --> |
− | + | Tabellenergebnis: | |
− | + | <div style="max-height:400px; overflow-y:scroll" id="Literatur_Tabellenergebnis" class="Literatur-Ergebnistabelle">{{#ask: {{#var: ask_query_Kategorie_Literatur}} | |
− | + | |mainlabel=Literaturschlüssel<br/>Seite | |
− | |||
− | |||
− | |||
− | |||
− | |mainlabel=Literaturschlüssel/Seite | ||
|?Titel | |?Titel | ||
|?Autorenschaft=Autoren | |?Autorenschaft=Autoren | ||
+ | |?Herausgeberschaft=Herausgeber | ||
|?Jahr | |?Jahr | ||
|?Sammelwerk | |?Sammelwerk | ||
− | |? | + | |?Band |
− | | | + | |?Auflage |
+ | |limit=100 | ||
+ | |default= ''Keine Einträge gefunden'' | ||
|class=sortable booktabledotted smwtable jquery-tablesorter vertical-align-top | |class=sortable booktabledotted smwtable jquery-tablesorter vertical-align-top | ||
+ | }}</div><!-- | ||
+ | |||
+ | Um selbige Suchergebisse vermittels COinSPAN anzubieten (könnten versteckt sein, aber besser sichtbar, zum Herauskopieren) für Literatur-Import in Literaturprogramm (Zotero-Browser-Erweiterung sollte dies erkennen) | ||
+ | --> | ||
+ | <hr class="Literatur-Ergebnistext"/> | ||
+ | Ergebnis als Literaturverzeichnis sortiert: | ||
+ | <div style="max-height:400px; overflow-y:scroll;" class="Literatur-Ergebnistext">{{#ask: {{#var: ask_query_Kategorie_Literatur}} | ||
+ | |format=list | ||
+ | |sep=  | ||
+ | |sort=Sortierschlüssel | ||
+ | |mainlabel=- | ||
+ | |link=none | ||
+ | |default= ''Keine Einträge gefunden'' | ||
+ | |limit=100 | ||
+ | |?Formatierte Literaturausgabe (Kapitälchen)#= | ||
}}</div><!-- | }}</div><!-- | ||
− | --></includeonly><noinclude><!-- | + | --><div class="noprint block">{{Literatur erstellen oder bearbeiten}}</div> |
+ | </includeonly><noinclude><!-- | ||
--> | --> | ||
Zu benutzen für [[Spezial:Abfrage ausführen/Literatur nachschlagen]] welches das [[Formular: Literatur nachschlagen]] und diese Vorlage benutzt. Es wird eine #ask Abfrage ausgeführt, die mittels [[Formular: Literatur nachschlagen]] mit Suchwörtern befüllt werden kann. | Zu benutzen für [[Spezial:Abfrage ausführen/Literatur nachschlagen]] welches das [[Formular: Literatur nachschlagen]] und diese Vorlage benutzt. Es wird eine #ask Abfrage ausgeführt, die mittels [[Formular: Literatur nachschlagen]] mit Suchwörtern befüllt werden kann. | ||
− | == Parameter == | + | == Vorlagenbeiwerte (Parameter) == |
<div class="definition-inline"> | <div class="definition-inline"> | ||
− | ; Titel= : Titel eines Literatureintrages | + | ; |Titel= : Titel eines Literatureintrages |
− | ; Autorenschaft= : Autorenschaft eines Literatureintrages | + | ; |Autorenschaft= : Autorenschaft eines Literatureintrages |
− | ; Sammelwerk= : Sammelwek/Zeitschrift eines Literatureintrages | + | ; |Herausgeberschaft= : Herausgeberschaft eines Literatureintrages (Suche: klein, GROß, Substantiviert) |
− | ; Jahr= : Jahr eines Literatureintrages | + | ; |Sammelwerk= : Sammelwek/Zeitschrift eines Literatureintrages |
− | ; Stichwort= : Stichwort eines Literatureintrages | + | ; |Jahr= : Jahr eines Literatureintrages |
+ | ; |Stichwort= : Stichwort eines Literatureintrages | ||
</div> | </div> | ||
== Abhängigkeiten == | == Abhängigkeiten == | ||
+ | * [[Vorlage: Literatur erstellen oder bearbeiten]] | ||
* [[Vorlage: Fix Datentyp-Seite-Suche für Attribut]] | * [[Vorlage: Fix Datentyp-Seite-Suche für Attribut]] | ||
+ | * [[Datei:Find - lens (OSEG 76B729, Griffin-Mono-v3.5, apps gtk-find).svg|x22px]] [[:Datei:Find - lens (OSEG 76B729, Griffin-Mono-v3.5, apps gtk-find).svg]] | ||
+ | |||
+ | |||
+ | * [[Formular: Literatur nachschlagen]] | ||
+ | * [[Vorlage: Literatur erstellen oder bearbeiten]] | ||
+ | * [[Vorlage: Literatur]] | ||
+ | * [[mediawikiwiki: Extension:Semantic MediaWiki|Extension:Semantic MediaWiki]] | ||
+ | * [[mediawikiwiki: Extension:Semantic Forms|Extension:Semantic Forms]] bzw. spätere Versionen: [[mediawikiwiki: Extension:Page Forms|Extension:Page Forms]] | ||
+ | * [[mediawikiwiki: Extension:Arrays|Extension:Arrays]] | ||
+ | * [[mediawikiwiki: Extension:Variables|Extension:Variables]] | ||
+ | |||
+ | === CSS === | ||
+ | |||
+ | <syntaxhighlight lang="css"> | ||
+ | @media print { | ||
+ | div.Literatur-Ergebnistabelle, | ||
+ | div.Literatur-Ergebnistext { | ||
+ | max-height:unset!important; | ||
+ | overflow-y:unset!important; | ||
+ | } | ||
+ | hr.Literatur-Ergebnistext { page-break-before: always; } | ||
+ | .noprint.block { display: none; } | ||
+ | .pf-runquery-formcontent {display:none;} /* das Abfrageformular selbst */ | ||
+ | } | ||
+ | </syntaxhighlight> | ||
+ | |||
+ | == Entwicklung == | ||
+ | |||
+ | '''Beim Drucken leere Spalten verbergen''' – Mit folgendem JavaScript kann man leere Spalten auf <code>display:none;</code> umschalten, er ist verändert nach [https://stackoverflow.com/a/62030750 Pauls Antwort zur Frage “Removing empty column in html table using jQuery” (26. Mai 26, 2020 um 20:20 stackoverflow.com)]: | ||
+ | <syntaxhighlight lang="javascript"> | ||
+ | function removeEmptyColumns() { | ||
+ | $('#Literatur_Tabellenergebnis table tr th').each(function(i) { | ||
+ | //select all td in this column | ||
+ | var tds = $(this).parents('table') | ||
+ | .find(`tr td:nth-child(${i + 1})`); | ||
+ | // check if all the cells in this column are empty | ||
+ | // Note: Empty strings return 'false' - trim whitespace before. | ||
+ | if (tds.toArray().every(td => !td.textContent.trim())) { | ||
+ | //hide header | ||
+ | $(this).hide(); | ||
+ | //hide cells | ||
+ | tds.hide(); | ||
+ | } | ||
+ | }); | ||
+ | } | ||
+ | </syntaxhighlight> | ||
[[Kategorie: Semantisches Wiki]] | [[Kategorie: Semantisches Wiki]] | ||
− | [[Kategorie: | + | [[Kategorie: Formular]] |
</noinclude> | </noinclude> |
Aktuelle Version vom 28. September 2023, 17:59 Uhr
Zu benutzen für Spezial:Abfrage ausführen/Literatur nachschlagen welches das Formular: Literatur nachschlagen und diese Vorlage benutzt. Es wird eine #ask Abfrage ausgeführt, die mittels Formular: Literatur nachschlagen mit Suchwörtern befüllt werden kann.
Vorlagenbeiwerte (Parameter)
- |Titel=
- Titel eines Literatureintrages
- |Autorenschaft=
- Autorenschaft eines Literatureintrages
- |Herausgeberschaft=
- Herausgeberschaft eines Literatureintrages (Suche: klein, GROß, Substantiviert)
- |Sammelwerk=
- Sammelwek/Zeitschrift eines Literatureintrages
- |Jahr=
- Jahr eines Literatureintrages
- |Stichwort=
- Stichwort eines Literatureintrages
Abhängigkeiten
- Vorlage: Literatur erstellen oder bearbeiten
- Vorlage: Fix Datentyp-Seite-Suche für Attribut
- Datei:Find - lens (OSEG 76B729, Griffin-Mono-v3.5, apps gtk-find).svg
- Formular: Literatur nachschlagen
- Vorlage: Literatur erstellen oder bearbeiten
- Vorlage: Literatur
- Extension:Semantic MediaWiki
- Extension:Semantic Forms bzw. spätere Versionen: Extension:Page Forms
- Extension:Arrays
- Extension:Variables
CSS
@media print {
div.Literatur-Ergebnistabelle,
div.Literatur-Ergebnistext {
max-height:unset!important;
overflow-y:unset!important;
}
hr.Literatur-Ergebnistext { page-break-before: always; }
.noprint.block { display: none; }
.pf-runquery-formcontent {display:none;} /* das Abfrageformular selbst */
}
Entwicklung
Beim Drucken leere Spalten verbergen – Mit folgendem JavaScript kann man leere Spalten auf display:none;
umschalten, er ist verändert nach Pauls Antwort zur Frage “Removing empty column in html table using jQuery” (26. Mai 26, 2020 um 20:20 stackoverflow.com):
function removeEmptyColumns() {
$('#Literatur_Tabellenergebnis table tr th').each(function(i) {
//select all td in this column
var tds = $(this).parents('table')
.find(`tr td:nth-child(${i + 1})`);
// check if all the cells in this column are empty
// Note: Empty strings return 'false' - trim whitespace before.
if (tds.toArray().every(td => !td.textContent.trim())) {
//hide header
$(this).hide();
//hide cells
tds.hide();
}
});
}