Zum Inhalt springen

Vorlage:Veranstaltung: Unterschied zwischen den Versionen

Aus Flora von Bayern
imported>Iris Leininger
Keine Bearbeitungszusammenfassung
imported>Andreas Plank
K Teste tatsächliches Ende Datum mit Unix timestamp
 
(7 dazwischenliegende Versionen von 2 Benutzern werden nicht angezeigt)
Zeile 30: Zeile 30:
* [https://www.mediawiki.org/wiki/Extension:Semantic_Forms Extension:Semantic Forms]
* [https://www.mediawiki.org/wiki/Extension:Semantic_Forms Extension:Semantic Forms]
* [https://www.mediawiki.org/wiki/Extension:Semantic_Maps Extension: Semantic Maps]
* [https://www.mediawiki.org/wiki/Extension:Semantic_Maps Extension: Semantic Maps]
==== Attribute ====
* [[Attribut: ical:summary escaped]]
* [[Attribut: ical:dtstart]] (lokal eingegebene Zeit einschließlich Zeitverschiebung aber ''unkorrekte'' Weltzeit)
* [[Attribut: ical:dtend]] (lokal eingegebene Zeit einschließlich Zeitverschiebung aber ''unkorrekte'' Weltzeit)
* [[Attribut: ical:dtstart-utc]] (auf korrekte Weltzeit berechnet)
* [[Attribut: ical:dtend-utc]] (auf korrekte Weltzeit berechnet)
* [[Attribut: ical:location]]
* [[Attribut: ical:description]]
* [[Attribut: ical:location escaped]] (wahrscheinlich beim Export nicht mehr nötig)
* [[Attribut: ical:description escaped]] (wahrscheinlich beim Export nicht mehr nötig)
* [[Attribut: ical:contact]]
* [[Attribut: Referent]]
* [[Attribut: ical:comment]]
==== CSS ====
Für [[MediaWiki:Print.css]]
<syntaxhighlight lang="css">
/* Vorlage:Veranstaltung */
.leaflet-control { display:none; }
#map_leaflet_1 { width:100%!important; }
</syntaxhighlight>




Zeile 63: Zeile 87:
   semantische Eigenschaften
   semantische Eigenschaften
#############################
#############################
-->{{#default_form:Veranstaltung}}<!--
  Attribut veraltet in Nachfolge Extension:Page Forms
  [[Has default form::Veranstaltung| ]]
-->{{#vardefine: unixDateTimeStart | {{#timel: U|{{{Datum und Zeit|}}}}}<!---->}}<!--
-->{{#vardefine: unixDateTimeEnd |  {{#if: {{{Datum und Zeit Ende|}}} | {{#timel: U|{{{Datum und Zeit Ende|}}}}} | 0}} <!---->}}<!--


-->{{#if: {{{Art der Veranstaltung|}}}|[[Art der Veranstaltung::{{{Art der Veranstaltung|}}}| ]]}}<!-- if end
-->{{#if: {{{Art der Veranstaltung|}}}|[[Art der Veranstaltung::{{{Art der Veranstaltung|}}}| ]]}}<!-- if end
Zeile 68: Zeile 98:
-->[[ical:summary escaped::<!--  
-->[[ical:summary escaped::<!--  
     -->{{ParseTextValue4ical|1={{StripFormatting|1={{#replace:{{PAGENAME}}|&#34;|"}}}}}}<!-- -->| ]]<!--
     -->{{ParseTextValue4ical|1={{StripFormatting|1={{#replace:{{PAGENAME}}|&#34;|"}}}}}}<!-- -->| ]]<!--
  -->[[ical:dtstart::{{{Datum und Zeit|}}}| ]]<!--  
  -->[[ical:dtstart::{{{Datum und Zeit|}}}| ]]<!--  
   ical:dtend immer setzten für Google Kalender?
   ical:dtend immer setzten für Google Kalender?
  -->[[ical:dtend::{{#if: {{{Datum und Zeit Ende|}}}<!-- dann -->|{{{Datum und Zeit Ende|}}}<!-- sonst -->|{{{Datum und Zeit|}}}}}| ]]<!--  
  -->[[ical:dtend::{{#ifexpr: {{#var: unixDateTimeEnd}} >= {{#var: unixDateTimeStart}}<!--
dann  -->|{{{Datum und Zeit Ende|}}}<!--  
sonst -->|{{{Datum und Zeit|}}}}}<!--
-->| ]]<!--
 
  für UTC: Globale Zeit berechnen, Zeitverschiebung aus timel berechnen
-->[[ical:dtstart-utc::{{#timel:c|{{{Datum und Zeit|}}}<!--
    und Zeitverschiebung -->{{#sub:{{#timel: c|{{{Datum und Zeit|}}}}}|-6}}<!--
  -->}}<!--
-->| ]]<!--
  ical:dtend immer setzten für Google Kalender?
-->[[ical:dtend-utc::{{#ifexpr: {{#var: unixDateTimeEnd}} >= {{#var: unixDateTimeStart}}<!--
    dann -->|<!--
    -->{{#timel:c|{{{Datum und Zeit Ende|}}}<!-- und Zeitverschiebung
        -->{{#sub:{{#timel: c|{{{Datum und Zeit Ende|}}}}}|-6}}<!--
    -->}}<!-- timel
    sonst -->|<!--
    -->{{#timel:c|{{{Datum und Zeit|}}}<!-- und Zeitverschiebung
        -->{{#sub:{{#timel: c|{{{Datum und Zeit|}}}}}|-6}}<!--
    -->}}<!-- timel
  -->}}<!--
-->| ]]<!--  
 
  -->{{#if: {{{Ansprechpartner|}}}<!-- dann -->|{{#arraymap: {{{Ansprechpartner|}}}<!-- values
  -->{{#if: {{{Ansprechpartner|}}}<!-- dann -->|{{#arraymap: {{{Ansprechpartner|}}}<!-- values
   -->|;<!-- split on ;
   -->|;<!-- split on ;
Zeile 117: Zeile 170:
  Ausgabe
  Ausgabe
#############################
#############################
-->{{#if: {{{Art der Veranstaltung|}}}|{{{Art der Veranstaltung|}}} am&#32;|''Wann:''&#32;}}<!--  
-->{{#if: {{{Art der Veranstaltung|}}}|{{{Art der Veranstaltung|}}} am&#32;|''Wann:''&#32;}}<!--  
 
  Anfang Datum & Ende Datum
-->{{#if: {{{Datum und Zeit|}}}<!--  
-->{{#if: {{{Datum und Zeit|}}}<!--  
     dann 
     DANN -->|<!--
-->|{{#time: l, j. F Y|{{{Datum und Zeit|}}}}}<!--  
  -->{{#time: l, j. F Y|{{{Datum und Zeit|}}}}}<!--  
   -->{{#if: {{{Datum und Zeit Ende|}}}<!--  
   -->{{#if: {{{Datum und Zeit Ende|}}}<!--  
       dann Datum Anfang == Datum Ende ?
       DANN Datum Anfang == Datum Ende ? -->|<!--
  -->|{{#ifeq: {{#explode: {{{Datum und Zeit|}}}| |0}} | {{#explode: {{{Datum und Zeit Ende|}}}| |0}}<!--  
      -->{{#ifeq: {{#explode: {{{Datum und Zeit|}}}| |0}} | {{#explode: {{{Datum und Zeit Ende|}}}| |0}}<!--  
         dann  
         dann Datum Anfang == Datum Ende (nichts ausgeben) -->|<!--
    -->|<!-- Datum Anfang == Datum Ende (nichts ausgeben)
         sonst Datum Anfang != Datum Ende -->|<!--
         sonst Datum Anfang != Datum Ende
      -->&#32;bis {{#time: l, j. F Y|{{{Datum und Zeit Ende|}}}}}<!--  
    -->|&#32;bis {{#time: l, j. F Y|{{{Datum und Zeit Ende|}}}}}<!--  
      -->}}<!-- end ifeq
  -->}}<!-- end ifeq
  -->}}<!-- end if Datum und Zeit Ende
-->}}<!-- end if Datum und Zeit Ende
  SONST-->|<!--
    sonst
  --> <span style="color:orange">''Bitte fehlendes Datum nachtragen''</span>
-->| Bitte fehlendes Datum nachtragen  
}}<!--
}}{{#if: {{#explode: {{{Datum und Zeit|}}}| |1}} <!--  
 
Uhrzeiten
  Anfang Uhrzeit & Ende Uhrzeit
dann  -->|, Beginn: <!--  
-->{{#if: {{#explode: {{{Datum und Zeit|}}}| |1}} <!--  
        Uhrzeit extrahieren
  dann  -->|<!--
        -->{{#sub: {{#explode: {{{Datum und Zeit|}}}| |1}}<!--  
        -->, Beginn: <!--      
        -->|0<!--  
  -->{{#sub: {{#explode: {{{Datum und Zeit|}}}| |1}}<!-- Uhrzeit extrahieren
        -->|{{#rpos: {{#explode: {{{Datum und Zeit|}}}| |1}}|:}}<!--  
    -->|0<!--  
        -->}} Uhr}}<!--  
    -->|{{#rpos: {{#explode: {{{Datum und Zeit|}}}| |1}}|:}}<!--  
  -->}} Uhr<!--       
-->}}<!--  
       
-->{{#if: {{#explode: {{{Datum und Zeit Ende|}}}| |1}} <!--  
-->{{#if: {{#explode: {{{Datum und Zeit Ende|}}}| |1}} <!--  
dann  -->|, Ende: <!--  
dann  -->|, Ende: <!--  
        -->{{#ifeq: 00:00:00 | {{#explode: {{{Datum und Zeit Ende|}}}| |1}}<!--
  -->{{#ifexpr: {{#var: unixDateTimeEnd}} <= {{#var: unixDateTimeStart}}<!--
        dann -->|am selben Tag<!--
  dann -->|<!--
                Uhrzeit extrahieren  
    -->am selben Tag<!--
        sonst-->|{{#sub: {{#explode: {{{Datum und Zeit Ende|}}}| |1}}<!--  
      Uhrzeit extrahieren  
              -->|0<!--  
  sonst-->|<!--
              -->|{{#rpos: {{#explode: {{{Datum und Zeit Ende|}}}| |1}}|:}}<!--  
    -->{{#sub: {{#explode: {{{Datum und Zeit Ende|}}}| |1}}<!--  
              -->}} Uhr<!--
      -->|0<!--  
        -->}}<!--  
      -->|{{#rpos: {{#explode: {{{Datum und Zeit Ende|}}}| |1}}|:}}<!--  
        -->}}<!--  
    -->}}<!--
      --> Uhr<!--
  -->}}<!--  
-->}}<!--  
Datum und Uhrzeiten Ende
  --><br/><!--  
  --><br/><!--  
  -->{{#if: {{{Ansprechpartner|}}} | ''Ansprechpartner/Kontakt/Leitung:'' {{#arraymap: {{{Ansprechpartner|}}}<!-- values
  -->{{#if: {{{Ansprechpartner|}}} | ''Ansprechpartner/Kontakt/Leitung:'' {{#arraymap: {{{Ansprechpartner|}}}<!-- values
Zeile 177: Zeile 240:
|height=550
|height=550
|type=roadmap
|type=roadmap
|service=leaflet
}}
}}
}}
}}
Zeile 184: Zeile 248:


Den [[Veranstaltungen|Veranstaltungskalender]] können Sie auch mittels Suchformular nach {{Durchsuche Veranstaltungen}}.
Den [[Veranstaltungen|Veranstaltungskalender]] können Sie auch mittels Suchformular nach {{Durchsuche Veranstaltungen}}.
</div>{{Purge}}</includeonly>
</div></includeonly>

Aktuelle Version vom 16. April 2019, 22:34 Uhr

Vorlage um eine Veranstaltung einzutragen. Zur Erstellung von Seiten kann folgendes Formular (Vorlage:Veranstaltung bearbeiten oder hinzufügen) verwendet werden:

Parameter

„Pflichtparameter=“ und „optionaler Parameter=“ für Vorlage:Veranstaltung sind:

Datum und Zeit=
Datum und Zeit der Veranstaltung (Attribut: ical:dtstart)
Datum und Zeit Ende=
Ende Datum und Zeit der Veranstaltung (Attribut: ical:dtend)
Ort=
Wo, Adresse (freier Text, Attribut: ical:location)
Ortskoordinaten=
zeigt Karte. Englisches Dezimal-Format (N, E z.B.: „49.7048744, 7.3284214“, Attribut: ical:geo)
Ansprechpartner=
Ansprechpartner, Organisator, Leiter (Attribut: ical:contact Vorschlag mehrerer Werte: Semikolon-Trennung)
Referenten=
Referent, Vortragende (Attribut: Referent Vorschlag mehrerer Werte: Semikolon-Trennung)
Details=
weitere Infos (freier Text, Attribut: ical:comment)
Art der Veranstaltung=
ein kategorialer Wert definiert auf Attribut: Art der Veranstaltung

Technisches

Abhängigkeiten

Attribute

CSS

Für MediaWiki:Print.css

/* Vorlage:Veranstaltung */
.leaflet-control { display:none; }
#map_leaflet_1 { width:100%!important; }


Export iCal Format

Der Export funktioniert nicht richtig, da Zeilenumbrüche und Kommas + Semikolon nicht mit dem Escape Zeichen \ versehen sind (https://bugzilla.wikimedia.org/show_bug.cgi?id=60038). Umgänglich ist dies mit Attributen, die mit Escape-Varianten versehen sind:

Beabsichtigte SMW-Abfrage für format=icalendar ist möglicherweise importierbar falls alle Daten in ical-Datei korrekt sind (siehe iCalendar Validator). Ein Fix bietet Vorlage: Veranstaltungskalender abonnieren:

(Zeige …)(Verberge)
Wie man den Kalender Bayernflora abonnieren kann (z.B. per Link in Kalendersoftware)
Ask Abfrage
{{#ask: [[Kategorie: Veranstaltung]]
|?ical:summary escaped#=summary
|?ical:dtstart=start
|?ical:dtend=end<!--
    ical:dtend == "" ? DANN ical:dtend=ical:dtstart SONST ical:dtend=ical:dtend -->
|?ical:location escaped=location
|?ical:description escaped=description<!-- KEIN ZEILENUMBRUCH IN DEN DATEN(!!!) 
    Ansprechpartner (ical:contact)
  + Referent
  + Details (ical:comment) -->
|format=icalendar
|searchlabel=Kalender abonnieren (iCal-Format)
}}