ContentLion - Open Source CMS

Sharing-Plugins

Die Sharing-Plugins sollen die kleinen Buttons für Facebook und Co zum Teilen anzuzeigen. Dabei soll es ein abstraktes Plugin geben, dass die Dienste verwaltet und für jeden Dienst jeweils ein Plugin, dass auf das abstrakte Plugin zurückgreift. Dadurch ist es möglich, schnell neue Dienste einzufügen, ohne das Basisplugin verändern zu müssen.

Das Basisplugin soll auch abseits vom Blog funktionieren. Das wichtigste dabei ist eine abstrakte Klasse, die von den Diensten dann implementiert werden muss. Diese stellt die Funktionen getDescription() und getUrl() zur Verfügung. Die Funktion getCode ist abstrakt und liefert dann, wie der Name schon sagt, den Code für den Button zurück. Es muss eine feste Buttongröße definiert werden, damit nicht alle Plugins unterschiedlich groß sein. Dafür sollte man vorher mal schauen, wie die meisten Buttons so aufgebaut sind.

Dann gibt es irgendwo eine statische Funktion, mit der dann eine Liste mit den abstrakten Plugins ausgegeben wird. Die Dienste müssen sich bei der Aktivierung anmelden, um in diese Liste aufgenommen zu werden. Im Skin kann dann die Anzahl der gewünschten Sharing-Buttons als Parameter mitgegeben werden und zurück kommt ein Array mit den einzelnen Dienst-Objekten. Im Optimalfall kann man auch einen Offset angeben, damit der Skin nur so viele Buttons anzeigen kann, wie möglich dort Platz haben. Es sollte dann aber auch möglich sein, alle Buttons zu bekommen.

Mögliche Dienste