Deutschland United States United Kingdom
ContentLion - Open Source CMS

QA Tabber

QA Tabber

"Mit diesem Plugin wird das Erstellen von Tab-Menüs für Plugins ein Kinderspiel!
Es hat Klassen mit an Board, mit denen man supereinfach Tab-Menüs und Reiter erstellen kann. Im Hintergrund wird dabei das JS-Script von BarelyFitz Designs (http://www.barelyfitz.com/projects/tabber/) genutzt.

Bsp-Code.:
$tabber = new Plugin_Tabber_Tabber();

$tab = new Plugin_Tabber_Tab("Test-Tab");
$tab->setCode("innerHTML.");

$tabber->addTab($tab);

$tab = new Plugin_Tabber_Tab("Test-Tab2");
$tab->setCode("innerHTML.2");

$tabber->addTab($tab);

echo $tabber->show();Mit diesem Plugin wird das Erstellen von Tab-Menüs für Plugins ein Kinderspiel!
Es hat Klassen mit an Board, mit denen man supereinfach Tab-Menüs und Reiter erstellen kann. Im Hintergrund wird dabei das JS-Script von BarelyFitz Designs (http://www.barelyfitz.com/projects/tabber/) genutzt.

Bsp-Code.:
$tabber = new Plugin_Tabber_Tabber();

$tab = new Plugin_Tabber_Tab("Test-Tab");
$tab->setCode("innerHTML.");

$tabber->addTab($tab);

$tab = new Plugin_Tabber_Tab("Test-Tab2");
$tab->setCode("innerHTML.2");

$tabber->addTab($tab);

echo $tabber->show();"

Code: http://code.contentlion.de/Plugin+Tabber/

Mein Feedback:
- Es fehlen PHP-Dokumentare. Wenn es jemand verwenden möchte, muss er sich immer erst raussuchen, für was jetzt welche Funktion ist. Am besten nutzt du PHPDoc
- Wieso heißt die CSS-Datei example.css?
- Denk an die Namespaces. Diese müssen auch im CSS und JS beachtet werden.
- Htmlentities vergessen. So kann man im Title Müll reinschreiben und die Seite kaputt machen. Bei demn CSS-Klassen musst du hingegen die doppelten Anführungszeichen mit Backslashes excapen.
- Die beiden statischen Funktionen würde ich mit in die getCode-Funktion integrieren.

Mein Feedback:
- Es fehlen PHP-Dokumentare. Wenn es jemand verwenden möchte, muss er sich immer erst raussuchen, für was jetzt welche Funktion ist. Am besten nutzt du PHPDoc
- Wieso heißt die CSS-Datei example.css?
- Denk an die Namespaces. Diese müssen auch im CSS und JS beachtet werden.
- Htmlentities vergessen. So kann man im Title Müll reinschreiben und die Seite kaputt machen. Bei demn CSS-Klassen musst du hingegen die doppelten Anführungszeichen mit Backslashes excapen.
- Die beiden statischen Funktionen würde ich mit in die getCode-Funktion integrieren.


Ja, ich werde noch eine Dokumentation hinzufügen. ;)
Die CSS-Datei heißt so, weil ich sie gleich von der Seite übernommen habe.^^
Habe sie aber jetzt in "style.css" umbenannt. ;)

@Namespace:
Auch in CSS?
Dann muss ich ja das ganze Script überarbeiten!...

@Html-Entities:
Hinzugefügt. ;)

EDIT:
Habe jetzt die Namespaces hinzugefügt, aber die 2 Methoden bei JS konnte ich nicht überarbeiten, aber meiner Meinung nach ist die Funktion tabberObj usw. ja eindeutig, alle Funktionen fangen mit "tabber" an.

@statische Funktionen:
Diese werden eig. gar nicht gebraucht, ich habe diese nur angelegt, damit andere leichter den JS-Code zum Anzeigen einzelner Tabs generieren können. ;)




Gruß

Justin

EDIT:
Habe jetzt alles, also auch die Dokumentation angepasst.
War ganz schön schwierig, da PHPDoc irgendwie net ging. ^^
Aber egal, kannst es jetzt nochmals testen. ;)

Dann tausch die Namen der statischen Fukntionen wenigstens ;-)

PHPDoc ist jetzt schon gut. Allerdings sollten "Kopie"-Dateien nicht im trunk sein. Eine Versionshistorie hast ja durch das SVN schon.

Namespaces sollten schon global eingehalten werden und überall. ist halt dafür da, um Konflikte zu vermeiden. Denke da sollten wir von Anfang an konsequent sein.

Dann tausch die Namen der statischen Fukntionen wenigstens ;-)

PHPDoc ist jetzt schon gut. Allerdings sollten "Kopie"-Dateien nicht im trunk sein. Eine Versionshistorie hast ja durch das SVN schon.

Namespaces sollten schon global eingehalten werden und überall. ist halt dafür da, um Konflikte zu vermeiden. Denke da sollten wir von Anfang an konsequent sein.


Ok...
Ja, habe die Kopie-Dateien gleich mal entfernt. ;)

@JS:
Mal sehen, vllt. bekomme ich es ja hin. ;)

So, hab jetzt auch die Funktionsnamen angepasst, es sollte also jetzt sogar überall der Namespace eingehalten werden.^^

- Die im Quellcode verlinkte seite wird gar nicht gefunden^^ http://contentlion.pf-control.de/tabber.html
- Einen Namespace noch vergessen: Beim EventManager (tabber.php Zeile 52)
- Du möchtest das Plugin mit GPL 2 veröffentlichen, das Script, was dem zu Grunde ist, ist aber mit MIT lizensiert. Solltest du erwähnen oder auch einfach MIT verwenden.
- Warum benutzt du die tabber.js und nicht die tabber-minimized.js? (wenn da die namespaces richtig wären). Zur Not hau die minimized einfach raus, wenn du sie nicht nutzt
- Hast in der Info den Namen "Tab-Unterstützung" genommen. Meinst der ist gut, wenn du das Plugin auf Deutsch und Englisch anbietest?^^ Wie wärs einfach mit Tabber?
- Kannst du in der Tab-Klasse noch eine Funktion machen, um den Titel zu ändern? Musste beim testen erstmal im Code schauen, wie das geht^^


Sind ja nur noch Kleinheiten. Werde schonmal die Beschreibung anfangen, dann können wir es bald Schnell rausbringen.

Jetzt existiert die Seite. :D

@Namespace:
Korrigiert. ;)

@Lizenz:
Was besagt denn die MIT-Lizenz?
Ansonsten stelle ich halt auf diese Lizenz um.^^

@tabber.js & ~minimized:
Ich hab erstmal die minimized entfernt, da sich das Umstellen auf den Namespace dort als etwas kompliziert verhält...

@Plugin-Name:
Habs geändert, Danke für den Tipp! :)

@Titel:
Jep, heißt jetzt "setTitle($title)". ;)

Ok, muss nur noch das mit der Lizenz geklärt werden. Schau mal auf http://opensource.org/licenses .

Google Übersetzer sagt das:

Zitat

Hiermit wird die Erlaubnis erteilt, kostenlos, jeder Person, die eine Kopie dieser Software und der zugehörigen Dokumentationen (die "Software"), der in der Software uneingeschränkt zu benutzen, einschließlich ohne Einschränkung der Rechte zum Verwenden, Kopieren, Ändern, Zusammenführen , zu veröffentlichen, zu vertreiben, lizenzieren und / oder Verkauf von Kopien der Software, und den Personen, denen die Software geliefert, dies zu tun ist, unterliegt den folgenden Bedingungen eingehalten werden:

Der obige Copyright-Hinweis und diese Erlaubnis müssen in allen Kopien oder wesentlichen Teilen der Software enthalten sein.

DIE SOFTWARE WIRD "AS IS", OHNE JEGLICHE GARANTIE, AUSDRÜCKLICH ODER EINSCHLIESSLICH, ABER NICHT AUF DIE GARANTIE DER MARKTGÄNGIGKEIT, EIGNUNG FÜR EINEN BESTIMMTEN ZWECK UND NICHTVERLETZUNG. IN KEINEM FALL SIND DIE AUTOREN ODER URHEBERRECHTSINHABER HAFTUNG FÜR SCHADEN ODER SONSTIGE HAFTUNG, AUCH IN EINEM VERTRAG, SCHULD ODER NICHT, DIE AUS ODER IN VERBINDUNG MIT DER SOFTWARE ODER DER VERWENDUNG ODER ANDERE Handel mit den SOFTWARE.


Also steige ich einfach auf die MIT-Lizenz um. ;)

Ist draußen das Ding: http://www.contentlion.de/plugins/tabber-tab-generator.html

Deine anderen Sachen werd ich dann in den nächsten Tagen testen.