(Opens in a new window - öffnet in einem neuen Fenster)
Kurz-Dokumentation Plugin "SubsiteFuncs"
Version SubsiteFuncs 2.5 - released 07/2023
Kurzbeschreibung
Das CMSimple Plugin SubsiteFuncs enthält 5 Funktionen bzw. Funktionsgruppen:
- Subsites Menüs verbinden Subsites (ähnlich dem Sprachmenü), es können Menüs einzelner Subsites Gruppen dargestellt werden werden
- Gruppen Menüs präsentieren die Subsites automatisch in Gruppen angeordnet
- Suche innerhalb von Subsites, die in der Text Datenbank enthalten sind
- XML Sitemap incl. Subsites, die in der Text Datenbank enthalten sind
- Ersetzung des CMSimple Inhaltsverzeichnisses durch ein Inhaltsverzeichnis über alle Subsites
Vorhandene Subsites werden automatisch erkannt, müssen aber noch in die Datenbank eingetragen werden, damit sie in den Menüs erscheinen und von der Suche und der XML Sitemap erfasst werden.
Somit kann man auch weiterhin unabhängige Subsites betreiben, die von Menüs, Suche und XML Sitemap nicht erfasst werden, indem man sie einfach nicht in die Datenbank einträgt, oder erst dann, wenn sie fertig zur Veröffentlichung sind.
1. Systemvoraussetzungen
Voraussetzung ist eine funktionierende Installation von CMSimple 4.2 oder höher.
Empfohlen wird die aktuellste Version von CMSimple.
2. Installation
- zip-Datei herunterladen und mit einem geeigneten Programm entpacken
-
- Laden Sie die komplette Ordner-Struktur des Verzeichnisses "CMSimpleRoot" (die Verzeichnisse "plugins" und "content") in das Installationsverzeichnis von CMSimple hoch.
- Ihr ftp Programm wird merken, dass es diese Verzeichnisse bereits gibt, und Sie fragen, ob Sie das wirklich tun wollen. Beantworten Sie diese Frage einfach mit "ja", "ok" oder was immer Ihr ftp Programm anbietet.
- Bei einem Update laden Sie einfach das Verzeichnis "content" nicht mit hoch.
- Vergeben mit Ihrem ftp-Programm die erforderlichen Lese- und Schreibrechte für Ordner und Dateien.
Vor einem Update erstellen Sie unbedingt eine Sicherheitskopie des alten Plugins, damit Sie eventuelle Änderungen/Ergänzungen an der stylesheet.css, der Konfiguration und den Sprachdateien wieder herstellen können.
3. Datei- und Ordnerrechte
Damit das Programm funktioniert und arbeiten kann (bzw. administrierbar ist), müssen für bestimmte Dateien und Ordner bestimmte Schreib- und Leserechte vergeben werden.
Ordner (chmod 777)
- ./plugins/subsitefuncs/languages/
Dateien (chmod 666)
- ./plugins/subsitefuncs/config/config.php
- ./plugins/subsitefuncs/css/stylesheet.css
- ./plugins/subsitefuncs/languages/alle Dateien
- ./content/plugins/subsitefuncs/ssf_data.php
4. Die Funktionen (Plugin Aufrufe)
4.1 Das Subsites Menü
Da die Menüs in der Regel im Template aufgerufen werden, wird hier die Syntax zum Aufruf in der template.htm präsentiert.
Diese Funktion ist die Hauptfunktion. Beim Aufruf ohne Parameter zeigt diese Funktion alle Subsites an, die in der Textdatenbank erfasst sind:
<?php echo ssf_subsitesMenu();?>
Mit Angabe der folgenden Parameter kann man die Ausgabe der Funktion beeinflussen:
<?php echo ssf_subsitesMenu('Gruppe','Link zur Hauptseite','Erweiterung CSS Klasse');?>
Gruppe: der Name der Gruppe, die angezeigt werden soll. Voreinstellung: 'all' (alle Gruppen)
Link zur Hauptseite: 'true' zeigt über den Subsites einen Link zur Hauptseite (CMSimple Root) an. Voreinstellung: 'true'
Erweiterung CSS Klasse: für alternatives CSS, wird an den Klassennamen des div-Containers angehängt. Voreinstellung: 'default'
4.2 Die Gruppen Menüs
Die Gruppen Menüs sind nicht ganz so einfach zu verstehen und sollten nur von erfahrenen Anwendern in Angriff genommen werden. Sie sind auch nur bei sehr umfangreich strukturierten Internet Auftritten sinnvoll, in der Regel sind die Subsites Menüs ausreichend.
4.2.1 Das Gruppen Menü JS1
Die Gruppenmenüs können einzeln auf- und zugeklappt werden, die aktuelle Gruppe bleibt immer offen. Beim Aufruf ohne Parameter wird das Menü im Standard Design angezeigt und ohne Erweiterung der CSS Klasse ausgegeben.
<?php echo ssf_groupsMenuJS1();?>
Mit Angabe der folgenden Parameter kann man die Ausgabe der Funktion beeinflussen:
<?php echo ssf_groupsMenuJS1('Erweiterung Design Klasse','Erweiterung Funktions Klasse','Höhe der Menüpunkte');?>
Erweiterung Design Klasse (optional): Erweiterung der CSS Klasse, wird an den Klassennamen des div-Containers angehängt. Voreinstellung: 'default', nur notwendig, wenn unterschiedlich gestaltete Menüs verwendet werden.
Erweiterung Funktions Klasse (optional): Erweiterung der CSS Klasse, wird an den Klassennamen angehängt. Voreinstellung: '' (leer), nur notwendig, wenn mehrere gleiche Menüs auf einer Seite platziert werden sollen. Beispiel: '01'
Höhe der Menüpunkte (optional): Gilt nur für die geschlossenen Menüpunkte, Standard ist 36px. Beispiel: '48px'
4.2.2 Das Gruppen Menü JS2
Öffnet man eine Gruppenmenü per Klick, schliessen sich alle anderen. Beim Aufruf ohne Parameter wird das Menü im Standard Design angezeigt und ohne Erweiterung der ID ausgegeben.
<?php echo ssf_groupsMenuJS2();?>
Mit Angabe der folgenden Parameter kann man die Ausgabe der Funktion beeinflussen:
<?php echo ssf_groupsMenuJS2('Erweiterung Design Klasse','Erweiterung ID','Höhe der Menüpunkte');?>
Erweiterung Design Klasse: (optional) Erweiterung der CSS Klasse, wird an den Klassennamen des div-Containers angehängt. Voreinstellung: 'default', nur notwendig, wenn unterschiedlich gestaltete Menüs verwendet werden. Beispiel: 'dunkel'
Erweiterung ID (optional): Erweiterung der ID des Menüs, wird an die ID des Menüs angehängt. Voreinstellung: '' (leer), nur notwendig, wenn mehrere gleiche Menüs auf einer Seite platziert werden sollen. Beispiel: '01'
Höhe der Menüpunkte (optional): Gilt nur für die geschlossenen Menüpunkte, Standard ist 36px. Beispiel: '48px'
4.2.3 Das offene Gruppen Menü
Bei diesem Menü sind alle Gruppenmenüs aufgeklappt. Beim Aufruf ohne Parameter wird das Menü im Standard Design angezeigt und ohne Erweiterung der ID ausgegeben.
<?php echo ssf_groupsMenuOpen();?>
Mit Angabe der folgenden Parameter kann man die Ausgabe der Funktion beeinflussen:
<?php echo ssf_groupsMenuOpen('Erweiterung Design Klasse');?>
Erweiterung Design Klasse: Erweiterung der CSS Klasse, wird an den Klassennamen des div-Containers angehängt. Voreinstellung: 'default', nur notwendig, wenn unterschiedlich gestaltete Menüs verwendet werden.
5. Die Suche
In der Plugin Konfiguration können Sie die "Suchfunktion über alle Subsites" aktivieren. Die ganz normale CMSimple Suchfunktion sucht dann in allen Subsites und gibt die Treffer nach Subsites geordnet aus.
Wird die "Suchfunktion über alle Subsites" nicht aktiviert, wird nur in der aktuellen Subsite gesucht.
6. Die XML Sitemap
Die XML Sitemap wird automatisch aktiviert, wenn das Plugin SubsiteFuncs installiert ist. Si können die erzeugte XML Sitemap ansehen, indem Sie zur Startseite wechseln an den URL in der Adresszeile Ihres Browsers "?xmlsitemap" anhängen.
Diese XML Sitemap müssen Sie nun noch den Suchmaschinen bekanntgeben. Das geschieht mit einer Datei robots.txt, diese muss muss im CMSimple_Root liegen und folgende Zeile enthalten:
Sitemap: http://www.example.com/?xmlsitemap
Am einfachsten ist es, die Sitemap in der echten CMSimple Installation aufzurufen und den URL in die entsprechende Zeile der robots.txt zu kopieren. Wenn es noch keine robots.txt gibt, müssen Sie diese erzeugen, die Zeile eintragen und die Datei in das CMSimple_Root hochladen.
7. CMSimple Inhaltsverzeichnis (Sitemap) über alle Subsites
In der Plugin Konfiguration können Sie das normale CMSimple Inhaltsverzeichnis durch ein "Inhaltverzeichnis über alle registrierte Subsites" ersetzen. Mehr dazu erfahren Sie in den Hilfetexten (blaue Fragezeichen) der Plugin Konfiguration.
8. Die Plugin Daten - Das Backend
Im Plugin Backend unter "Plugindaten bearbeiten" können Sie Subsites eintragen, diese erscheinen dann in den Menüs, werden mit durchsucht und sind in der XML Sitemap enthalten.
Für jede Subsite gibt es eine Zeile mit 3 Elementen, die durch einen senkrechten Strich getrennt sind:
Ordner|Name der Subsite|Gruppe
beispiel|Beispiel Subsite|Gruppe
...
Wenn Sie ohne Gruppen arbeiten (der Normalfall), müssen Sie trotzdem das 3. Element eintragen, schreiben Sie einfach irgendwas hin, z. B. "Alle" oder "Gruppe".
Zur Vermeidung von Schreibfehlern und als Gedankenstütze finden Sie unterhalb der Textarea eine Auflistung aller Subsites, die in der Datendatei eingetragen sind, und aller Gruppen, die in der Plugin Konfiguration eingetragen sind.
9. Danksagung
Die Module Suche, Sitemap und XML Sitemap über alle Subsites wurden entwickelt von Martin
SubsiteFuncs wurde grosszügig unterstützt und finanziert durch Hubertus