Social Media
Foren
Mein erstes Plugin (Analytics)
|
Mein erstes Plugin (Analytics)
Ich hab mich mal näher mit der Plugin Erstellung von ContentLion befasst. Dazu muss ich sagen, die Doku auf dieser Seite sollt eunbedingt erweitert werden. Ehrlich gesagt hab ich bei vorhanden Plugins abgeschaut wie es geht, und einen Teil der Blogbeiträge (Aufbau des CMS nachverfolgt, um klar zu kommen).
Egal, was war der Sinn des Plugins: Grundsätzloch ging es mir mal darum zu testen ob ich es überhaupt kann. Das Plugin selbst ist relativ simpel es fügt einen Trackingcode in die Webseite ein. Z.B. Von Google Analytics oder Piwik, oder was immer ihr wollt. (Mir ist bewusst, das man des auch statisch ins Template einbauen kann, wie gesagt, mir ging es mehr um den Test).
Was macht das Plugin:
Nach der Aktivierung habt ihr im Dashboard ein neues Widget, dort könnt ihr den Trackingcode Copy/Pasten (am besten mit dem "<script></script>" sonst wird es lustig
. Danach wird der Code über das Event System im Header eingebunden und angezeigt. Wie gesagt very simpel.

Das Plugin ist nur in Deutsch verfügbar, wenn es jemand übersetzten möchten, dann los -> es sind nur 3 Tokens
Ich wäre froh wenn erfahrene Plugin Entwickler und auch Stefan einen kurzen Blick darüber werfen können, um mir zu sagen ob ich verdammte scheisse gebaut habe oder man das Ding sogar brauchen kann
Das Plugin ist als .zip Archiv hier angehängt
analytics.zip
----
Noch eine Frage am Schluss, ist ContenLion UTF-8 oder ISO? Oder kann mir jemand folgendes Problem mit dem Zeichensatz erklären?

kim88
Edit: Jetzt merke ich, das es noch im falschen Forum ist, liebe Mods bitte verschieben oO
Egal, was war der Sinn des Plugins: Grundsätzloch ging es mir mal darum zu testen ob ich es überhaupt kann. Das Plugin selbst ist relativ simpel es fügt einen Trackingcode in die Webseite ein. Z.B. Von Google Analytics oder Piwik, oder was immer ihr wollt. (Mir ist bewusst, das man des auch statisch ins Template einbauen kann, wie gesagt, mir ging es mehr um den Test).
Was macht das Plugin:
Nach der Aktivierung habt ihr im Dashboard ein neues Widget, dort könnt ihr den Trackingcode Copy/Pasten (am besten mit dem "<script></script>" sonst wird es lustig

Das Plugin ist nur in Deutsch verfügbar, wenn es jemand übersetzten möchten, dann los -> es sind nur 3 Tokens

Ich wäre froh wenn erfahrene Plugin Entwickler und auch Stefan einen kurzen Blick darüber werfen können, um mir zu sagen ob ich verdammte scheisse gebaut habe oder man das Ding sogar brauchen kann

Das Plugin ist als .zip Archiv hier angehängt

----
Noch eine Frage am Schluss, ist ContenLion UTF-8 oder ISO? Oder kann mir jemand folgendes Problem mit dem Zeichensatz erklären?
kim88
Edit: Jetzt merke ich, das es noch im falschen Forum ist, liebe Mods bitte verschieben oO
iPhone 5 16GB black iPad Mini 16GB WiFi + Cellular black Apple TV 2
MacBook Pro Retina 15" Mid 2012 8GB RAM 27" Thunderbolt Display
MacBook Pro Retina 15" Mid 2012 8GB RAM 27" Thunderbolt Display
Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »kim88« (3. Juni 2013, 22:32)
|
Niemand muss meine Piwik Installation benutzen, das sollte nur ein Screenshot sein, der verdeutlicht wie es funktioniert 
Standardmässig ist kein trackingcode vordefiniert
man kann einfach seinen eigenen (von Piwik, Google Analytics, etc) einfügen.

Standardmässig ist kein trackingcode vordefiniert

iPhone 5 16GB black iPad Mini 16GB WiFi + Cellular black Apple TV 2
MacBook Pro Retina 15" Mid 2012 8GB RAM 27" Thunderbolt Display
MacBook Pro Retina 15" Mid 2012 8GB RAM 27" Thunderbolt Display
|
Aso jetzt
Im header ist so ne Sache mit der Lade geschwindigkeit![]()
Was schlägst du vor? Den Footer, rein technisch kein Problem -> aber nicht alle Skins, includen den Footer. Hmm vielleicht content_bottom -> mal warten was andere dazu meinen

iPhone 5 16GB black iPad Mini 16GB WiFi + Cellular black Apple TV 2
MacBook Pro Retina 15" Mid 2012 8GB RAM 27" Thunderbolt Display
MacBook Pro Retina 15" Mid 2012 8GB RAM 27" Thunderbolt Display
Hi,
Das klingt doch schon sehr gut!
Folgende Verbesserungen hab ich vorzuschlagen:
- Lass den Code nicht über ein Widget eintragen, sondern über die Einstellungen. Dazu fügst du in deiner info.php noch folgendes hinzu:
Die settings.php musst du in deinem Ordner anlegen und das ist dann die Einstellungsseite für dein Plugin.
(Ein Widget nimmt für sowas zu viel Platz weg, vorallem, weil man den Code nur einmalig einträgt.)
- Den Tracking-Code speicherst du aktuell in ner Datei, oder?
Mach das mal über die Settings, da du auf einem laufendem Server keine Rechte besitzt, diese Datei anlegen zu lassen --> Es wird ein Fehler kommen
(Sowas würde höchstens über das TempDir-Plugin gehen, welches die Dateien aber, wie gesagt, nur temporär speichert
)
Deine events/header.php-Datei muss also wie folgt aussehen:
Bei der activate.php musst du die Settings natürlich noch in die Tabelle eintragen.
Ansonsten:
Gute Arbeit!
Das klingt doch schon sehr gut!

Folgende Verbesserungen hab ich vorzuschlagen:
- Lass den Code nicht über ein Widget eintragen, sondern über die Einstellungen. Dazu fügst du in deiner info.php noch folgendes hinzu:
![]() |
PHP-Quelltext |
1 |
$pluginInfo->configurationFile = "settings.php";
|
Die settings.php musst du in deinem Ordner anlegen und das ist dann die Einstellungsseite für dein Plugin.

(Ein Widget nimmt für sowas zu viel Platz weg, vorallem, weil man den Code nur einmalig einträgt.)
- Den Tracking-Code speicherst du aktuell in ner Datei, oder?
Mach das mal über die Settings, da du auf einem laufendem Server keine Rechte besitzt, diese Datei anlegen zu lassen --> Es wird ein Fehler kommen
(Sowas würde höchstens über das TempDir-Plugin gehen, welches die Dateien aber, wie gesagt, nur temporär speichert

Deine events/header.php-Datei muss also wie folgt aussehen:
![]() |
PHP-Quelltext |
1 |
echo Settings::getInstance()->specify("plugin", "analytics")->get("analytics_code");
|
Bei der activate.php musst du die Settings natürlich noch in die Tabelle eintragen.

Ansonsten:
Gute Arbeit!

|
Salü Juku,
Danke für dein Feedback! Das mit den Einstellungen ist eine gute Idee. Kennst du gerade ein Plugin, das das so macht, dann kann ich mich dort etwas "reinlesen".
Ja den Trackingcode speichere ich in einer Datei, ist eigentlich eine "Notlösung" ich wollte es zuerst über die _settings Tabelle machen. Das Problem ist allerdings die Spalte "Value" gerade mal Platz für 255 Zeichen beitet (Varchar) - und die meisten Trackingcodes wohl etwas länger sind. Eine extra Tabelle anzulesen für einen Code, der sich wohl auch nie ändert fand ich doch etwas doof, also hab ich es über die Datei gespeichert. Notlösung
Wenn du hier eine elegantere Lösung präsentieren kannst, werde ich die gerne umsetzen.
Das mit den Rechten verstehe ich nicht ganz. Ich hab das Plugin auf meinem Server getestet. ich nutze die "FileServer - Klasse" dafür, der legt den Ordner an wo die Datei gespeichert wird. Die Klass elegt ja die Ordner automatisch mit den chmod 777 an.
Konkret schaut das so aus:
Oder verstehe ich dich falsch?
Nochmals Danke für das Feedback!
Danke für dein Feedback! Das mit den Einstellungen ist eine gute Idee. Kennst du gerade ein Plugin, das das so macht, dann kann ich mich dort etwas "reinlesen".
Ja den Trackingcode speichere ich in einer Datei, ist eigentlich eine "Notlösung" ich wollte es zuerst über die _settings Tabelle machen. Das Problem ist allerdings die Spalte "Value" gerade mal Platz für 255 Zeichen beitet (Varchar) - und die meisten Trackingcodes wohl etwas länger sind. Eine extra Tabelle anzulesen für einen Code, der sich wohl auch nie ändert fand ich doch etwas doof, also hab ich es über die Datei gespeichert. Notlösung

Wenn du hier eine elegantere Lösung präsentieren kannst, werde ich die gerne umsetzen.
Das mit den Rechten verstehe ich nicht ganz. Ich hab das Plugin auf meinem Server getestet. ich nutze die "FileServer - Klasse" dafür, der legt den Ordner an wo die Datei gespeichert wird. Die Klass elegt ja die Ordner automatisch mit den chmod 777 an.
Konkret schaut das so aus:
![]() |
Quellcode |
1 |
FileServer::createFolder('./system/plugins/analytics','trackingcode'); |
Oder verstehe ich dich falsch?
Nochmals Danke für das Feedback!
iPhone 5 16GB black iPad Mini 16GB WiFi + Cellular black Apple TV 2
MacBook Pro Retina 15" Mid 2012 8GB RAM 27" Thunderbolt Display
MacBook Pro Retina 15" Mid 2012 8GB RAM 27" Thunderbolt Display
Wenn der Ordner system/plugins nur die Rechte 0555 o.ä. hat, bist du auch über diese Möglichkeit nicht in der Lage, Dateien anzulegen.
@Settings:
Da hast du recht, das war mir noch gar nicht bewusst.
Dann kannst du höchstens das PluginData-Plugin verwenden, welches noch heute oder morgen veröffentlicht wird und dann in der Plugin-Galerie herunterzuladen ist. (siehe hier)
@Settings:
Da hast du recht, das war mir noch gar nicht bewusst.

Dann kannst du höchstens das PluginData-Plugin verwenden, welches noch heute oder morgen veröffentlicht wird und dann in der Plugin-Galerie herunterzuladen ist. (siehe hier)
|
Danke für das Plugin!
Kannst du es bitte über SVN einchecken, bevor du es im Forum hochlädst? So kann es auch in die Plugin-Gallerie aufgenommen werden.
http://www.contentlion.de/entwickler/svn-zugang.html
Kannst du es bitte über SVN einchecken, bevor du es im Forum hochlädst? So kann es auch in die Plugin-Gallerie aufgenommen werden.
http://www.contentlion.de/entwickler/svn-zugang.html
|
Leg ich dir gleich an, siehst du dann unter Meine Plugins
Wenn du noch fragen dazu hast, kannst dich gerne melden.
Wenn du noch fragen dazu hast, kannst dich gerne melden.

Ähnliche Themen
-
UserCounter »
-
QA UserCounter (23. Mai 2013, 20:31)
-
Support »
-
Cookie-Frage (28. Mai 2013, 15:03)
-
Erweiterungen »
-
Plugin einreichen (4. Mai 2013, 16:28)
-
Support »
-
Schon wieder ein Seiten Fehler :D (15. Dezember 2012, 18:48)
-
Erweiterungen »
-
Piwik idee! (1. August 2012, 18:33)