Browsing all articles in Tutorials
Apr
17

Elemente auf Seitenmitte

Ein gut behütetes Geheimnis ist es, so musste ich feststellen, wie man ein Element, in meinem Beispiel ein DIV, in der Seitenmitte zentriert. Es sollte nicht nur auf der horizontalen Vertikal zentriert sein, sondern auch in der horizontalen. Egal wen man befragte bekam man nie eine klare Aussage. Im Internet merkwürdigerweise findet man in den Top Google Funden nur Tabellen-Layouts. Diese anzuwenden stand für mich außer Frage, da sie einfach nicht mit der Zeit gehen und die Tabellen missbrauchen für etwas für das sie nicht sind. Auf meiner Suche also fand ich Hinweise, die mich dann letztendlich zum Ziel führten.

Als erstes versuchte ich es mit dem einfachen:

div.center-layer {
position: absolute;
top: 50%;
left: 50%;
}

Mit diesem erreichte ich schon einmal ein beginnendes DIV in der Mitte der Seite. Natürlich ging es viel zu weit herab und viel zu weit nach rechts. Nur die Ecke links-oben lag mittig. Nun fand ich im Internet einen Trick, der mir bisher unbekannt war. Negative Margins. Mit diesen habe ich noch nie zu tun gehabt und doch erschien es sofort logisch. Wichtig dabei ist, dass es wohl in einigen Browsern nicht so recht funktioniert. Ich habe es nicht getestet, aber wahrscheinlich geht es dabei um den Internet Explorer 6. Mein Versuch fand im Chrome 10 und im Firefox 4 statt.

Um zurück zu kommen. Ich habe also ein einfaches DIV von 300×300 Pixel erstellt und es zentral ausgerichtet. Der Code ist dabei recht simpel, wenn ich Anfangs auch an kompliziertere Konstrukte dachte. Das einzige worauf man noch achten muss ist, dass der negative Margin genau der Hälfte des eigentlichen DIVs beträgt.

div.center-layer {
position: absolute;
top: 50%;
left: 50%;
width: 300px;
height: 300px;
margin-left: -150px;
margin-top: -150px;
}

Eines habe ich bei der Suche nach dieser Lösung gelernt: Das Internet bietet nicht immer eine schnelle Antwort.

Nov
22

Übersetzung ohne ViewHelper

Jeder, der mit Übersetzungen, im Zend Framework arbeitet kennt es. Das lange ungetüm, das es braucht um einen einzelnen String im View zu übersetzen. Dafür gibt es aber eine Lösung, eine Kurzfassung, die ich hier vorstellen will. Das Zend Framework bietet einem Filter für den View. Filter, die nach dem Rendern eines Views ausgeführt werden und zum Ziel haben die Ausgabe im Nachhinein zu verändern. Einen solchen Filter stelle ich hier nun zur Verfügung.

weiterlesen

Nov
18

Translate Resource

Oftmals wird hier im Blog das Thema Zend_Translate angesprochen. Die bisherigen Themen dazu sind aber leider entsprechend veraltet und so soll hier auch in diesem Bereich etwas Moderne den Einzug halten. Ich habe für mein kleines Projekt eine eigene Translate Resource mit Modulfähigkeit geschrieben. Im Folgenden will ich ein kurzes Beispiel zur Verwendung der Resource bringen. Es ist dabei unbedingt zu beachten, dass ich in dieser einfachen Version der Resource auf Exceptions verzichtet habe. Diese werden im Laufe der Zeit noch dazu kommen, ebenso wie die nötige Cache Funktionalität. Mein Beispiel basiert auf TMX Dateien, welche ich persönlich empfehle, da sie XML Dateien sind und somit leicht über ein entsprechendes Frontend zu bearbeiten sind. Dieses kann sich zum Beispiel im Adminbereich einer Website finden.

Nun beginnen wir.

Ich will im View einen String ausgeben. Natürlich verwende ich dafür den entsprechenden ViewHelper. Wenn man dies jedoch einbaut, dann wird man feststellen, dass es keine Übersetzung gibt, sondern der String an sich ausgegeben wird.

< ?php echo $this->translate('testMessage'); ?>

Um nun der Applikation die Mehrsprachigkeit hinzuzufügen braucht es einige erst einmal der Resource, die sich am Ende dieses Artikels findet. Ich gehe davon aus, dass hier ein Basiswissen Resourcen besteht und man weiß, wie man sie einbindet. Um die Resource zu aktivieren und zu konfigurieren braucht es in der Konfigurationsdatei der Applikation, bei mir die application.php, einiger Variablen.

weiterlesen

Nov
6

Ein Widget-System

Ein Widget-System wirft zu vorderst die Frage auf: “Hä? Wozu? Was ist das”, doch dahinter verbirgt sich eine einfache Logik. Das Zend Framework bietet bereits Action- und ViewHelper, die natürlich in ihren jeweiligen Bereichen sehr praktisch sind. Wenn es aber an ein CMS-System geht in dem man den Usern die Möglichkeit bieten möchte ebenso Helper in die Seiten einzubinden, dann kann man ihnen unmöglich erlauben einfach auf diese normalen Helper zuzugreifen. Für diesen Fall benötigt man ein eigenständiges System um die Stabilität des Gesamtsystems zu garantieren. Konsistenz ist nur einer der Vorteile, die natürlich wahrlich Subjektiv und Einsatzabhängig sind.

weiterlesen

Dez
14

Installation Zend Studio 7

Das Zend Studio ist wohl den meisten Webentwicklern bekannt. Ich habe mich nunmal daran versucht es auf einem 64bit System zum laufen zu bringen. Derzeit habe ich das Amilo Pi 3660, über das ich ja bereits einige mal berichtet habe. Auf seinem Dual Core und seinen 4 GB Ram dachte ich läuft es eigentlich recht flink, aber ich muss ehrlich sagen, dass ich im Bereich der Installation recht enttäuscht bin. Die ganze Installation dauerte fast genau so lange wie auf meinen alten Rechnern. Man mag dem Amilo hierbei aber nichts vorwerfen können, da das Zend Studio nur als 32bit Windows Version ausgeliefert wird. Damit geht einiges an möglicher Leistung verloren. Nunja. Schaut selbst. In den nächsten Tagen werde ich die Geschwindigkeit des Studios selber testen.

[swfobj src="http://www.zorta.de/wp-content/uploads/2009/12/Installation_Zend_Studio.swf" height="500" width="600"]
Das Video in voller Größe