<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Axel Jung &#187; zend-framework</title>
	<atom:link href="http://www.ajung.de/tag/zend-framework/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.ajung.de</link>
	<description>Privater Blog von Axel Jung aus Wiesbaden</description>
	<lastBuildDate>Mon, 03 May 2010 19:12:47 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0</generator>
		<item>
		<title>Lightbox mit Dojo und dem Zend Framework</title>
		<link>http://www.ajung.de/2009/01/12/lightbox-mit-dojo-und-dem-zend-framework/</link>
		<comments>http://www.ajung.de/2009/01/12/lightbox-mit-dojo-und-dem-zend-framework/#comments</comments>
		<pubDate>Mon, 12 Jan 2009 18:00:06 +0000</pubDate>
		<dc:creator>ajung</dc:creator>
				<category><![CDATA[Javascript]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[dojo]]></category>
		<category><![CDATA[zend-framework]]></category>

		<guid isPermaLink="false">http://www.ajung.de/?p=470</guid>
		<description><![CDATA[Das Javascript Framework Dojo lässt sich mit dem Zend Framework besonders elegant einsetzen. Man kann die Integration von Dojo im der Controler Schicht, also in den Actions aktivieren und auch von dort angeben welche Module von Dojo man benötigt. So kann man sichergehen das die benötigten Javascript Dateien nur auf den Seiten geladen werden, wo [...]]]></description>
			<content:encoded><![CDATA[<p>Das Javascript Framework Dojo lässt sich mit dem Zend Framework besonders elegant einsetzen. Man kann die Integration von Dojo im der Controler Schicht, also in den Actions aktivieren und auch von dort angeben welche Module von Dojo man benötigt. So kann man sichergehen das die benötigten Javascript Dateien nur auf den Seiten geladen werden, wo sie auch genutzt werden.</p>
<p>Wenn ich also das Lightbox Modul verwenden möchte, füge ich nur folgenden Code in der Action Methode ein:</p>
<pre>$this-&gt;view-&gt;dojo()-&gt;enable();
$this-&gt;view-&gt;dojo()-&gt;requireModule('dojox.image.Lightbox');
$this-&gt;view-&gt;headLink()-&gt;appendStylesheet('/js/dojox/image/resources/Lightbox.css');</pre>
<p>Zusätzlich hat das Dojo Framework die praktische Eigenschaft, dass es sich alle zu dem Modul notwenigen Module selber nach per Ajax lädt.</p>
<p>Mit der Methode <strong>addOnLoad()</strong> kann ich eine Funktion definieren, die beim Laden der Seite aufgerufen wird. Dadurch kann man an verschiedenen Stellen eine Funktion zum Onload Ereignis hinzufügen ohne dass diese sich überschreiben.</p>
<pre>$this-&gt;view-&gt;dojo()-&gt;addOnLoad('initLightbox');</pre>
<p>In einer seperaten JavaScript Datei habe ich das Initialisieren der Lightbox definiert.</p>
<pre>var initLightbox = function(){
	dojo.query(".thumbs li a").forEach(function(node, index, arr){
		var href = dojo.query('img',node)[0].src.replace('/thumbs/','/pics/');
		var lb = new dojox.image.Lightbox({title:dojo.query('.tipp',node)[0].innerHTML, group:"group2", href:href ,style:'padding:40px;'});
		lb.startup();
		dojo.connect(node,'onclick',function(e){
			e.preventDefault();
			lb.show();
		});
	});
}</pre>
<p>Dieser Code erzeugt aus einer einfachen Liste mit Links auf Bilder einer schönen Light Box mit Blätter Funktion.</p>
<pre>&lt;ul class="thumbs"&gt;
	&lt;li&gt;
		&lt;a id="68" href="/galery/picture/id/68"&gt;&lt;img width="100" height="67" src="/images/galeries/1/thumbs/001.jpg" alt="56 x 42 cm" /&gt;&lt;/a&gt;
	&lt;/li&gt;
	....

<img class="size-full wp-image-475 alignnone" title="light" src="http://www.ajung.de/wp-content/uploads/2009/01/light.png" alt="light" width="283" height="168" /></pre>
]]></content:encoded>
			<wfw:commentRss>http://www.ajung.de/2009/01/12/lightbox-mit-dojo-und-dem-zend-framework/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Internationalisierung mit dem Zend Framework</title>
		<link>http://www.ajung.de/2009/01/07/internationalisierung-mit-dem-zend-framework/</link>
		<comments>http://www.ajung.de/2009/01/07/internationalisierung-mit-dem-zend-framework/#comments</comments>
		<pubDate>Wed, 07 Jan 2009 17:00:53 +0000</pubDate>
		<dc:creator>ajung</dc:creator>
				<category><![CDATA[Internet]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[zend-framework]]></category>

		<guid isPermaLink="false">http://www.ajung.de/?p=453</guid>
		<description><![CDATA[Normalerweise verwende ich zu Implementierung der Mehrsprachigkeit auf Webseiten die gettext Funktionalität. Die Internationalisierung  mit dem Zend Framework unterstützt neben gettext auch noch andere Formate. TMX Format Insbesondere die Möglichkeit, die Sprachdateien in TMX Format zu verwenden, finde ich sehr praktisch. Dadurch entfällt das Editieren und Kompilieren der Sprachdateien in einem PO Editor. Die TMX [...]]]></description>
			<content:encoded><![CDATA[<p>Normalerweise verwende ich zu Implementierung der Mehrsprachigkeit auf Webseiten die gettext Funktionalität. Die Internationalisierung  mit dem Zend Framework unterstützt neben gettext auch noch andere Formate.</p>
<h3>TMX Format</h3>
<p>Insbesondere die Möglichkeit, die Sprachdateien in TMX Format zu verwenden, finde ich sehr praktisch. Dadurch entfällt das Editieren und Kompilieren der Sprachdateien in einem PO Editor.</p>
<p>Die TMX Datei kann mit jeden XML Editor bearbeitet werden uns sieht ungefähr so aus:</p>
<p>&lt;?xml version=&#8221;1.0&#8243; encoding=&#8221;UTF-8&#8243;?&gt;<br />
&lt;tmx version=&#8221;2.0&#8243; xmlns=&#8221;http://www.lisa.org/tmx20&#8243;&gt;<br />
&lt;header adminlang=&#8221;en&#8221; creationtool=&#8221;locale4j&#8221; creationtoolversion=&#8221;1.1&#8243; o-tmf=&#8221;unknown&#8221; segtype=&#8221;block&#8221; /&gt;<br />
&lt;body&gt;<br />
&lt;tu tuid=&#8221;intro1&#8243;&gt;<br />
&lt;tuv xml:lang=&#8221;en&#8221;&gt;<br />
&lt;seg&gt;Englisch&lt;/seg&gt;<br />
&lt;/tuv&gt;<br />
&lt;tuv xml:lang=&#8221;de&#8221;&gt;<br />
&lt;seg&gt;Deutsch&lt;/seg&gt;<br />
&lt;/tuv&gt;<br />
&lt;/tu&gt;</p>
<h3>Zend_Locale und Zend_Translation</h3>
<p>In der Kombination mit der Zend_Locale und Zend_Translation hat man mit diesen kurzen Code Zeilen ein Objekt zum Übersetzten der Texte. Die Zend_Lokale sorgt automatisch dafür, dass die vom Benutzer bevorzugte Sprache verwendet wird.</p>
<pre lang="php">$locale = new Zend_Locale();
$defaultlanguage = 'de';
$translate = new Zend_Translate('tmx',
    '../languages/messages.tmx',
    $locale,
    array('disableNotices'=&gt;true)
);
if (!$translate-&gt;isAvailable($locale-&gt;getLanguage())) {
    $translate-&gt;setLocale($defaultlanguage);
}</pre>
<p>Wenn man das Translate Objekt dem View hinzufügt, kann man in den Templates einfach darauf zugreifen:</p>
<pre lang="php">&lt;p&gt;&lt;?=$this-&gt;translate-&gt;_('intro1');?&gt;&lt;/p&gt;</pre>
<h3>Zend_Locale_Format</h3>
<p>Mit der Klasse Zend_Locale_Format kann man Zahlen und Datum passend zu der Lokale anzeigen.</p>
<pre>echo Zend_Locale_Format::toFloat(13547.3655,array('precision' =&gt; 2,));</pre>
<p>So kann man auf für kleine Seiten sehr schnell eine mehrsprachige <span><span>Webseite</span></span> zur Verfügung stellen.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.ajung.de/2009/01/07/internationalisierung-mit-dem-zend-framework/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
