Miniblog 0.5

Für CMSimple_XH ab Version 1.6.2

Miniblog erzeugt Blogs mit Beiträgen aus normalen Seiten der content.htm oder aus einzelnen externen HTML-Dateien oder einer Mischung von beidem.

Beliebig viele Blogs innerhalb einer Website möglich. Blogbeiträge aus normalen Seiten (=seitenbasierte Beiträge) kann nur der Webmaster schreiben, einzeldatei-basierte Beträge hingegen können nach Login (via Memberpages/Register_XH) auch von anderen Nutzern verfasst werden.

Miniblog kann durch seine Fähigkeit, die normale CMSimple-Seitenstruktur zu nutzen, auch als Inhaltsverzeichnis für Unterseiten verwendet werden, wenn man blog-typische Funktionen abschaltet.

Pluginaufruf

Normalerweise reicht der Aufruf {{{miniblog}}}.
Wenn man jedoch mehrere Miniblogs mit verschiedenen Funktionen innerhalb einer Website nebeneinander betreiben will, kann man diese per Pluginaufruf individuell konfigurieren.

{{{miniblog ['Oberseite', 'Sortierung', 'Kategoriebuttons', 'Archivlink', 'Anzahlbegrenzung', 'Spalten', 'Zeige_Kategorie', 'Zeige_Datum', 'Zeige_Keyword'] }}}

Angaben in [] optional.

  1. Oberseite: Normalerweise leer, wenn seitenbasierte Beiträge nicht unter der Blogseite stehen, hier Namen der zugehörenden Oberseite eingeben.
  2. Sortierung: 'newest', 'oldest', 'title', 'keyword', 'category' oder 0 für keine Sortierung. Bei Beiträgen externer Nutzer wird automatisch der Autorenname in die Variable 'keyword' geschreiben.
  3. Kategoriebuttons: 0 oder 1 für an oder aus, bei '' gilt Konfigwert
  4. Archivlink: 0 oder 1 für an oder aus, bei '' gilt Konfigwert
  5. Anzahlbegrenzung: Begrenzt die Anzahl der Teaser auf der Blogseite. Wenn es mehr Teaser gibt, werden Folgeblogseiten erzeugt. Hier eine Zahl für die maximale Teaseranzahl pro Seite eingeben oder eine 0 für ausgeschaltet. Bei Eingabe von '' gilt der Konfigwert.
  6. Spalten: 0 oder 1 für an oder aus, bei '' gilt Konfigwert
  7. Zeige_Kategorie: 0 oder 1 für an oder aus, bei '' gilt Konfigwert
  8. Zeige_Datum: 0 oder 1 für an oder aus, bei '' gilt Konfigwert
  9. Zeige_Keyword: meist für Autorennamen genutzt, 0 oder 1 für an oder aus, bei '' gilt Konfigwert

Beispiel:
{{{miniblog '','alphabet',0,0,'',1,0,0}}} alphabetische Sortierung, keine Kategoriebuttons und kein Archivlink, Höchstanzahl der angezeigten Beiträge wie in Konfig, zweispaltige Ausgabe ohne Kategorien und Datumsanzeige.

Neu in 0.5

Updaten: Zip entpacken, das Verzeichnis enthält auch Code für die Nutzung des Filebrowsers aus Miniblogf heraus. Daher das Paket so wie es ist in den Basisordner der Website kopieren. Die alte Miniblog-Version wird dann mit der neuen überschreiben. Nun zum Plugin-Backend wechseln. Das Plugin liest dann die alte Konfig aus und generiert eine neue.
Aus Version 0.4 finden sich eventuell noch 2 alte Dateien: css/0.4_default.css und css/0-4_default.css. Diese werden nicht mehr genutzt und sollten gelöscht werden.

Blog mit Beiträgen aus Einzeldateien

Hier werden einzelne HTML-Dateien entweder durch eingeloggte Mitglieder mithilfe von Christoph Beckers Plugin Extedit_XH erstellt oder vom Admin im Plugin-Backend. Zu diesen Dateien gibt es jeweils einen Artikelkopf mit Kategorie, Veröffentlichungsdatum, Schlagwort bzw. Autorennamen, Titel, Teaser und Teaserbild, der in einer kleinen Json-Datenbank gespeichert wird. Aus dieser Datenbank wird automatisch die Blogstartseite mit Links zu den einzelnen HTML-Blogbeiträgen generiert.

Auch Bilder können in die Teaser eingefügt werden. Um eingeloggten externen Autoren diese Bildernutzung zu ermöglichen, muss man einen Ordner dafür in der Konfig angeben. Die Externen können dann Bilder aus diesem Ordner auswählen. Wenn man als Admin Beiträge verfasst, hat man den Standard-CMSimple_XH-Bild-Browser zur Verfügung und ist nicht mehr auf einen Ordner begrenzt (funktioniert mit Tinymce und CKeditor, zurzeit jedoch noch nicht mit Tinymce4). Hat man die Teaser in 2 Spalten angeordnet (Konfigeinstellung), kann man für einzelne Teaser auch einstellen, dass sie über beide Spalten laufen, z.B. um eine Art Blickpunkt in der Teaserliste zu schaffen.

Die Blogbeiträge haben eine URL wie normale Seiten der 3. Ebene: www.Basisdomain.xx/?Blogname/Ordnername/Beitragsname. Der Blogname ist frei wählbar, er darf nur nicht mit einem bestehenden Namen einer Seite der 1. Ebene übereinstimmen. Die Beiträge selbst sind nach Ordnername und Betragskurzname gekennzeichnet. Verschiedene Ordner werden dabei verschiedenen Mitgliedern zugeordnet. Beim ersten Erstellen eines Beitrags werden Mitglieder aufgefordert sich einen passenden Ordnernamen für ihre Beiträge auszudenken. Dieser Ordner ist dann dauerhaft mit dem Mitglied verbunden. Wenn der Admin Beiträge erstellt, kann er allerdings beliebige Ordnernamen verwenden. Die Zuordnung von Ordnernamen zu Mitgliedern kann im Backend editiert werden. Der volle Name des Autors, so wie dieser bei Memberpages oder Register_XH gespeichert ist, wird automatisch als Keyword des Beitrags gespeichert.

Die üblichen CMSimple-Funktionen wie Plugins und Bilder funktionieren auf den Blogseiten, werden allerdings durch Extedit_XH für Mitglieder stark beschränkt. Wenn man die Einzeldateifunktion als Admin nutzt, unterliegt man keinen Beschränkungen. Die Bedienung ist ansonsten selbsterklärend. Falls eine der beiden Blogfunktionsweisen (Einzeldatei-besierte Blogbeiträge/seitenbasierte Blog-Beiträge) nicht genutzt wird, kann man diese zur Resourcenschonung im Backend abstellen.

Für beide Blogtypen

Archiv

Um ein Archiv zu erstellen, ein Datum dafür in der Konfig eingeben. Für die Einzeldateibeiträge muss man anschließend die Archivzuordnung updaten. Danach werden Beiträge, die älter als das gewählte Archivierungsdatum sind, versteckt und erst gezeigt, wenn auf den Button "Archiv" geklickt wird. Bei Einzeldateien kann man das Archiv auch auf einer eigenen Seite zeigen. Dazu eine Seite erstellen, dort {{{miniblog}}} hineinschreiben, und den Seitennamen (z.B. "Archiv") in der Sprachdatei eintragen. Anschließend im Backend wieder die Archivzuordnung aktualisieren. Danach fungiert der Button "Archiv" auf der Blogseite als Link zur Archivseite.

Blogbeiträge aus Seiten werden bei einer eigenen Archivseite allerdings nicht berücksichtigt. Um zu vermeiden, dass sie gar nicht mehr gezeigt werden, werden sie beim Vorhandensein einer eigenen Archivseite – auch wenn sie älter als das Archivierungsdatum sind – weiterhin auf der Blogseite aufgelistet.

Angabe der Kommentaranzahl zu einem Beitrag

Wenn man ein Kommentarplugin wie Twocents_XH oder Comments_XH bei einzeldateibasierten Beiträgen nutzt, wird die Anzahl der Kommentare auf der Blogseite automatisch angezeigt.

Bei seitenbasierten Beiträgen muss man das Kommentarplugin extra unten auf der Seite installieren, z.B. {{{twocents 'passendkodierterSeitenname'}}}. Es kommt darauf an, den Seitennamen auf passend kodierte Art einzugeben, denn nur alphanumerische Zeichen, - und _ werden so wie sie sind akzeptiert. Wenn noch andere Zeichen im Seitennamen vorkommen, müssen diese entsprechend den Einstellungen, die man in CMSimple getätigt hat, verändert werden. Normalerweise wird statt dem Leerzeichen ein Bindestrich genommen und in deutschsprachigen Seiten werden Ö Ä Ü ö ä ü ß zu Oe Ae Ue oe ae ue ss. Andere Zeichen werden URL-encodiert, was allerdings in manchen Browsern in der Anzeige wieder zurückkodiert wird, so dass einem dann die Anzeige in der Adressliste nicht weiter hilft. Hier kann man über einen online URL Decoder/Encoder den passenden Code finden.

Blog mit seitenbasierten Beiträgen

Normalerweise auch hier nur {{{miniblog}}} aufrufen. Liegen aber die Seiten der Blogbeiträge nicht unterhalb der eigentlichen Blogseite, dann muss man die entsprechende Seite Oberseite als 1. Argument im Pluginaufruf eintragen, {{{miniblog ['Oberseite der Blogbeiträge' , etc. ] }}}. So weiß das Plugin, wo es die Beiträge zu suchen hat. Für Backlinks muss in der Sprachdatei immer die eigentliche Blogseite eingetragen werden. Falls die Beiträge aber unterhalb einer anderen Seite stehen, muss man diese Seite ebenfalls in dem entsprechenden Feld der Sprachdatei eingeben.

Blog-Datum:
Hier nimmt Miniblog das Datum, das es in Pagedata > Seite > Veröffentlichungszeitraum (1. Feld) findet
Wenn das Feld leer ist, wird das Bearbeitungsdatum genommen.

Schlüsselwort(e):
Zuerst schaut Miniblog in Pagedata > Meta > Keywords
Wenn leer, wird Text je nach Konfig.-Einstellung aus einer ersten h6, h5, h4 Überschrift oder dem ersten fetten oder kursiven Textstelle genommen oder leer gelassen.

Teaser-Text:
Die erste Quelle ist Pagedata > Meta > Description
Wenn leer, wird je nach Konfig.-Einstellung Text vom Anfang des ersten <p>-Absatzes oder vom dem was der Überschrift folgt genommen.

Kategorien:

Unterseiten = Kategoriennamen
bei Blogs in Unterunterseiten

|
Blog-Inhaltsverzeichnis
|
|__Kategorie 1
| |
| |__Blog1
| |
| |__Blog2
| |
| |__Blog3
|
|__Kategorie 2
|
|__Blog4
über ausgewählte Zeichenfolgen, z.B. Cat_
am Anfang von Überschriften versteckter Seiten

|
Blog-Inhaltsverzeichnis
|
|__Cat_Kategorie 1
|
|__Blog1
|
|__Blog2
|
|__Blog3
|
|__Cat_Kategorie 2
|
|__Blog4

Kategorien: Miniblog-Blogeinträge haben normalerweise eine Kategorie, entweder die Ebene über den eigentlichen Blogeinträgen oder Seiten mit Schlüsselwort. Die Kategorieseiten haben selbst keinen Text. Man versteckt sie am besten, damit sie nicht im Menü erscheinen. Man kann zusätzlich noch alle Blogseiten verstecken, wenn man nicht möchte, dass sie im Seitenmenü erscheinen.

Teaser-Bilder: Ein Bild in den Kategorieseiten erscheint in der Blogübersicht am Anfang aller Teaser die zu der jeweiligen Kategorie gehören.

Blogeinträge ohne Kategorie sind auch möglich: Bei Nutzung der Unterseitenmethode sind das Einträge mit Text auf der Kategorie-Ebene. Bei Nutzung der Schlüsselwortmethode sind es Seiten, über denen keine Seite mit Schlüsselwort steht.

Datum: Ist das Veröffentlichungsdatum noch nicht erreicht, wird der Blogeintrag nicht gelistet

Archiv: Ist automatische Archivierung eingestellt und wird das Archivierungsdatum unterschritten, wird der Blogeintrag nur im Blog-Archiv gelistet

Ablaufdatum: Ist bei einem Blogeintrag im Pagedata-Veröffentlichungszeitraum ein Ablaufdatum eingetragen, Kann diese Seite nach Ablauf des Datums nicht mehr per Link erreicht werden und wird dann von Miniblog überhaupt nicht mehr gelistet.