
Powered by Die WEB-Architektin

Powered by Die WEB-Architektin
12. Dezember 2011
Der NivoSlider ist ein beliebtes Tool für die Einbindung von Bildergalerien in Websites. Er tauscht beliebig viele Bilder automatisch in vorgegebenen Abständen und mit verschiedenen Effekten aus und ersetzt damit schwerfällige und schwer zu pflegende Flash-Dateien.
Das default-Theme des NivoSliders enthält ein minimalistisches Design mit kleinen Bullets unter den Bildern zum individuellen Umschalten. Die Bullets sind normalerweise zentriert, die Zentrierung ist dabei allerdings auf die Demo mit 4 Bildern ausgerichtet. Wer mehr Bilder in den Slider integrieren möchte, hat mehr Bullets unter dem Slider und damit verrutschen sie nach rechts. Schuld daran ist die absolute Positionierung.
Doch es gibt eine einfache Lösung für dieses Problem.
» CSS-Tipp: Zentrierte Bullets für NivoSlider bei variabler Bilderzahl weiterlesen
6. Februar 2011
Nullwerte in einer Spalte werden in MySQL standardmäßig vor dem Alphabet einsortiert. Das bedeutet, dass die Datensätze ohne Wert in einer alphabetisch sortierten Spalte ganz oben stehen. Das ist aber nicht immer gewünscht.
Ein Anwendungsfall ist z. B. eine Kontaktliste mit Wiedervorlage-Datum.
» Snippet: NULL-Werte nach hinten sortieren in MySQL weiterlesen
6. Januar 2011
Dieser Tipp richtet sich an Entwickler, die bereits mit dem Zend Framework arbeiten (und dient mir als Gedankenstütze).
Einer der großen Vorzüge des Zend Framework ist die einfache Suchmaschinenoptimierung der URLs. Diese kann über die Namensvergebung von Controller und Action gesteuert werden. Werden Namen für Controller und Action vergeben, die die wichtigsten Keywords enthalten, sind die URLs automatisch keyword-optimiert.
So ruft www.meine-website.de/webentwicklung/angebot die AngebotAction im WebentwicklungController auf.
Einziges (mutmaßliches) Problem dabei: Es kann immer nur ein zusammengesetztes Wort für den Controllernamen und für die Action verwendet werden. Wirkliche Suchmaschinenoptimierung mit mehreren Keywords oder Phrasen ist damit nicht möglich. Wollte man z. B. Zend Framework als Keyword in der Website nutzen, müsste man nach dieser Methode das Wort zusammenfassen (zendframework), mit dem das Keyword etwas an Kraft verliert, oder es aufteilen (zend/framework – Framework-Action im Zend-Controller), was dann wiederum anderen Probleme nach sich zieht (wenn man verschiedene Funktionen im Zend Framework Controller anbieten will, die dann als Parameter übergeben werden müssten).
Es ist aber doch möglich, für den Controller-Namen mehrere mit Bindestrich getrennte Worte zu verwenden. Sie werden wissen: Im Klassennamen sind Bindestriche nicht erlaubt. Doch Zend Framework löst die Bindestriche clever auf, indem es den Bindestrich entfernt und im Klassennamen den ersten Buchstaben nach dem Bindestrich als groß geschrieben erwartet.
Die URL würde damit z. B. lauten www.meine-website.de/zend-framework/angebot. Diese URL ruft die AngebotAction im ZendFrameworkController auf.
13. September 2010
Zend Framework liefert mit Zend_Acl und Zend_Auth leistungsstarke Klassen, mit denen sich eine Zugriffssteuerung sehr schnell und einfach umsetzen lässt. Ich möchte an einem praktischen Beispiel zeigen, wie eine solche Implementierung aussehen kann.
Ausgangsbasis ist das Quickstart Projekt des Zend Framework.
16. Juli 2010
So mancher ist beim Update des Zend Framework auf Version 1.10 auf diese Fehlermeldung gestoßen.
Nun ist so eine Warnung nicht wirklich kritisch, aber sie verunsichert ja doch etwas. Und der Workaround ist einfach.
Die Warnung erscheint, weil im include_path Pfade angegeben sind, die nicht in der open_basedir Einstellung enthalten sind. In der neuen ZF Version durchläuft der Zend_Loader die einzelnen include-Pfade und prüft, ob sie lesbar sind (und die Pfade, die nicht zusätzlich in open_basedir stehen, sind es nicht).
Zur Lösung gibt es zwei Möglichkeiten. Zunächst solltet ihr prüfen, welche Pfade in include_path und open_basedir stehen (php.ini). Dazu dient die Funktion phpinfo(), die alle php.ini Einstellungen ausgibt.
Beide Werte lassen sich überschreiben, daher könnt ihr
1) Die fehlenden Pfade zu open_basedir hinzufügen.
ini_set('open_basedir', ini_get('open_basedir') . PATH_SEPARATOR . '/mein/fehlender/absoluter/pfad');
2) include_path einfach so umschreiben, dass nur noch die Pfade darin stehen, die ihr wirklich für eure Applikation benötigt.
set_include_path('der/pfad/zu/meiner/library');
Bei der zweiten Variante müsst ihr jedoch unbedingt darauf achten, dass ihr wirklich alle benötigten Verzeichnisse einbindet, da sonst eure Applikation gar nicht mehr laufen wird.