Vorlage:Literatur nachschlagen: Unterschied zwischen den Versionen

Aus Open Source Ecology - Germany
Zur Navigation springen Zur Suche springen
(fix 1 Stichwort)
(→‎Entwicklung: Beim Drucken leere Spalten verbergen)
 
(21 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt)
Zeile 1: Zeile 1:
<includeonly>{{#ask:[[Kategorie:Literatur]]<!--  
+
<includeonly><!--
-->[[Titel::+]] <!-- Subobjects sollten nicht kommen
+
 
-->{{#if: {{{Autorenschaft|}}}| [[Autorenschaft::~*{{{Autorenschaft|}}}*]] }}<!--  
+
-->{{#vardefine: ask_query_Kategorie_Literatur|<!--
-->{{#if: {{{Jahr|}}}| [[Jahr::{{{Jahr|+}}}]] }}<!--  
+
  -->[[Kategorie:Literatur]] [[Hat Unterobjekt::+]]<!--
-->{{#if: {{{Sammelwerk|}}}| [[Sammelwerk::~*{{{Sammelwerk|}}}*]] }}<!--  
+
  -->{{#if: {{{Titel|}}}| <!--  
-->{{#if: {{{Titel|}}}| [[Titel::~*{{{Titel|}}}*]] }}<!--  
+
    -->[[Titel::~*{{{Titel|}}}*<!--
    BUG: ? Stichwort vom Typ Seite wird zu MySQL LIKE "mein\\_Stichwort" und findet nichts  
+
    -->||~*{{LC:{{{Titel|}}}}}*<!--
    (wenn die Seite nicht existiert?) daher " " mit * (also * → % LIKE "mein%Stichwort") ersetzten
+
    -->||~*{{UC:{{{Titel|}}}}}*<!--
-->{{#if: {{{Stichwort|}}}| [[Suchstichwort::{{{Stichwort|}}}]] <!--
+
    -->||~*{{UCFIRST:{{{Titel|}}}}}*<!--
  -->OR [[Stichwort in Kleinschreibung::~*{{LC:{{{Stichwort|}}}}}*]] <!--
+
    -->]] }}<!--  
-->}} [[Hat Unterobjekt::+]]
+
  -->{{#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
 
|mainlabel=Literaturschlüssel<br/>Seite
 
|?Titel
 
|?Titel
Zeile 15: Zeile 83:
 
|?Jahr
 
|?Jahr
 
|?Sammelwerk
 
|?Sammelwerk
|?Suchstichwort=Stichwörter
+
<!-- |?Suchstichwort=Stichwörter -->
 
|limit=1000
 
|limit=1000
 
|format=count
 
|format=count
|outro=&#32;Ergebnisse ([[#input_search_criteria|Suche modifizieren&nbsp;]][[File:Find - lens (OSEG 76B729, Griffin-Mono-v3.5, apps gtk-find).svg|x22px|link=#input_search_criteria]]). <!--
+
|outro=&#32;Ergebnisse gefunden ([[#input_search_criteria|Suche verändern&nbsp;]][[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 30: 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 38: Zeile 108:
 
   vorhandene Stichworte anzeigen  -->{{
 
   vorhandene Stichworte anzeigen  -->{{
 
   #arraydefine: Array_Stichwortliste_Ergebnis
 
   #arraydefine: Array_Stichwortliste_Ergebnis
     |{{#ask:[[Stichwort auf Seite::+]]<!--
+
     |{{#ask: {{#var: ask_query_Stichwort_auf_Seite}} <!--
    --> [[Suchstichwort::~*{{LC:{{{Stichwort|}}}}}*]] <!--
 
 
  -->
 
  -->
 
     |mainlabel=-
 
     |mainlabel=-
 
     |?Suchstichwort#
 
     |?Suchstichwort#
 
     |format=array|link=none|headers=hide|titles=hide
 
     |format=array|link=none|headers=hide|titles=hide
     |sep=;
+
     |sep=;|manysep=;
 
     |sort=Suchstichwort
 
     |sort=Suchstichwort
 
     }}
 
     }}
Zeile 68: Zeile 137:
 
   }}{{
 
   }}{{
 
   #ifexpr: {{#var: nStichworte}} > 1
 
   #ifexpr: {{#var: nStichworte}} > 1
   |<br />dazu fanden sich {{#var: nStichworte}} Stichworte: {{#var: Stichwortliste_Ausgabe}}
+
   |<br />dazu fanden sich {{#var: nStichworte}} Stichworte insgesamt (aus der Sammlung der Ergebnisse): {{#var: Stichwortliste_Ausgabe}}
 }}<!--  
+
  }}<!--  
 
-->}}<!-- Stichwort
 
-->}}<!-- Stichwort
 
  --></div>
 
  --></div>
 
}}
 
}}
  
<div style="max-height:400px; overflow-y:scroll">{{#ask:[[Kategorie:Literatur]]<!--  
+
<!-- <div class="mw-collapsible mw-collapsed">
-->[[Titel::+]]<!-- Subobjects sollten nicht kommen
+
Ask Abfrage DEBUG Informationen …
-->{{#if: {{{Titel|}}}| [[Titel::~*{{{Titel|}}}*]] }}<!--  
+
<div class="mw-collapsible-content" style="padding-left:1em;border-left:1px solid gray;">
-->{{#if: {{{Autorenschaft|}}}| [[Autorenschaft::~*{{{Autorenschaft|}}}*]] }}<!--
+
{{#tag: pre|DEBUG ask_query: {{#var: ask_query_Kategorie_Literatur}}
-->{{#if: {{{Sammelwerk|}}}| [[Sammelwerk::~*{{{Sammelwerk|}}}*]] }}<!--  
+
|class="debug"
-->{{#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
+
--><!-- {{#tag: pre|DEBUG ask_query: {{#var: ask_query_Stichwort_auf_Seite}}
-->{{#if: {{{Stichwort|}}}| [[Suchstichwort::{{{Stichwort|}}}]] <!--
+
|class="debug"
-->OR [[Stichwort in Kleinschreibung::~*{{LC:{{{Stichwort|}}}}}*]] <!--
+
}}
-->}} [[Hat Unterobjekt::+]]
+
</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<br/>Seite
 
|?Titel
 
|?Titel
 
|?Autorenschaft=Autoren
 
|?Autorenschaft=Autoren
 +
|?Herausgeberschaft=Herausgeber
 
|?Jahr
 
|?Jahr
 
|?Sammelwerk
 
|?Sammelwerk
|limit=1000
+
|?Band
 +
|?Auflage
 +
|limit=100
 +
|default=&nbsp;&nbsp; ''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=&#32;
 +
      |sort=Sortierschlüssel
 +
      |mainlabel=-
 +
      |link=none
 +
      |default=&nbsp;&nbsp; ''Keine Einträge gefunden''
 +
      |limit=100
 +
      |?Formatierte Literaturausgabe (Kapitälchen)#=
 
}}</div><!--  
 
}}</div><!--  
  -->{{Literatur erstellen oder bearbeiten}}
+
  --><div class="noprint block">{{Literatur erstellen oder bearbeiten}}</div>
 
</includeonly><noinclude><!--  
 
</includeonly><noinclude><!--  
  
Zeile 99: Zeile 190:
 
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>
  
Zeile 113: Zeile 205:
 
* [[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]]
 
* [[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: Formular]]
 
[[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


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();
    }
  });
}