WordPress-Plugin für VereinOnline

Das WordPress-Plugin nutzt die VereinOnline-API-Funktionen und ermöglicht die Anwendung ohne Programmier-Kenntnisse.

Installation

  • Schritt 1: Download VereinOnline_WordPress_Plugin.zip oder von der Wordpress-Seite https://wordpress.org/plugins/vereinonline/

  • Schritt 2: Entpacken und per FTP im WordPress-Verzeichnis hier ablegen: wp-content/plugins/vereinonline

  • Schritt 3: Plugin aktivieren:


  • Schritt 4: Bitte unter Einstellungen/Allgemein die Zugangsdaten ausfüllen:

    • VereinOnline-Url:
      Ihr VereinOnline-System (/ am Ende nicht vergessen!)

    • VereinOnline-Benutzer, -Passwort:
      Ein VereinOnline-Benutzer mit den nötigen Zugriffsrechten. Der Benutzer "admin" ist aus Sicherheitsgründen nicht zugelassen. Idealerweise legen Sie in VereinOnline eine Rolle (z.B. "API-Rolle") mit den benötigten API-Rechten (z.B. "Veranstaltungen lesen") an und weisen Sie diese Rolle einem neuen Pseudo-Mitglied (z.B. "API-Nutzer") zu. Die Zugangsdaten dieses Benutzers tragen Sie hier ein.

    • Webseite Termine-Url:
      Diese Einstellung lassen Sie standardmäßig leer. Diese Einstellung wird nur benötigt, wenn Sie [vereinonline_kalender] verwenden und die Termine nicht per Link auf http://vereinonline.org/IHRVEREIN/?veranstaltung=...." zeigen sollen, sondern stattdessen auf Ihre WordPress-Seite. Geben Sie hier die Url ein, das Plugin ergänzt diese pro Termin am Ende um die ID der Veranstaltung.

    • Login in WordPress mit VereinOnline-Login:
      Diese Einstellung lassen Sie standardmäßig leer. Diese Einstellung wird nur benötigt, wenn der WordPress-Login durch die Benutzerdaten von VereinOnline funktionieren soll. Wenn das der Fall sein soll, dann geben Sie hier ein "*" ein (alle VereinOnline-Nutzer sind erlaubt) oder Über "rolle:ROLLENNAME1,rolle:ROLLENNAME2,gruppe:GRUPPENNAME1" (wenn Sie den Zugriff auf bestimmte Rollen und/oder Gruppen beschränken wollen).
      Über "Administration/Basiskonfiguration/Parameter" können Sie mit folgender Zeile VereinOnline-Rollen den WordPress-Rollen zuordnen (Angabe immer VereinOnlineRolle>WPRolle, die erste Rolle die passt wird verwendet):
      wordpress.rollen=techadmin>redakteur,gruppenleiter>mitarbeiter,mitglied>abonnent
      (bzw. "editor", "author", "subscriber", ...)



    Der Benutzer muss in VereinOnline angelegt und einer Rolle mit den notwendigen Rechten zugeordnet sein.

  • Schritt 5: Bitte in der WordPress-Seite an der Stelle, wo die Funktion (z.B. Newsletter-Anmeldung) zu sehen sein soll, den Tag (z.B. [vereinonline_subscribe]) schreiben.



Das Plugin stellt folgende Tags bereit:



[vereinonline_kalender]

Das Tag [vereinonline_kalender] zeigt den Kalender an mit allen öffentlich sichtbaren Terminen an.

Parameter:
Falls nur die Termine einer bestimmten Veranstaltungsart angezeigt werden sollen, dann ist das per Parameter möglich:
[vereinonline_kalender(typ)]
typ: 1=öffentliche Veranstaltung, 11=interne Veranstaltung, ab 100: eigene Definitionen

Beispiel:


So ist diese Seite in Wordpress umgesetzt:
[vereinonline_kalender]


2. Verwendungsart: selbstgestalteter Kalender
Die Schleife [vereinonline_kalender]....[/vereinonline_kalender] durchläuft tagweise einen Monat (1..28-31 Tage).
Der Abschnitt "[vereinonline_if(keintermin)]" wird angezeigt, wenn an diesem Tag kein Termin stattfindet.
Der Abschnitt "[vereinonline_elseif(eintermin)]" wird angezeigt, wenn an diesem Tag genau ein Termin stattfindet.
Der Abschnitt "[vereinonline_elseif(keintag)]" wird angezeigt, wenn an diesem Tag der Monat noch nicht begonnen hat (Mo.. des Vormonats)
Die "[vereinonline_else]"-Bedingung durchläuft alle Termine eines Tages, wenn an diesem Tag mehrere Termine stattfinden (Termin 1 kann auch ohne Schleife angezeigt werden).
[vereinonline:datum_M] wird ersetzt durch den Namen des Monats, z.B. "Mai".
[vereinonline:tr7] fügt nach 7 Terminen (=Ende der Woche) ein </tr><tr> ein.

Beispiel:
[vereinonline_kalender]
[vereinonline_if(keintermin)]
            <li>
              <div class="event">
                <span class="day"></span>
                <span class="description"><span></span><span></span></span>
              </div>
            </li>
[vereinonline_elseif(keintag)]
            <li>
              <div class="event">
                <span class="day">[vereinonline:datum_d]. <span>[vereinonline:datum_M]</span></span>
                <span class="description"><span></span><span></span></span>
              </div>
            </li>
[vereinonline_elseif(eintermin)]
            <li class="show-event">
              <a class="click-able" href="?module=*termin&id=[vereinonline:id]">
                <div class="event medium-blue">
                  <span class="day">[vereinonline:datum_d]. <span>[vereinonline:datum_M]</span></span>
                  <span class="description"><span>[vereinonline:titel]</span><span>Ort: [vereinonline:ort]</span></span>
                </div>
              </a>
            </li>
[vereinonline_else]
            <li class="show-event no-brdr no-bg">
              <div class="event medium-blue pink-headline clr-all-padd no-bg">
[vereinonline_termine]
                <a class="click-able" href="?module=*termin&id=[vereinonline:id]">
                  <div class="event-one">
                    <span class="day">[vereinonline:datum_d]. <span>[vereinonline:datum_M]</span></span>
                    <span class="description"><span>[vereinonline:titel]</span><span>Ort: [vereinonline:ort]</span></span>
                  </div>
                </a>
[/vereinonline_termine]
              </div>
            </li>
[vereinonline_endif]
[/vereinonline_kalender]


[vereinonline_termine]

Der Block [vereinonline_termine]...[/vereinonline_termine] bildet eine Schleife über alle öffentlich sichtbaren Termine.

Beispiel 1: Eine Schleife über alle Termine
[vereinonline_termine]
[vereinonline:datum] [vereinonline:titel]<BR>
[/vereinonline_termine]

Beispiel 2: Eine Schleife über alle zukünftigen Termine
[vereinonline_termine(,,zukunft)]
[vereinonline:datum] [vereinonline:titel]<BR>
[/vereinonline_termine]

Innerhalb der Schleife sind folgende Platzhalter möglich:
[vereinonline:id] ID des Termins
[vereinonline:anker] ist das Wort "aktuell" nur für den nächsten Termin
[vereinonline:datum] Datum des Termins ([vereinonline:datum_d] für Tag, [vereinonline:datum_M] für Monat)
[vereinonline:zeit] Zeitpunkt des Termins
[vereinonline:titel] Titel des Termins
[vereinonline:beschreibung] Beschreibung des Termins
[vereinonline:bild] Der Dateiname des Veranstaltungsbildes [vereinonline:foto] Der Dateiname des Veranstaltungsbildes bzw. des ersten Anhangs
[vereinonline:anmeldungen] Die Anzahl der Anmeldungen
[vereinonline:freieplaetze] Die Anzahl der freien Plätze
[vereinonline:ampel] Emthalt eine Grafik-IMG-Link zum Ampel-Bildchen
[vereinonline:key_XXX] Extrafelder
[vereinonline_if(FELD)]...[vereinonline_endif] Bereich nur sichtbar, wenn das FELD nicht leer ist und nicht den Inhalt "-" hat (Hinweis: "foto" ist kein Feld!)
[vereinonline_if(FELD)]...[vereinonline_elseif(..)]...[vereinonline_else]...[vereinonline_endif] weitere Bedingungs-Optionen
[vereinonline_if(anmeldungmoeglich)]...[vereinonline_endif] Bereich nur sichtbar, wenn eine Anmeldung möglich ist
[vereinonline_if(kategorie)]...[vereinonline_endif] Inhalt nur sichtbar, wenn eine Kategorie zugeordnet ist, innerhalb gelten dann: [vereinonline:key_titel_kategorie:name], [vereinonline:activetab] wenn eine Kategorie gesetzt dann 2, ansonsten 1
[vereinonline:css] bietet CSS-Klassen um Veranstaltungen zu markieren: terminvergangen terminangemeldet termingruppe### termintyp### heute
[vereinonline:key_titel_kategorie:beschreibung]


Parameter:
Folgende Parameter sind möglich:
[vereinonline_termine(typ, filter, jahr, maxAnzahl, gruppenid)]
...
[/vereinonline_termine]

typ1=öffentliche Veranstaltung
11=interne Veranstaltung
ab 100: eigene Definitionen
filterFeld=Wert, z.B. key_extrafeld1=ABC oder key_extrafeld1=WERT1|WERT2|WERT3 oder key_feld1=WERT;key_feld2=WERT
ID einer flexiblen Liste, in der die Kategorien definiert sind, die der Veranstaltung über das Extrafeld titel_kategorie zugeordnet sind
jahrEinschränkung auf ein Jahr, das angezeigt werden soll, z.B. "2016".
"zukunft", falls nur zukünftige Termine angezeigt werden sollen.
"vergangenheit", falls nur vergangene Termine angezeigt werden sollen (zukunft12 für alle ab in 12 Monaten, aktuellermonat,aktuellesjahr,naechstermonat).
maxAnzahlzeigt maximal die angegebene Anzahl Termine an.
gruppenidEinschränkung auf eine Veranstaltungs-Gruppe.

Hinweis:
Mit [vereinonline_termine_filter] ausserhalb der Schleife können Sie ggf. vorhandene Extrafelder-Filter anzeigen (z.B. individuelle Kategorien). Die möglichen Auswahlwerte entnimmt das System aus den zukünftigen Veranstaltungen.
[vereinonline_termine_filter(key_extrafeld1,key_extrafeld)] zeigt nur diese beiden Filter an.
[vereinonline_termine_filter(key_extrafeld1=AA|BB,key_extrafeld)] zeigt beim Filter "extrafeld1" nur die Auswahlwerte "AA" und "BB" an.

Mit [vereinonline:FELD:ERSETZEUMLAUTE] werden im Feld alle Umlaute (z.B. "ü") konvertiert (in z.B. "ue").
Beispiel:



So ist diese Seite in Wordpress umgesetzt:
[vereinonline_termine(100,495)]
<a name="[vereinonline:id]"></a>
<a name="[vereinonline:anker]"></a>
<div style="height:80px;">&nbsp;</div>
<div class="row_inner">
<div class="column_inner" style="width:33%;">
<div class="column_text">
<a href="https://www.vereinonline.org/VEREINSNAME/attachments/[vereinonline:foto]"><img class="alignnone wp-image-361 size-medium" src="https://www.vereinonline.org/VEREINSNAME/?download=[vereinonline:foto]&width=300" alt="[vereinonline:key_foto_copyright]" width="300" height="200" /></a>
<h5>[vereinonline:key_foto_copyright]</h5>
</div>
</div>
<div class="column_inner" style="width:67%;">
<div class="column_text">
<b>
[vereinonline:datum]
[vereinonline:zeit]
<a href="http://......./anfahrt/">VINUM</a></b></div>

<div class="accordion" active_tab="[vereinonline:activetab]">
[vereinonline_if(kategorie)]
<div class="accordion_tab" title="[vereinonline:key_titel_kategorie:name]">
<div class="column_text">
[vereinonline:key_titel_kategorie:beschreibung]
</div>
</div>
[vereinonline_endif]
</div>
</div>
</div>

<div class="column_text">
<h4>[vereinonline:titel]</h4>
[vereinonline:beschreibung]&nbsp;

[vereinonline_if(key_datei_einladung)]
<a href="https://www.vereinonline.org/VEREINSNAME/?download=[vereinonline:key_datei_einladung]&path=list">PDF Einladung</a>&nbsp;
[vereinonline_endif]
</div>

<div class="column_text linkorange">
[vereinonline_if(anmeldungmoeglich)]
<h3><a href="#" onclick="javascript:window.open('https://www.vereinonline.org/VEREINSNAME/?veranstaltunganmelden=[vereinonline:id]','','toolbar=no,location=no,directories=no,status=yes,scrollbars=yes,resizable=yes,copyhistory=no,width=600,height=600');return false;">>> ANMELDEN</a></h3>
[vereinonline_endif]&nbsp;
</div>
<hr noshade>
[/vereinonline_termine]




[vereinonline_termin]

Der Block [vereinonline_termin(VERANSTALTUNGID)]...[/vereinonline_termin] zeigt die Daten einer Veranstaltung an.
Innerhalb des Blocks sind die gleichen Felder wir bei [vereinonline_termine] möglich, z.B. [vereinonline:titel], [vereinonline:freieplaetzel]

Parameter:
Als Parameter muss die ID der Veranstaltung übergeben werden.

Beispiel:
[vereinonline_termin(12345)]
[vereinonline:titel], [vereinonline:anmeldungen], [vereinonline:freieplaetze]
[/vereinonline_termin]




[vereinonline_gruppentermine]

Das Tag [vereinonline_ gruppentermine(GRUPPENID)] zeigt eine Liste der kommenden Termine der Gruppe an.

Parameter:
Als Parameter muss die ID der Gruppe übergeben werden.

Beispiel:



So ist diese Seite in Wordpress umgesetzt:
<div class="accordion">
<div class="accordion_tab" title="Termine">
<div class="column_text">
[vereinonline_gruppentermine(446534)]
</div>
</div>
</div>




[vereinonline_mitglieder]

Der Block [vereinonline_mitglieder]...[/vereinonline_mitglieder] bildet eine Schleife über alle Mitglieder und zeigt eine Liste der Mitglieder an

Parameter:
Als 1. Parameter kann optional eine Rolle angegeben werden: [vereinonline_mitglieder(Mitglied)]
Als 2. Parameter kann optional ein Sortierungsfeld übergeben werden: [vereinonline_mitglieder(,firma)]
Als 3. Parameter kann optional eine Bedingung übergeben werden: [vereinonline_mitglieder(,,foto=*)]

Innerhalb der Schleife sind folgende Platzhalter möglich:
[vereinonline:id] die interne ID des Mitglieds
[vereinonline:vorname] der Vorname
[vereinonline:nachname] der Nachname
[vereinonline:firma] der Firmenname
[vereinonline:p_freigabe] Freigabewert der privaten Adresse
[vereinonline:g_freigabe] Freigabewert der geschäftlichen Adresse
[vereinonline:freigabe] Freigabewert der persönlichen Daten
[vereinonline:foto] das Foto, z.B. <img src="https://vereinonline.org/.../fotos/[vereinonline:foto]">
[vereinonline:funktion] die Funktion
[vereinonline:g_strasse] die geschäftliche Strasse
[vereinonline:g_plz] die geschäftliche PLZ
[vereinonline:g_ort] der geschäftliche Ort
[vereinonline:g_telefon] die geschäftliche Telefonnummer
[vereinonline:g_email] die geschäftliche E-Mail-Adresse
[vereinonline:fotourl] die relative Url des Fotos

Beispiel:
[vereinonline_mitglieder(Mitglied)]
[vereinonline:vorname] [vereinonline:nachname]
[/vereinonline_mitglieder]




[vereinonline_news]

Der Block [vereinonline_news]...[/vereinonline_news] bildet eine Schleife über alle Meldungen und zeigt eine Liste der aktuellen Meldungen an

Innerhalb der Schleife sind folgende Platzhalter möglich:
[vereinonline:datum] Das Datum der Meldung
[vereinonline:subject] Der Titel der Meldung
[vereinonline:body] Der Nachrichtentext
[vereinonline:foto] Der Dateiname des ersten Anhangs
[vereinonline:key_XXX] Extrafelder
[vereinonline:veranstaltung]...[/vereinonline:veranstaltung] nur sichtbar falls verlinkte Veranstaltung existiert, innerhalb sind folgende Felder möglich: [vereinonline:veranstaltung:url], [vereinonline:veranstaltung:titel], [vereinonline:veranstaltung:datum]
[vereinonline_if(foto)]<img src="news/[vereinonline:foto]">[/vereinonline_endif] binder das Foto ein (1. Attachment)

1. Parameter:
Falls nur eine bestimmte Anzahl an Meldungen angezeigt werden sollen, dann ist das per Parameter möglich:
[vereinonline_news(maximaleanzahl)]
...
[/vereinonline_news]

Falls auch bereits abgelaufene Meldungen angezeigt werden sollen, dann ist das per Parameter möglich:
[vereinonline_news(*)]
...
[/vereinonline_news]

2. Parameter:
Ein zweiter Parameter kann eine Bedingung angeben: [vereinonline_news(,feld=wert)]

Kleines Beispiel:
[vereinonline_news(5)]
[vereinonline:datum]: [vereinonline:subject]<BR>
[vereinonline:body]<BR>
[/vereinonline_news]

Weiteres Beispiel:



So ist diese Seite in Wordpress umgesetzt:
[vereinonline_news(3)]
<div class="row_inner">
<div class="column_inner" style="width:33%;">
<div class="column_text">
<img class="wp-image-598 size-medium" src="https://www.vereinonline.org/VEREINSNAME/news/[vereinonline:foto]" width="300" height="300" />
<h5>© [vereinonline:key_copyright]</h5>
</div>
</div>
<div class="column_inner" style="width:67%;">
<div class="column_text aktuelles">
<h3>[vereinonline:subject]</h3>
[vereinonline:body]

[vereinonline:veranstaltung]
<a href="[vereinonline:veranstaltung:url]">Mehr »</a>
[/vereinonline:veranstaltung]

</div>
</div>
</div>
<div class="separator"></div>
[/vereinonline_news]




[vereinonline_gruppen]

Der Block [vereinonline_gruppen]...[/vereinonline_gruppen] zeigt eine Liste der Gruppen an.

Parameter:
Als Parameter kann optional "v" übergeben werden, um die Menge auf die Veranstaltungsgruppen einzuschränken: [vereinonline_gruppen(v)]

Beispiel:
[vereinonline_gruppen]
Gruppen-ID: [vereinonline:id]
Gruppen-Name: [vereinonline:name]
[/vereinonline_gruppen]




[vereinonline_bildergalerien]

Der Block [vereinonline_bildergalerien]...[/vereinonline_bildergalerien] bildet eine Schleife über alle Bilergalerien zeigt alle Bildergalerien an.

Innerhalb der Schleife sind folgende Platzhalter möglich:
[vereinonline:id] ID der Bildergalerie
[vereinonline:datum] Datum der Bildergalerie
[vereinonline:titel] Titel dee Bildergalerie
[vereinonline:nachlese] Nachlesetext der Bildergalerie
[vereinonline:bilder]...[/vereinonline:bilder] Schleife über alle Bilder, je Bild sind folgende Platzhalter möglich: [vereinonline:nr], [vereinonline:file], [vereinonline:fileklein], [vereinonline:text]

Parameter:
Folgende Parameter sind möglich:
[vereinonline_bildergalerien(*)]...[/vereinonline_bildergalerien] nur alle Bildergalerien mit zugeordneter Veranstaltung
[vereinonline_bildergalerien(!)]...[/vereinonline_bildergalerien] nur alle Bildergalerien ohne zugeordneter Veranstaltung

Kleines Beispiel:
[vereinonline_bildergalerien]
[vereinonline:datum]: [vereinonline:titel]<BR>
[vereinonline:bilder]<IMG src="[vereinonline:file]">[/vereinonline:bilder]
[/vereinonline_bildergalerien]

Weiteres Beispiel:


So ist diese Seite in Wordpress umgesetzt:
[vereinonline_bildergalerien]
<div class="row_inner">
<div class="column_inner" style="width:33%;">
<div class="wpb_gallery wpb_content_element fancybox clearfix">
<div class="wpb_wrapper"><div class="wpb_gallery_slides wpb_flexslider flexslider_slide flexslider" data-interval="0" data-flex_fx="slide">
<ul class="slides">[vereinonline_bilder]
<li>
<a class="prettyphoto" href="[vereinonline:file]" rel="prettyPhoto[vereinonline:id]">
<img class="" src="[vereinonline:file]" width="300" height="200" alt="[vereinonline:text]" title="[vereinonline:text]" />
</a>
<h5>[vereinonline:text]</h5>
</li>[/vereinonline_bilder]
</ul>
</div>
</div>
</div>
<div class="column_text">&nbsp;</div>
</div>
<div class="column_inner" style="width:67%;">
<div class="column_text aktuelles">
<h4>[vereinonline:datum]: [vereinonline:titel]</h4>
&nbsp;
[vereinonline:nachlese]
</div>
</div>
</div>
<div class="separator"></div>
[/vereinonline_bildergalerien]




[vereinonline_shop]

Der Block [vereinonline_shop]...[/vereinonline_shop] zeigt eine Liste der Shop-Artikel an.

Innerhalb der Schleife sind folgende Platzhalter möglich:
[vereinonline:id] ID des Artikels
[vereinonline:textkurz] Bezeichnung des Artikels
[vereinonline:textlang] Beschreibung des Artikels
[vereinonline:preisextern] Der externe Preis des Artikels
[vereinonline:bestand] der Bestand des Artikels
Weitere Felder siehe API GetShop

Parameter:
Als 1. Parameter kann optional "maximal" übergeben werden, um auf eine maximale Anzahl einzuschränken: [vereinonline_shop(5)]
Als 2. Parameter kann optional "kategorie" übergeben werden, um auf diese Kategorie einzuschränken: [vereinonline_shop(,TShirts)]
Als 3. Parameter kann optional "einheit" übergeben werden (nur VerbandOnline), um auf eine diese Einheit einzuschränken: [vereinonline_shop(,,Berlin)]

Beispiel:
[vereinonline_shop]
Artikel-ID: [vereinonline:id]
Bezeichnung: [vereinonline:textkurz]
Beschreibung: [vereinonline:textlang]
Preis extern: [vereinonline:preisextern]
Bestand: [vereinonline:bestand]
[/vereinonline_shop]




[vereinonline_list]

Der Block [vereinonline_list]...[/vereinonline_list] zeigt Inhalte einer Flexiblen Liste an.

Innerhalb der Schleife sind folgende Platzhalter möglich:
[vereinonline:#id] ID des Datensatzes
[vereinonline:....] Alle Feldnamen der iste

Parameter:
Als 1. Parameter muss die Listen-ID übergeben werden.
Als 2. Parameter kann ein Filter übergeben werden.

Beispiel:
[vereinonline_list(123,mitglied=789]
Datensatz-ID: [vereinonline:#id]
Feldname 'mitglied': [vereinonline:mitglied]
Feldname 'betrag': [vereinonline:betrag]
[/vereinonline_list]




[vereinonline_subscribe]

Det Tag [vereinonline_subscribe] zeigt das Newsletter-Anmeldeformular (mit Double-Opt-In) an.

Beispiel:



So ist diese Seite in Wordpress umgesetzt:
[vereinonline_subscribe]




[vereinonline_request]

Das Tag [vereinonline_request] ermöglicht die direkte Einbindung von VereinOnline-Dialogen und Formularen.
Die Eingaben von Formularen werden direkt zu VereinOnline geschickt.

Als Parameter ist der Anfrage-Teil der Url zu übergeben.
Beispiele:
[vereinonline_request(?action=start_login&url=https://...&logouturl=https://...)]
[vereinonline_request(?logout&logouturl=https://...)]
[vereinonline_request(?action=members_suche)]
[vereinonline_request(?action=shop_order&kategorie=)]
[vereinonline_request(?veranstaltunganmelden=1234)]
[vereinonline_request(?action=events_kalender)]
[vereinonline_request(?action=profile_edit)]
[vereinonline_request(?action=shop_auswahl)]
[vereinonline_request(?action=start_status)]
<a href="https://www.vereinonline.org/.../?logout&url=...">Logout</a>

Hinweis: Dieses Tag ist nicht bei allen VereinOnline-Inhalten voll umgesetzt. Wenn Sie hier Einschränkungen feststellen, nennen Sie uns diese bitte per Supportanfrage.



[vereinonline_for]

Das Tag [vereinonline_for] ermöglicht eine Schleife von Werten.

Beispiel:
[vereinonline_for(A|B|C)]
... [vereinonline_nr] ist 0..2
... [vereinonline:item] ist A..C
... [vereinonline:active] ist "active" für das 1.Element und die weiteren leer..
[/vereinonline_for]