<?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>onlinecasinodemar.com &#187; Tutorials</title>
	<atom:link href="http://www.onlinecasinodemar.com/artikel/tutorials/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.onlinecasinodemar.com</link>
	<description>WordPress Themes &#38; Webdesign</description>
	<lastBuildDate>Wed, 05 Oct 2011 13:04:47 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.2.1</generator>
<meta name="generator" content="webdemar 3.0" />
		<item>
		<title>Adsense und andere Werbungen mit WordPress</title>
		<link>http://www.onlinecasinodemar.com/tutorials/adsense-und-andere-werbungen-mit-wordpress/</link>
		<comments>http://www.onlinecasinodemar.com/tutorials/adsense-und-andere-werbungen-mit-wordpress/#comments</comments>
		<pubDate>Mon, 31 Jan 2011 10:21:11 +0000</pubDate>
		<dc:creator>Paul</dc:creator>
				<category><![CDATA[Tutorials]]></category>
		<category><![CDATA[Adsense]]></category>
		<category><![CDATA[Werbungen]]></category>

		<guid isPermaLink="false">http://www.onlinecasinodemar.com/?p=2069</guid>
		<description><![CDATA[<img width="280" height="210" src="http://www.onlinecasinodemar.com/wp-content/uploads/2011/01/ggg.jpg" class="attachment-post-thumbnail wp-post-image" alt="ggg" title="ggg" />Sicherlich haben Sie beim Durchsuchen der WordPress-Themen schon Werbung gesehen, die als Adsensefertig bezeichnet wurde. Aber: Was hei&#223;t das im Detail? Grunds&#228;tzlich bedeutet es, dass das WordPress-Thema noch Platz f&#252;r Adsensewerbung in vorhandenen Gr&#246;&#223;en hat. Tats&#228;chlich ist fast jedes WordPress-Thema potenziell &#8220;Adsensebereit&#8221;, da in jede Thematik und an jeder Stelle Werbung platziert werden kann. Diese [...]]]></description>
			<content:encoded><![CDATA[<img width="280" height="210" src="http://www.onlinecasinodemar.com/wp-content/uploads/2011/01/ggg.jpg" class="attachment-post-thumbnail wp-post-image" alt="ggg" title="ggg" /><p>Sicherlich haben Sie beim Durchsuchen der WordPress-Themen schon Werbung gesehen, die als Adsensefertig bezeichnet wurde. Aber: Was hei&#223;t das im Detail? Grunds&#228;tzlich bedeutet es, dass das WordPress-Thema noch Platz f&#252;r Adsensewerbung in vorhandenen Gr&#246;&#223;en hat. Tats&#228;chlich ist fast jedes WordPress-Thema potenziell &#8220;Adsensebereit&#8221;, da in jede Thematik und an jeder Stelle Werbung platziert werden kann. Diese Anleitung zeigt Ihnen die verschiedensten M&#246;glichkeiten, wie Sie Werbung in Ihr WordPress einsetzen. Es geht wie folgt:<br />
<span id="more-2069"></span></p>
<ul>
<li>Durch eine Vielzahl an WordPress Plug-ins.</li>
<li>Einf&#252;gen von unbearbeiteten Anzeigen-Codes direkt in den Beitrag.</li>
<li>Direktes einf&#252;gen von Anzeigen-Codes in Ihre Vorlagendateien.</li>
</ul>
<p>Im Internet sind heutzutage viele weitverbreitete Anzeigen-Gr&#246;&#223;en verf&#252;gbar. Einige Adsense-Anzeigen:</p>
<ul>
<li>Leaderboard (728×90)</li>
<li>Banner (468×60)</li>
<li>Skyscraper (120×600)</li>
<li>Quadrat (250×250)</li>
<li>Mittleres Rechteck (300×250)</li>
<li>Gro&#223;es Rechteck (336×280)</li>
<li>Wide Skyscraper (160×600)</li>
</ul>
<p>Einige davon sind gro&#223;, einige breit, andere quadratisch.  Je nach Ihrem Themenaufbau haben Sie wahrscheinlich viele ideale Stellen f&#252;r unterschiedliche Anzeigengr&#246;&#223;en.</p>
<p><strong>WordPress Plug-ins</strong></p>
<p>WordPress Plug-ins sind wahrscheinlich die einfachste Art, automatisch Werbung in alle Ihre Beitr&#228;ge und Seiten zu platzieren. Ich fand ein paar Gute, die es wert sind, n&#228;her betrachtet zu werden.</p>
<ul>
<li>Adsense Manager &#8211; mit 50.000 Downloads ist es unbestritten eines der beliebtesten Plug-ins bei der Anzeigenverwaltung. Trotz des Namens wird damit nicht nur Adsense unterst&#252;tzt, sondern auch eine ganze Anzahl anderer Ver&#246;ffentlichungsdienste am Gebiet der Werbung.</li>
<li>All-in-One Adsense und YPN – ein sehr einfach zu nutzendes Plug-in. Alles was Sie dazu tun m&#252;ssen: Einf&#252;gen Ihrer Adsense oder Publisher ID und danach werden sofort und automatisch Ihre Anzeigen in alle Ihre Beitr&#228;ge eingef&#252;gt. Es gestattet auch die Farb-und Gr&#246;&#223;enauswahl.<br />
F&#252;rs Erste sollten diese beiden Plug-ins ausreichen. Allerdings gibt es hier viele andere Adsense-Plug-ins.</li>
</ul>
<p><strong>Manuelle Codeeinbgabe</strong></p>
<p>Eine andere M&#246;glichkeit Werbung in Ihre Beitr&#228;ge zu platzieren ist es, einfach den Code in den Beitragseditor einzuf&#252;gen. Vergewissern Sie sich, dass Sie den Code- Editor ausgew&#228;hlt haben, denn im Visual-Editor wird der Code in Text umgewandelt.</p>
<p>Im Code Editor wird Ihre Adsense (oder jede andere Anzeige) passend in Ihre Seite eingef&#252;gt. Der in einen Beitrag oder auf eine Seite eingef&#252;gte Code sollte in etwa so aussehen:</p>
<p><img src="http://www.onlinecasinodemar.com/wp-content/uploads/2011/01/11.jpg" alt="null" /></p>
<p>Nach erfolgreicher Eingabe einer 468&#215;60 Googleanzeige wird der Live Blogbeitrag folgendes Aussehen haben.</p>
<p><img src="http://www.onlinecasinodemar.com/wp-content/uploads/2011/01/2.jpg" alt="null" /></p>
<p>Um ehrlich zu sein w&#252;rde ich diese Methode nicht empfehlen, da es daf&#252;r wirksamere Methoden gibt. Auch, wenn Sie gezielt Anzeigen in ganz spezielle Beitr&#228;ge einf&#252;gen m&#246;chten, kann das oben angef&#252;hrte Plug-in dies f&#252;r Sie erledigen. Dar&#252;ber hinaus bietet es auch eine einfache Markierung (tag), der in Ihren Beitrag eingef&#252;gt werden kann.</p>
<p><strong>Codeeingabe direkt in Ihre Vorlage</strong></p>
<p>Wenn Sie mit dem Bearbeiten von Vorlagendateien vertraut sind, ist dies wahrscheinlich die beste M&#246;glichkeit, um eine Sitewide-Anzeige in Ihrem WordPress Blog zu platzieren. Die meisten WordPress-Themen werden in die verschiedensten Teile aufgegliedert:</p>
<ul>
<li>Kopfzeile – &#252;bergeordnetes Thema.</li>
<li>Seitenleiste – Raum f&#252;r Spekulationen.</li>
<li>Hauptindex – Aufz&#228;hlung der Beitr&#228;ge auf der Homepage. Trifft auf Seiten und einzelne Beitr&#228;ge zu, wenn diese nicht in anderen Dateien definiert sind.</li>
<li>Einzelner Beitrag – einzelne Blogbeitr&#228;ge.</li>
<li>Seitenvorlage – statische Seiten.</li>
</ul>
<p><img src="http://www.onlinecasinodemar.com/wp-content/uploads/2011/01/3.jpg" alt="null" /></p>
<p>All statischen Seiten werden nun Adsenseanzeigen wie folgt anzeigen:</p>
<p><img src="http://www.onlinecasinodemar.com/wp-content/uploads/2011/01/4.jpg" alt="null" /></p>
<p>Viel Vergn&#252;gen!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.onlinecasinodemar.com/tutorials/adsense-und-andere-werbungen-mit-wordpress/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Gravatar Support zu Ihren WordPress Kommentaren hinzuf&#252;gen</title>
		<link>http://www.onlinecasinodemar.com/tutorials/gravatar-support-wordpress-kommentaren/</link>
		<comments>http://www.onlinecasinodemar.com/tutorials/gravatar-support-wordpress-kommentaren/#comments</comments>
		<pubDate>Sun, 30 Jan 2011 13:53:14 +0000</pubDate>
		<dc:creator>Paul</dc:creator>
				<category><![CDATA[Tutorials]]></category>
		<category><![CDATA[Avatar]]></category>
		<category><![CDATA[gravatar]]></category>

		<guid isPermaLink="false">http://www.onlinecasinodemar.com/?p=2061</guid>
		<description><![CDATA[<img width="280" height="210" src="http://www.onlinecasinodemar.com/wp-content/uploads/2011/01/Gravatar.jpg" class="attachment-post-thumbnail wp-post-image" alt="Gravatar" title="Gravatar" />Ehe Sie fortfahren: Dieser Leitfaden bezieht sich auf WordPress Version 2.5. oder dar&#252;ber. Dieser Code funktioniert nicht mit den vorhergehenden Versionen. Das reine Einf&#252;gen des nachfolgenden Codes in Ihren Kommentarloop wird zwar funktionieren, aber wahrscheinlich im Original nicht gut aussehen: &#60;?php if(function_exists('get_avatar')) { echo get_avatar($comment, '50'); } ?&#62; Dieser Code pr&#252;ft grunds&#228;tzlich, ob Sie &#252;ber [...]]]></description>
			<content:encoded><![CDATA[<img width="280" height="210" src="http://www.onlinecasinodemar.com/wp-content/uploads/2011/01/Gravatar.jpg" class="attachment-post-thumbnail wp-post-image" alt="Gravatar" title="Gravatar" /><p>Ehe Sie fortfahren: Dieser Leitfaden bezieht sich auf WordPress Version 2.5. oder dar&#252;ber. Dieser Code funktioniert nicht mit den vorhergehenden Versionen.</p>
<p>Das reine Einf&#252;gen des nachfolgenden Codes in Ihren Kommentarloop wird zwar funktionieren, aber wahrscheinlich im Original nicht gut aussehen:<br />
<span id="more-2061"></span><br />
<code>&lt;?php if(function_exists('get_avatar')) { echo get_avatar($comment, '50'); } ?&gt;</code></p>
<p>Dieser Code pr&#252;ft grunds&#228;tzlich, ob Sie &#252;ber die get_avatar Funktion verf&#252;gen (WordPress 2.5+), und danach den Avatar des Kommentarverfassers in einem 50 px Quadrat zeigen.</p>
<p>Wenn Sie sicher sein wollen, dass die Gravatare in passender Gr&#246;&#223;e angezeigt werden, sollten Sie die Firefox-Erweiterung MeasureIT verwenden. Damit k&#246;nnen Sie den Bereich in Ihrem Thema ausmessen, um eine geeignete Gravatargr&#246;&#223;e zu bestimmen.</p>
<p>F&#252;r meinen Blog war 40 eine gute Gr&#246;&#223;e. Wo habe ich diesen Code genau eingef&#252;gt:</p>
<p><img src="http://www.onlinecasinodemar.com/wp-content/uploads/2011/01/1.jpg" alt="null" /></p>
<p>Irgendwo zwischen foreach und endforeach (der Kommentarloop) wird der Code funktionieren.</p>
<p>Wenn einmal Gravatare in Ihren Kommentarvorlagen angezeigt werden, m&#246;chten Sie wahrscheinlich auch die Gestaltung &#252;bernehmen.  Damit der Avator nach links gleitet, f&#252;gen Sie dem CSS Stylesheet die folgende Zeile und einen kleinen, rechten Rand hinzu. Um den Avatar auszurichten, k&#246;nnen Sie den folgenden Code bearbeiten:</p>
<p><code>img.avatar {float:left; margin-right:5px;}</code></p>
<p>Die Themen werden variieren, aber durch Bearbeiten des oben angef&#252;hrten Codes k&#246;nnen Sie den Avatar nach Belieben ausrichten.<br />
Zur Erinnerung: Dieser Code funktioniert unter Word Press 2.5 und dar&#252;ber.</p>
<p>Es k&#246;nnen nicht nur Gravatare f&#252;r Kommentare verwendet werden, sie k&#246;nnen auch zu einzelnen Verfasserkommentaren hinzugef&#252;gt werden!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.onlinecasinodemar.com/tutorials/gravatar-support-wordpress-kommentaren/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>WordPress jQuery Lightbox prettyPhoto ohne Plugin</title>
		<link>http://www.onlinecasinodemar.com/wordpress/wordpress-jquery-lightbox-prettyphoto-ohne-plugin/</link>
		<comments>http://www.onlinecasinodemar.com/wordpress/wordpress-jquery-lightbox-prettyphoto-ohne-plugin/#comments</comments>
		<pubDate>Tue, 18 May 2010 07:30:56 +0000</pubDate>
		<dc:creator>Simon</dc:creator>
				<category><![CDATA[jQuery]]></category>
		<category><![CDATA[Tutorials]]></category>
		<category><![CDATA[WordPress]]></category>
		<category><![CDATA[jQuery Plugin]]></category>
		<category><![CDATA[Lightbox]]></category>
		<category><![CDATA[Tutorial]]></category>

		<guid isPermaLink="false">http://www.onlinecasinodemar.com/?p=1799</guid>
		<description><![CDATA[<img width="280" height="210" src="http://www.onlinecasinodemar.com/wp-content/uploads/2010/05/wordpress-jquery-lightbox.jpg" class="attachment-post-thumbnail wp-post-image" alt="wordpress-jquery-lightbox" title="wordpress-jquery-lightbox" />Eine beliebte und weitverbreitete Methode Bilder, Videos oder andere Inhalte einer Website darzustellen ist die sogenannte Lightbox. Diese &#246;ffnet den gew&#252;nschten Inhalt in einem extra Fenster und verdunkelt derweil den Hintergrund. Im Folgenden m&#246;chte ich zeigen, wie man ohne Plugin die jQuery Lightbox prettyPhoto in ein WordPress-Theme einbaut. jQuery Lightbox prettyPhoto In vielen meiner Themes [...]]]></description>
			<content:encoded><![CDATA[<img width="280" height="210" src="http://www.onlinecasinodemar.com/wp-content/uploads/2010/05/wordpress-jquery-lightbox.jpg" class="attachment-post-thumbnail wp-post-image" alt="wordpress-jquery-lightbox" title="wordpress-jquery-lightbox" /><p>Eine beliebte und weitverbreitete Methode Bilder, Videos oder andere Inhalte einer Website darzustellen ist die sogenannte Lightbox. Diese &#246;ffnet den gew&#252;nschten Inhalt in einem extra Fenster und verdunkelt derweil den Hintergrund. Im Folgenden m&#246;chte ich zeigen, wie man ohne Plugin die jQuery Lightbox prettyPhoto in ein WordPress-Theme einbaut.<span id="more-1799"></span></p>
<h3 class="clear">jQuery Lightbox prettyPhoto</h3>
<p>In vielen meiner Themes ist die jQuery Lightbox <a href="http://www.no-margin-for-errors.com/projects/prettyphoto-jquery-lightbox-clone/">prettyPhoto </a> bereits eingebaut. Pers&#246;nlich finde ich prettyPhoto eines der schickesten jQuery-Lightbox-Plugins (nicht WordPress-Plugin!) und m&#246;chte daher zeigen, wie man es auf korrekte Weise und ohne WordPress-Plugin in ein Theme integriert.</p>
<p class="laboratory"><a href="http://www.onlinecasinodemar.com/wp-content/uploads/2010/05/wordpress-lightbox.jpg" rel="prettyPhoto">Dr&#252;ck mich f&#252;r eine Demo</a></p>
<p>Folgender Content kann von prettyPhoto in der Lightox dargestellt werden:</p>
<ul style="margin-bottom:40px">
<li>Einzelbild</li>
<li>Bildergelerie (mit Navigation)</li>
<li>Flash</li>
<li>YouTube-Videos</li>
<li>Vimeo-Videos</li>
<li>QuickTime-Videos</li>
<li>iFrames (externe Websites)</li>
<li>Inline Content (HTML-Elemente)</li>
<li>Galerie aus gemischten Inhalten</li>
</ul>
<h3>Herunterladen von prettyPhoto</h3>
<p>Zun&#228;chst laden wir uns das Original-Skript von der Website des Plugin-Autors <a href="http://www.no-margin-for-errors.com/projects/prettyphoto-jquery-lightbox-clone/">Stephane Caron</a>.</p>
<p class="download"><a href="http://www.no-margin-for-errors.com/demos/prettyPhoto-jquery-lightbox-clone/prettyPhoto_uncompressed_2.5.6.zip">unkomprimierte Version</a> | <a href="http://www.no-margin-for-errors.com/demos/prettyPhoto-jquery-lightbox-clone/prettyPhoto_compressed_2.5.6.zip">komprimierte Version</a></p>
<p class="space">Den heruntergeladenen ZIP-Ordner entpacken wir und laden die darin enthaltenen Ordner <code>/css</code>, <code>/images</code> und <code>/js</code> in einen Ordner unseres WordPress-Themes z. B. <code>/wp-content/themes/**dein-theme**/pretty/</code>.</p>
<h3>Einbinden von jQuery</h3>
<p>Um die prettyPhoto-Lightbox nutzen zu k&#246;nnen, m&#252;ssen wir zun&#228;chst die Javascript-Bibliothek jQuery aktivieren bzw. in userem Theme-Header laden.</p>
<p>Jede WordPress-Installation bringt jQuery, da es sehr h&#228;ufig verwendet wird, von Haus mit. Folgender Aufruf in der <code>functions.php</code> des Themes l&#228;d die n&#246;tige Datei:</p>
<pre><code>&lt;?php
add_action('wp_enqueue_scripts', 'wdm_scripts');
function wdm_scripts() {
    wp_enqueue_script('jquery');
}
?&gt;</code></pre>
<p class="space">Eine &#220;bersicht aller in WordPress bereits enthaltenen Skripte findet Ihr im <a href="http://codex.wordpress.org/Function_Reference/wp_enqueue_script#Default_scripts_included_with_WordPress">WordPress-Codex</a>.</p>
<h3>Einbinden von prettyPhoto</h3>
<p>Auch um die Skripte von prettyPhoto in den Head-Bereich unseres WordPress-Themes in der <code>functions.php</code> zu laden, behelfen wir uns wie bei dem allgemeinen jQuery-Skript der Funktionen <code>wp_enqueue_script()</code> und <code>wp_enqueue_style()</code>.</p>
<p>Es m&#252;ssen zwei Dateien eingebunden werden. Eine davon ist die Javascript-Datei <code>/wp-content/themes/**dein-theme**/pretty/js/jquery.prettyPhoto.js</code> und die andere ist das Stylesheet <code>/wp-content/themes/**dein-theme**/pretty/css/prettyPhoto.css</code> (s. a.  Ordnerstruktur beim Upload).</p>
<pre><code>&lt;?php
add_action('wp_enqueue_scripts', 'wdm_scripts');
function wdm_scripts() {
    wp_enqueue_script('jquery');
    wp_enqueue_script('pretty', get_bloginfo('template_url').'/pretty/js/jquery.prettyPhoto.js', array('jquery'), '2.5.6', false);
    wp_enqueue_style('pretty', get_bloginfo('template_url').'/pretty/css/prettyPhoto.css', false, '2.5.6', 'all' );
}
?&gt;</code></pre>
<p class="space">Im WordPress-Codex gibt es weitere Informationen zu <a href="http://codex.wordpress.org/Function_Reference/wp_enqueue_script">wp_enqueue_script()</a> und <a href="http://codex.wordpress.org/Function_Reference/wp_enqueue_style">wp_enqueue_style()</a>.</p>
<h3>Konfiguration von prettyPhoto</h3>
<p>Alle n&#246;tigen Skripte sind bereits eingebunden. Nun muss die jQuery-Lightbox noch gesagt bekommen, wie, wann und wo sie funktionieren soll. Auf der Seite der <a href="http://www.no-margin-for-errors.com/projects/prettyphoto-jquery-lightbox-clone/documentation/">Dokumentation</a> von prettyPhoto finden wir, dass folgendes Skript in den Head-Bereich eingebunden werden muss:</p>
<pre><code>&lt;script type="text/javascript"&gt;
    $(document).ready(function(){
        $("a[rel^='prettyPhoto']").prettyPhoto();
    });
&lt;/script&gt;</code></pre>
<p class="alert"><strong>Achtung!</strong> Beim Einbinden in WordPress ist zu beachten, dass jQuery im sogenannten <em>no conflict mode</em> geladen wird. Das ist bei der Konfiguration von prettyPhoto wichtig.</p>
<h4>prettyPhoto im <em>no conflict mode</em></h4>
<p>Der Javscript-Aufruf muss daher um sogenannte <em>no conflict wrapper</em> erweitert werden, damit die Lightbox funktioniert:</p>
<pre><code>&lt;script type="text/javascript"&gt;
(function($) {
    $(document).ready(function(){
        $("a[rel^='prettyPhoto']").prettyPhoto();
    });
})(jQuery);
&lt;/script&gt;</code></pre>
<p>Weitere Informationen zu der Methode der <em>no conflict wrapper</em> gibt es im <a href="http://codex.wordpress.org/Function_Reference/wp_enqueue_script#jQuery_noConflict_wrappers">WordPress-Codex</a>.</p>
<h4>Einbinden in der <em>functions.php</em></h4>
<p>Um das Theme nicht direkt in die <code>header.php</code> des WordPress-Themes einzuf&#252;gen, behelfen wir uns der WordPress-Action <code>wp_head</code>, mit der man in der <code>functions.php</code> den Theme-Header erweitern kann:</p>
<pre><code>&lt;?php
add_action('wp_head','wdm_theme_head');
function wdm_theme_head() { ?&gt;
&lt;script type="text/javascript"&gt;
(function($) {
    $(document).ready(function(){
        $("a[rel^='prettyPhoto']").prettyPhoto();
    });
})(jQuery);
&lt;/script&gt;
&lt;?php } ?&gt;</code></pre>
<p class="space">Weitere Informationen zu Optionen und der Anpassung von prettyPhoto findet Ihr in der <a href="http://www.no-margin-for-errors.com/projects/prettyphoto-jquery-lightbox-clone/documentation/">Dokumentation</a>.</p>
<h3>Aufruf von prettyPhoto</h3>
<p>Mit der obigen Konfiguration der jQuery-Lightbox l&#228;sst sich diese mit jedem <code>a</code>-Tag mit <code>rel="prettyPhoto"</code> &#246;ffnen. Der zu verwendene Code im Post-Content oder in einem Theme-Template k&#246;nnte also wie folgt aussehen:</p>
<pre><code>&lt;a href="http://domain.de/dein/bild.jpg" rel="prettyPhoto"&gt;Lightbox aufrufen&lt;/a&gt;</code></pre>
<p class="laboratory"><a href="http://www.onlinecasinodemar.com/wp-content/uploads/2010/05/wordpress-lightbox.jpg" rel="prettyPhoto">Dr&#252;ck mich f&#252;r eine Demo</a></p>
<p class="space">Weitere M&#246;glichkeiten Inhalte in die prettyPhoto-Lightbox zu laden, findet Ihr in den <a href="http://www.no-margin-for-errors.com/projects/prettyphoto-jquery-lightbox-clone/">Demos</a> des Skriptes.</p>
<h3>Fazit</h3>
<p>Letztlich muss jeder selbst wissen, ob es einfacher ist ein Plugin zu installieren oder das Skript <em>zu Fu&#223;</em> einzubinden. Ich verzichte gerne auf Plugins, wenn diese m&#246;glich ist und ich das Wissen habe, den Code selbst einzubauen.</p>
<p class="space">Den ThemeShift-Kunden gef&#228;llt dieses eingebaute Feature auf jeden Fall. In Kombination mit WordPress-Funktionen lassen sich mit dieser jQuery-Lightbox umfangreiche und vor allem ansprechende Galerien bauen.</a></p>
<h3>Relevante Links</h3>
<ul>
<li><a href="http://www.no-margin-for-errors.com/projects/prettyphoto-jquery-lightbox-clone/">jQuery Lightbox prettyPhoto</a> | <a href="http://www.no-margin-for-errors.com/projects/prettyphoto-jquery-lightbox-clone/documentation/">Dokumentation</a></li>
<li>WordPress Codex: <a href="http://codex.wordpress.org/Function_Reference/wp_enqueue_script#Default_scripts_included_with_WordPress">wp_enqueue_script()</a></li>
<li>WordPress Codex: <a href="http://codex.wordpress.org/Function_Reference/wp_enqueue_style">wp_enqueue_style()</a></li>
<li>WordPress Codex: <a href="http://codex.wordpress.org/Function_Reference/wp_enqueue_script#jQuery_noConflict_wrappers">no conflict wrapper</a>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://www.onlinecasinodemar.com/wordpress/wordpress-jquery-lightbox-prettyphoto-ohne-plugin/feed/</wfw:commentRss>
		<slash:comments>11</slash:comments>
		</item>
		<item>
		<title>Tutorial: Kreative Effekte mit Bild-Overlays &#8211; Teil 1</title>
		<link>http://www.onlinecasinodemar.com/tutorials/tutorial-kreative-effekte-mit-bild-overlays-teil-1/</link>
		<comments>http://www.onlinecasinodemar.com/tutorials/tutorial-kreative-effekte-mit-bild-overlays-teil-1/#comments</comments>
		<pubDate>Wed, 30 Sep 2009 08:00:33 +0000</pubDate>
		<dc:creator>Simon</dc:creator>
				<category><![CDATA[Tutorials]]></category>
		<category><![CDATA[XHTML / CSS]]></category>
		<category><![CDATA[Bild-Overlays]]></category>
		<category><![CDATA[Bildeffekte]]></category>

		<guid isPermaLink="false">http://www.onlinecasinodemar.com/?p=1543</guid>
		<description><![CDATA[<img width="280" height="210" src="http://www.onlinecasinodemar.com/wp-content/uploads/2009/09/bild-overlay.jpg" class="attachment-post-thumbnail wp-post-image" alt="bild-overlay" title="bild-overlay" />In dem ersten Teil meines Tutorials &#252;ber Bildeffekte mit Overlays m&#246;chte ich zeigen, wie man mit ein wenig Photoshop und ein paar Zeilen HTML und CSS ganz normalen Fotos verbl&#252;ffende Effekte wie abgerundete Ecken und Schlagschatten hinzuf&#252;gen kann. Das Ziel Am Ende dieses Tutorials werde ich einem normalen Foto, ohne es selbst zu bearbeiten, abgerundete [...]]]></description>
			<content:encoded><![CDATA[<img width="280" height="210" src="http://www.onlinecasinodemar.com/wp-content/uploads/2009/09/bild-overlay.jpg" class="attachment-post-thumbnail wp-post-image" alt="bild-overlay" title="bild-overlay" /><p>In dem ersten Teil meines Tutorials &#252;ber Bildeffekte mit Overlays m&#246;chte ich zeigen, wie man mit ein wenig Photoshop und ein paar Zeilen HTML und CSS ganz normalen Fotos verbl&#252;ffende Effekte wie abgerundete Ecken und Schlagschatten hinzuf&#252;gen kann.<span id="more-1543"></span></p>
<h3 class="clear">Das Ziel</h3>
<p class="space">Am Ende dieses Tutorials werde ich einem normalen Foto, ohne es selbst zu bearbeiten, abgerundete Ecken und einen Schlagschatten hinzugef&#252;gt haben. Besonders im zweiten Teil wird dann deutlich, wie n&#252;tzlich dieser Effekt ist und wie man diesen Vorgang mit Benutzerdefinierten Feldern in WordPress-Themes automatisieren kann.</p>
<p class="preview space">Du willst erst wissen, worum genau es geht?<br /><a href="http://webdemar.com/docs/bildeffekte/fertig.html?iframe=true&#038;width=800&#038;height=750" rel="prettyPhoto">Dann schau Dir erst die Demo dieses Tutorials an.</a></p>
<h3>Die Vorgehensweise</h3>
<p class="space">Zun&#228;chst erstelle ich in Photoshop den n&#246;tigen Bild-Overlay, den ich sp&#228;ter mittels HTML und CSS so &#252;ber das Foto positioniere, dass es den Anschein hat, dass das Bild abgerundete Ecken und einen Schlagschatten hat.</p>
<h3>Schritt 1 &#8211; Photoshop</h3>
<p>In Photoshop lege ich mir als erstes eine neue Datei mit den <strong>Ma&#223;en 540x440px</strong> und einem <strong>hellen Hintergrund #f9f9f9</strong> an. Dar&#252;ber lege ich auf eine zweite Ebene das Foto einer nicht h&#228;sslichen jugen Frau mit den Ma&#223;en 400x300px.</p>
<p><img class="alignnone size-full wp-image-1547 shadow space" title="Foto auf hellem Hintergrund" src="http://www.onlinecasinodemar.com/wp-content/uploads/2009/09/image-overlay-2.jpg" alt="Foto auf hellem Hintergrund" width="540" height="379" /></p>
<h3>Schritt 2 &#8211; Photoshop</h3>
<p>&#220;ber das Foto lege ich nun mit dem <strong>Abgerundete-Ecken-Werkzeug</strong> eine Ebene in denselben Ma&#223;en (wie das Foto) und einem <strong>Radius von 10px</strong>.</p>
<p><img class="alignnone size-full wp-image-1546 shadow space" title="Abgerundete-Ecken-Werkzeug mit Radius 10px" src="http://www.onlinecasinodemar.com/wp-content/uploads/2009/09/image-overlay-3.jpg" alt="Abgerundete-Ecken-Werkzeug mit Radius 10px" width="540" height="372" /></p>
<h3>Schritt 3 &#8211; Photoshop</h3>
<p>Im n&#228;chsten Schritte blende ich die Ebene des Fotos zur besseren &#220;bersicht zun&#228;chst aus und lege die gew&#252;nschten Ebeneneffekte f&#252;r meinen Bild-Overlay an. In meinem Beispiel ist das ein <strong>Schlagschatten (Deckkraft: 75%, Abstand: 2px &amp; Gr&#246;&#223;e: 5px)</strong>.</p>
<p><img class="alignnone size-full wp-image-1548 shadow space" title="Ebeneneffekte f&#252;r Bild-Overlay" src="http://www.onlinecasinodemar.com/wp-content/uploads/2009/09/image-overlay-4.jpg" alt="Ebeneneffekte f&#252;r Bild-Overlay" width="540" height="372" /></p>
<h3>Schritt 4 &#8211; Photoshop</h3>
<p>Wenn ich das Bild unter dem Overlay nun wieder einblende, sieht man die &#252;berstehenden Ecken des Fotos. Um das Foto nur im gew&#252;nschten Bereich (innerhalb der abgerundeten Ecken) anzeigen zu lassen, klicke ich <strong>bei gedr&#252;ckter STRG-Taste</strong> (oder Apfel- oder CMD-) auf die Miniaturansicht der Vektormaske des abgerundeten Rechtecks, um die richtige <strong>Auswahl zu laden</strong>.</p>
<p><img class="alignnone size-full wp-image-1549 shadow space" title="Auswahl des abgerundeten Rechtecks laden" src="http://www.onlinecasinodemar.com/wp-content/uploads/2009/09/image-overlay-5.jpg" alt="Auswahl des abgerundeten Rechtecks laden" width="540" height="372" /></p>
<h3>Schritt 5 &#8211; Photoshop</h3>
<p>Dann blende ich das Rechteck mit abgerundeten Ecken aus und f&#252;ge dem Foto mit dieser Auswahl eine <strong>Ebenenmaske</strong> hinzu. <em>Bemerkung:</em> Dieser Schritt ist nicht unbedingt n&#246;tig und dient hier nur zur Veranschaulichung.</p>
<p><img class="alignnone size-full wp-image-1550 shadow space" title="Ebenenmaske f&#252;r das Foto" src="http://www.onlinecasinodemar.com/wp-content/uploads/2009/09/image-overlay-6.jpg" alt="Ebenenmaske f&#252;r das Foto" width="540" height="379" /></p>
<h3>Schritt 6 &#8211; Photoshop</h3>
<p>Die Ebene des abgerundeten Rechtecks, das &#252;ber dem Foto liegt, wird nun wieder eingeblendet. Au&#223;erdem setze ich die <strong>Deckkraft innerhalb der Ebene (Fl&#228;che) auf 0%</strong>. Der Unterschied zur Ebenendeckkraft ist, dass trotz der 100% Transparenz der Ebenenstil (Schlagschatten) sichtbar bleibt.</p>
<p><img class="alignnone size-full wp-image-1551 shadow space" title="Deckkraft innerhalb der Ebene (Fl&#228;che) auf 0%" src="http://www.onlinecasinodemar.com/wp-content/uploads/2009/09/image-overlay-7.jpg" alt="Deckkraft innerhalb der Ebene (Fl&#228;che) auf 0%" width="540" height="372" /></p>
<h3>Schritt 7 &#8211; Photoshop</h3>
<p>Das Foto, das ich ja sp&#228;ter eh separat ansprechen m&#246;chte, blende ich aus. Mit dem Klick auf die Vektormaske bei gedr&#252;ckter STRG-Taste lade ich mir die <strong>Auswahl des abgerundeten Rechtecks</strong>, das ich wieder eingeblendet habe. Diese Auswahl schneide ich nun aus der Hintergrundebene aus, so dass im Bereich des Fotos nun ein transparenter Bereich entsteht.</p>
<p><img class="alignnone size-full wp-image-1552 shadow space" title="Auswahl aus Hintergrundebene ausschneiden" src="http://www.onlinecasinodemar.com/wp-content/uploads/2009/09/image-overlay-8.jpg" alt="Auswahl aus Hintergrundebene ausschneiden" width="540" height="372" /></p>
<h3>Schritt 8 &#8211; Photoshop</h3>
<p>Mit dem <strong>Freistellen-Werkzeug</strong> schneide ich mir schlie&#223;lich das endg&#252;ltige Format meines Bild-Overlays zu. Dabei lasse ich an jeder Seite 10px Platz, so dass der <strong>Overlay 420x300px</strong> misst.</p>
<p><img class="alignnone size-full wp-image-1553 shadow space" title="Freistellen des Bild-Overlays" src="http://www.onlinecasinodemar.com/wp-content/uploads/2009/09/image-overlay-9.jpg" alt="Freistellen des Bild-Overlays" width="540" height="372" /></p>
<h3>Schritt 9 &#8211; Photoshop</h3>
<p>Als letzten Schritt in Photoshop w&#228;hle ich nun <strong>F&#252;r Web und Ger&#228;te speichern</strong>, w&#228;hle als Bildformat <strong>PNG</strong> (wichtig f&#252;r die Transparenz) und lege die Bilddatei unter dem Namen <code>img-overlay.png</code> ab.</p>
<p><img class="alignnone size-full wp-image-1554 shadow space" title="F&#252;r Web und Ger&#228;te speichern" src="http://www.onlinecasinodemar.com/wp-content/uploads/2009/09/image-overlay-10.jpg" alt="F&#252;r Web und Ger&#228;te speichern" width="540" height="372" /></p>
<h3>Schritt 10 &#8211; HTML/CSS</h3>
<p>Um die HTML/CSS-Struktur zu erstellen, lege ich mir einen Beispielordner <code>/bildeffekte</code> an, speichere dort mein Beispielfoto <code>foto.jpg</code> und mein Bild-Overlay <code>img-overlay.png</code>. Desweiteren lege ich mir gleich eine Stylesheet-Datei <code>style.css</code> f&#252;r die sp&#228;teren Formatierungen an.</p>
<p><img class="alignnone size-full wp-image-1556 shadow space" title="Beispieldateien anlegen" src="http://www.onlinecasinodemar.com/wp-content/uploads/2009/09/image-overlay-11.jpg" alt="Beispieldateien anlegen" width="540" height="372" /></p>
<h3>Schritt 11 &#8211; HTML/CSS</h3>
<p>F&#252;r das Beispiel lege ich mir eine <code>index.html</code> mit zwei &#220;berschriften und meinem Beispielfoto an.</p>
<pre class="space">&lt;!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"&gt;
&lt;html xmlns="http://www.w3.org/1999/xhtml" dir="ltr" lang="de-DE"&gt;

&lt;html&gt;
&lt;head&gt;

&lt;title&gt;Tutorial: Kreative Effekte mit Bild-Overlays erzeugen – Demo&lt;/title&gt;

&lt;link href="style.css" rel="stylesheet" type="text/css"&gt;

&lt;/head&gt;

&lt;body&gt;

    &lt;div id="main"&gt;

        &lt;h1&gt;Kreative Effekte mit Bild-Overlays&lt;/h1&gt;
        &lt;h2&gt;von Simon Rimkus [webdemar]&lt;/h2&gt;

        &lt;div id="content"&gt;
            &lt;img src="foto.jpg" alt="foto" width="400" height="300"/&gt;
        &lt;/div&gt;

       &lt;/div&gt;

&lt;/body&gt;
&lt;/html&gt;</pre>
<p class="preview space">Wie ist das Ergebnis bis jetzt?<br />
<a href="http://webdemar.com/docs/bildeffekte/ohne.html?iframe=true&#038;width=800&#038;height=750" rel="prettyPhoto">Demo ohne den Effekt durch den Bild-Overlay</a></p>
<h3>Schritt 12 &#8211; HTML/CSS</h3>
<p>Damit das Ganze etwas ansprechender aussieht habe ich folgende Formatierung &#252;ber die externe Stylesheet-Datei <code>style.css</code> vorgenommen.</p>
<pre class="space">body {
    margin: 100px 0 0;
    background: #f9f9f9;
}

#main {
    width: 600px;
    margin: 0 auto;
}

h1 {
    color: #444;
    font-size: 36px;
    font-family: Georgia, serif;
    text-shadow: 1px 1px 0px #fff;
    text-align: center;
}

h2 {
    color: #666;
    font-size: 10px;
    font-family: "Helvetica Neue", Helvetica, sans-serif;
    font-weight: normal;
    text-align: center;
    letter-spacing: 6px;
}

#content {
    margin: 100px auto 0;
    text-align: center;
}</pre>
<p class="preview space">Wie ist das Ergebnis bis jetzt?<br />
<a href="http://webdemar.com/docs/bildeffekte/ohne.html?iframe=true&#038;width=800&#038;height=750" rel="prettyPhoto">Demo ohne den Effekt durch den Bild-Overlay</a></p>
<h3>Schritt 13 &#8211; HTML/CSS</h3>
<p>Das eigentliche Ziel war und ist, den Bild-Overlay &#252;ber das Foto zu legen und somit den gew&#252;nschten Effekt zu erzielen. Dazu bedarf es zun&#228;chst einiger Zeilen mehr im HTML-Code.</p>
<pre class="space">    &lt;div id="main"&gt;

        &lt;h1&gt;Kreative Effekte mit Bild-Overlays&lt;/h1&gt;
        &lt;h2&gt;Ein Tutorial von Simon Rimkus [webdemar]&lt;/h2&gt;

        &lt;div id="content"&gt;
            &lt;div class="foto-wrap"&gt;
                &lt;img src="foto.jpg" alt="foto" width="400" height="300" /&gt;
                &lt;span class="img-overlay"&gt;&lt;img src="img-overlay.png" alt="" width="420" height="320" /&gt;&lt;/span&gt;
            &lt;/div&gt;
        &lt;/div&gt;&lt;!-- end content --&gt;

    &lt;/div&gt;&lt;!-- end main --&gt;</pre>
<p class="preview space">Wie ist das Ergebnis bis jetzt?<br />
<a href="http://webdemar.com/docs/bildeffekte/fertig.html?iframe=true&#038;width=800&#038;height=750" rel="prettyPhoto">Demo mit dem Effekt durch den Bild-Overlay</a></p>
<h3>Schritt 14 &#8211; HTML/CSS</h3>
<p>Ich habe nun das Foto und den Bild-Overlay in einen weitern <code>div</code> mit der Klasse <code>foto-wrap</code> eingebaut, um diese innerhalb dieses <code>div</code>s mit CSS absolut positionieren zu k&#246;nnen. Das Stylesheet ist also um weitere Zeilen zu erweitern.</p>
<pre class="space"><code>.foto-wrap {
    position: relative;
    width: 400px;
    margin: 0 auto;
}

.foto-wrap img {
    position: absolute;
    top: 0px;
    left: 0px;
    width: auto;
}

.foto-wrap span {
    position: absolute;
    top: -10px;
    left: -10px;
    width: auto;
}</code></pre>
<p class="preview space">Wie ist das Ergebnis bis jetzt?<br />
<a href="http://webdemar.com/docs/bildeffekte/fertig.html?iframe=true&#038;width=800&#038;height=750" rel="prettyPhoto">Demo mit dem Effekt durch den Bild-Overlay</a></p>
<h3>Schritt 15 &#8211; HTML/CSS</h3>
<p>Der Bild-Overlay ist nun innerhalb des Container-<code>div</code>s mit der Klasse <code>foto-wrap</code> &#252;ber dem eigentlichen Foto positioniert und verleiht ihm die gew&#252;nschten Effekte abgerundete Ecken und Schlagschatten.</p>
<p><a href="http://webdemar.com/docs/bildeffekte/fertig.html?iframe=true&#038;width=800&#038;height=750" rel="prettyPhoto" class="space"><img src="http://www.onlinecasinodemar.com/wp-content/uploads/2009/09/image-overlay-12.jpg" alt="Bild-Overlay &#252;ber Foto positioniert" title="Bild-Overlay &#252;ber Foto positioniert" width="540" height="440" class="alignnone size-full wp-image-1557 shadow" /></a></p>
<h3>Fazit</h3>
<p class="space">Dieser erste Teil des Tutorials macht hoffentlich deutlich, welche M&#246;glichkeiten hinter dieser Technik stecken. Besonders im Bereich dynamischer Einbindung von Bildern macht der Effekt Sinn, da das Foto ja beliebig ausgetauscht werden kann und quasi <em>automatisch</em> ein paar Effekte verpasst bekommt.</p>
<h3>Was kommt im zweiten Teil?</h3>
<p class="space">Im zweiten Teil werde ich diese Technik mit WordPress verkn&#252;pfen. Ich werde diesen Effekt auf Post-Fotos, die ich &#252;ber Benutzerdefinierte Felder einbinde, in einem Loop automatisch anwenden. Au&#223;erdem zeige ich noch weitere Effekte, mit denen man <em>normale</em> Fotos etwas aufpeppen kann.</p>
<h3>Relevante Links</h3>
<ul class="space">
<li><a href="http://webdemar.com/docs/bildeffekte/ohne.html?iframe=true&#038;width=800&#038;height=750" rel="prettyPhoto">Demo</a> ohne Overlay-Effekt</li>
<li><a href="http://webdemar.com/docs/bildeffekte/fertig.html?iframe=true&#038;width=800&#038;height=750" rel="prettyPhoto">Demo</a> mit Overlay-Effekt</li>
<li><a href="http://themeshift.com/demo/deluxe/">Theme deLuxe</a> &#8211; Live-Beispiel</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://www.onlinecasinodemar.com/tutorials/tutorial-kreative-effekte-mit-bild-overlays-teil-1/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Tutorial: Verschachtelte WordPress Widget-Areas</title>
		<link>http://www.onlinecasinodemar.com/tutorials/tutorial-verschachtelte-wordpress-widget-areas/</link>
		<comments>http://www.onlinecasinodemar.com/tutorials/tutorial-verschachtelte-wordpress-widget-areas/#comments</comments>
		<pubDate>Fri, 18 Sep 2009 10:16:48 +0000</pubDate>
		<dc:creator>Simon</dc:creator>
				<category><![CDATA[Tutorials]]></category>
		<category><![CDATA[WordPress Funktionen]]></category>
		<category><![CDATA[widget area]]></category>
		<category><![CDATA[widgets]]></category>

		<guid isPermaLink="false">http://www.onlinecasinodemar.com/?p=1298</guid>
		<description><![CDATA[<img width="280" height="210" src="http://www.onlinecasinodemar.com/wp-content/uploads/2009/09/verschachtelte-widgetareas.jpg" class="attachment-post-thumbnail wp-post-image" alt="verschachtelte-widgetareas" title="verschachtelte-widgetareas" />Um mit WordPress einen weiteren Schritt in Richtung CMS zu machen, kann man die Widgets der Sidebar oder jeder anderen Widget-Area in einem WordPress-Theme abh&#228;ngig vom Inhalt anzeigen lassen. Im folgenden Beispiel unterscheide ich zwischen Sidebars f&#252;r Startseite, Seiten, Artikeleinzelansichten und Kategorien. Warum verschachtelte Widget-Areas? Verschachtelte Widget-Areas bieten eine gro&#223;e Flexibilit&#228;t. Man hat damit die [...]]]></description>
			<content:encoded><![CDATA[<img width="280" height="210" src="http://www.onlinecasinodemar.com/wp-content/uploads/2009/09/verschachtelte-widgetareas.jpg" class="attachment-post-thumbnail wp-post-image" alt="verschachtelte-widgetareas" title="verschachtelte-widgetareas" /><p>Um mit WordPress einen weiteren Schritt in Richtung <abbr title="Content Management System">CMS</abbr> zu machen, kann man die Widgets der Sidebar oder jeder anderen Widget-Area in einem WordPress-Theme abh&#228;ngig vom Inhalt anzeigen lassen. Im folgenden Beispiel unterscheide ich zwischen Sidebars f&#252;r Startseite, Seiten, Artikeleinzelansichten und Kategorien.<span id="more-1298"></span></p>
<h3 class="clear">Warum verschachtelte Widget-Areas?</h3>
<p>Verschachtelte Widget-Areas bieten eine gro&#223;e Flexibilit&#228;t. Man hat damit die M&#246;glichkeit bspw. verschiedene Sidebars abh&#228;ngig davon anzuzeigen, wo der Benutzer sich auf der Website befindet.</p>
<p class="space">In meinem Beispiel werde ich abfragen, ob sich der User auf der Startseite, auf einer Seite, in einer Artikeleinzelansicht oder in einer Kategorie befindet. Um nicht obligatorisch f&#252;r alle F&#228;lle eine eigene Sidebar anlegen zu <em>m&#252;ssen</em>, erstelle ich au&#223;erdem eine allgemeine Sidebar, die immer dann angezeigt wird, wenn f&#252;r den jeweiligen Unterbereich keine Widgets definiert wurden.</p>
<h3>Sprungmarken</h3>
<ul style="margin-bottom:40px">
<li><a href="#widgets-1">Erstellen einer Widget-Area</a></li>
<li><a href="#widgets-2">Ausgabe der Widgets im Theme</a></li>
<li><a href="#widgets-3">Erstellen mehrerer Widget-Areas</a></li>
<li><a href="#widgets-4">Verschachteln der Widget-Areas</a></li>
</ul>
<h3 id="widgets-1">Erstellen einer Widget-Area</h3>
<p>Zum Definieren der Widget-Area ben&#246;tige ich die Funktion <code>register_sidebar()</code> (s.a. <a href="http://codex.wordpress.org/Function_Reference/register_sidebar">WordPress Codex</a>). Der Funktionsname ist dabei ein wenig irref&#252;hrend, da man damit nicht nur Widget-Areas in Sidebars, sondern nat&#252;rlich auch im Footer oder sonstwo in den Theme-Dateien erstellen kann.</p>
<p><img class="alignnone size-full wp-image-1331 shadow" title="Allgemeine Widget-Sidebar" src="http://www.onlinecasinodemar.com/wp-content/uploads/2009/09/widgets1.png" alt="Allgemeine Widget-Sidebar" width="300" height="110" /></p>
<p>Folgenden Code trage ich in die <em>functions.php</em> im Theme-Ordner ein, um zun&#228;chst die allgemeine Sidebar namens <em>Sidebar</em> zu erstellen.</p>
<p><strong>Code f&#252;r functions.php</strong></p>
<pre><code>&lt;?php
register_sidebar(array(
'name' =&gt; 'Sidebar',
'before_widget' =&gt; '&lt;div id='%1$s' class='%2$s'&gt;',
'after_widget' =&gt; '&lt;/div&gt;',
'before_title' =&gt; '&lt;h3&gt;',
'after_title' =&gt; '&lt;/h3&gt;'));
?&gt;</code></pre>
<p class="space"><em>Bemerkung:</em><br />
Das Format f&#252;r die Widgets ist somit festgelegt. Die Widget-Sidebar wird nun im WordPress-Admin bereits (wie oben im Bild zu sehen) angezeigt.</p>
<h3 id="widgets-2">Ausgabe der Widgets im Theme</h3>
<p>Jetzt muss dem WordPress-Theme noch gesagt, werden wo diese Widget-Area, wenn sie Widgets enth&#228;lt (aktiv ist), angezeigt werden soll (s.a. <a href="http://automattic.com/code/widgets/themes/">Widgetizing Themes</a> von Automattic).</p>
<p>F&#252;r den Aufruf der Widget-Area im Theme (in meinem Beispiel in der <em>sidebar.php</em>) wird die Funktion <code>dynamic_sidebar()</code> (s.a. <a href="http://codex.wordpress.org/Function_Reference/dynamic_sidebar">WordPress Codex</a>) verwendet.</p>
<p><strong>Code f&#252;r sidebar.php</strong></p>
<pre><code>&lt;div id='sidebar'&gt;

&lt;?php if ( !dynamic_sidebar() ) : ?&gt;

    &lt;!-- hier werden die Widgets angezeigt --&gt;
    &lt;p&gt;Inhalt der Sidebar, wenn keine Widgets aktiv sind.&lt;/p&gt;

&lt;?php endif; // endif dynamic sidebar ?&gt;

&lt;/div&gt;&lt;!-- end sidebar --&gt;</code></pre>
<p class="space"><em>Bemerkung:</em><br />
In diesem Code liegt meine Sidebar in einem <code>div</code> mit der ID <em>sidebar</em>. Wenn mindestens ein Widget aktiv ist, wird dieses innerhalb der if-Abfrage angezeigt.</p>
<h3 id="widgets-3">Erstellen mehrerer Widget-Areas</h3>
<p>In der <em>functions.php</em> lege ich nun auch die &#252;brigen Widget-Areas an, die wir dann sp&#228;ter in der Sidebar verschachteln wollen.</p>
<p><img src="http://www.onlinecasinodemar.com/wp-content/uploads/2009/09/widgets2.png" alt="Allgemeine Sidebar &amp; Unter-Sidebars" title="Allgemeine Sidebar &amp; Unter-Sidebars" width="390" height="260" class="alignnone size-full wp-image-1342 shadow" /></p>
<p>Wie schon angesprochen m&#246;chte ich eine allgemeine Sidebar erstellen, die immer dann angezeigt wird, wenn f&#252;r den jeweiligen Unterbereich kein Widget aktiv ist. Au&#223;erdem definiere ich die extra Widget-Areas f&#252;r Startseite, Seite, Artikeleinzelansicht und Kategorie.</p>
<p><strong>Code f&#252;r functions.php</strong></p>
<pre><code>&lt;?php

// Sidebar Nr. 1 - Allgemein
register_sidebar(array(
'name' =&gt; 'Sidebar',
'before_widget' =&gt; '&lt;div id='%1$s' class='%2$s'&gt;',
'after_widget' =&gt; '&lt;/div&gt;',
'before_title' =&gt; '&lt;h3&gt;',
'after_title' =&gt; '&lt;/h3&gt;'));

// Sidebar Nr. 2 - Startseite
register_sidebar(array(
'name' =&gt; 'Sidebar-Home',
'before_widget' =&gt; '&lt;div id='%1$s' class='%2$s'&gt;',
'after_widget' =&gt; '&lt;/div&gt;',
'before_title' =&gt; '&lt;h3&gt;',
'after_title' =&gt; '&lt;/h3&gt;'));

// Sidebar Nr. 3 - Seite
register_sidebar(array(
'name' =&gt; 'Sidebar-Page',
'before_widget' =&gt; '&lt;div id='%1$s' class='%2$s'&gt;',
'after_widget' =&gt; '&lt;/div&gt;',
'before_title' =&gt; '&lt;h3&gt;',
'after_title' =&gt; '&lt;/h3&gt;'));

// Sidebar Nr. 4 - Artikeleinzelansicht
register_sidebar(array(
'name' =&gt; 'Sidebar-Post',
'before_widget' =&gt; '&lt;div id='%1$s' class='%2$s'&gt;',
'after_widget' =&gt; '&lt;/div&gt;',
'before_title' =&gt; '&lt;h3&gt;',
'after_title' =&gt; '&lt;/h3&gt;'));

// Sidebar Nr. 5 - Kategorie
register_sidebar(array(
'name' =&gt; 'Sidebar-Category',
'before_widget' =&gt; '&lt;div id='%1$s' class='%2$s'&gt;',
'after_widget' =&gt; '&lt;/div&gt;',
'before_title' =&gt; '&lt;h3&gt;',
'after_title' =&gt; '&lt;/h3&gt;'));

?&gt;</code></pre>
<p class="space"><em>Bemerkung:</em><br />
Alle f&#252;r mein Beispiel ben&#246;tigten Widget-Sidebars sind nun angelegt. Um das Ganze &#252;bersichtlich zu halten, habe ich sinnvolle Namen vergeben und die Sidebars zur &#220;bersicht nummeriert (das brauchen wir sp&#228;ter noch).</p>
<h3 id="widgets-4">Verschachteln der Widget-Areas</h3>
<p>Nochmal zur Verdeutlichung: Es soll erreicht werden, dass, wenn wir uns bspw. in einer Artikeleinzelansicht (Post) befinden, abgefragt wird, ob f&#252;r diesen Unterbereich Widgets aktiv sind. Wenn das der Fall ist, werden diese in der Sidebar ausgegeben, wenn nicht, wird die allgemeine Startseite angezeigt. Die gleiche Abfrage soll f&#252;r die Unterbereiche Startseite, Seite und Kategorie gemacht werden.</p>
<p>Wo sich der Benutzer auf der Website befindet, kann ich mit folgenden Conditional Tags (s. a. <a href="http://codex.wordpress.org/Conditional_Tags">WordPress Codex</a>) abfragen:</p>
<ul>
<li><code>is_front_page()</code></li>
<li><code>is_page()</code></li>
<li><code>is_single()</code></li>
<li><code>is_archive()</code></li>
</ul>
<p>Parallel dazu muss ich herausfinden, ob eine bestimmte Widget-Area aktiv ist, d. h. ob ihr Widgets zugewiesen wurden. Das mache ich mit dem Conditional Tag <code>is_active_sidebar()</code>.</p>
<p>Die verschiedenen Sidebars werden durch den Namen, die ID oder der Nummer identifiziert. Ich habe mir f&#252;r die eindeutige Zuordnung durch die Nummer (Reihenfolge) entschieden.</p>
<ul>
<li>Nr. 1 = Sidebar Allgemein</li>
<li>Nr. 2 = Sidebar Startseite</li>
<li>Nr. 3 = Sidebar Seite</li>
<li>Nr. 4 = Sidebar Artikeleinzelansicht</li>
<li>Nr. 5 = Sidebar Kategorie</li>
</ul>
<p><strong>Code f&#252;r sidebar.php</strong></p>
<pre><code>&lt;div id='sidebar'&gt;

&lt;?php
    if(is_front_page() &amp;amp;&amp;amp; is_active_sidebar(2)) : dynamic_sidebar(2);
    elseif(is_page() &amp;amp;&amp;amp; is_active_sidebar(3)) : dynamic_sidebar(3);
    elseif(is_single() &amp;amp;&amp;amp; is_active_sidebar(4)) : dynamic_sidebar(4);
    elseif(is_archive() &amp;amp;&amp;amp; is_active_sidebar(5)) : dynamic_sidebar(5);

    else : 

        if (!dynamic_sidebar(1)) : ?&gt;

    	&lt;!-- hier werden die Widgets angezeigt --&gt;
    	&lt;p&gt;Inhalt der Sidebar, wenn keine Widgets aktiv sind.&lt;/p&gt;

        &lt;?php endif; // endif dynamic sidebar ?&gt;

&lt;?php endif; // endif active sidebars ?&gt;

&lt;/div&gt;&lt;!-- end sidebar --&gt;</code></pre>
<p><em>In Worten bedeutet dieser Code:</em></p>
<p>Wenn der User auf der Startseite ist und die Sidebar Nr. 2 aktiv ist, dann zeige diese an. Wenn sich der User auf einer Seite bewegt und die Sidebar Nr. 3 aktiv ist, dann zeige diese an. Wenn sich der User in einer Artikeleinzelansicht bewegt und die Sidebar Nr. 4 aktiv ist, dann zeige diese an. Wenn eine Kategorie angezeigt wird und die Sidebar Nr. 5 aktiv ist, dann zeige diese an.</p>
<p class="space">Wenn all das nicht der Fall ist, wird abgefragt, ob die allgemeine Sidebar Nr. 1 aktiv ist. Wenn auch das nicht der Fall ist, dann wird der Text <em>Inhalt der Sidebar, wenn keine Widgets aktiv sind.</em> angezeigt.</p>
<h3>Verbesserungsvorschl&#228;ge?</h3>
<p class="space">Da es sich meines Erachtens um ein interessantes Feature f&#252;r WordPress-Themes handelt, w&#252;rde ich mich &#252;ber Verbesserungsvorchl&#228;ge freuen, sollte jemand eine einfachere oder bessere L&#246;sung haben. Da ich kein PHP-Experte bin, kann es sein, dass dieser Code evtl. noch effektiver gestaltet werden kann.</p>
<h3>Fazit</h3>
<p class="space">Mit verschachtelten Widget-Areas kann man schon ein gutes St&#252;ck an Flexibilit&#228;t in einem WordPress-Theme gewinnen und sich somit weiter in Richtung CMS bewegen. Das Beispiel ist nat&#252;rlich beliebig erweiterbar, da man alle m&#246;glichen Abfragen f&#252;r die Anzeige verschiedener Widget-Areas verwenden kann. Hier ist Kreativit&#228;t gefragt.</p>
<h3>Relevante Links</h3>
<ul class="space">
<li>register_sidebar() &#8211; <a href="http://codex.wordpress.org/Function_Reference/register_sidebar">WordPress Codex</a></li>
<li>dynamic_sidebar() &#8211; <a href="http://codex.wordpress.org/Function_Reference/dynamic_sidebar">WordPress Codex</a></li>
<li>Conditional Tags &#8211; <a href="http://codex.wordpress.org/Conditional_Tags">WordPress Codex</a></li>
<li><a href="http://automattic.com/code/widgets/themes/">Widgetizing Themes</a> von Automattic</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://www.onlinecasinodemar.com/tutorials/tutorial-verschachtelte-wordpress-widget-areas/feed/</wfw:commentRss>
		<slash:comments>16</slash:comments>
		</item>
		<item>
		<title>Tutorial: jQuery Dropdown Men&#252; f&#252;r WordPress</title>
		<link>http://www.onlinecasinodemar.com/wordpress/tutorial-jquery-dropdown-menue-fuer-wordpress/</link>
		<comments>http://www.onlinecasinodemar.com/wordpress/tutorial-jquery-dropdown-menue-fuer-wordpress/#comments</comments>
		<pubDate>Fri, 20 Feb 2009 11:50:17 +0000</pubDate>
		<dc:creator>Simon</dc:creator>
				<category><![CDATA[Tutorials]]></category>
		<category><![CDATA[WordPress]]></category>
		<category><![CDATA[WordPress Funktionen]]></category>
		<category><![CDATA[dropdown menu]]></category>
		<category><![CDATA[jQuery]]></category>
		<category><![CDATA[WordPress Themes]]></category>

		<guid isPermaLink="false">http://www.onlinecasinodemar.com/?p=698</guid>
		<description><![CDATA[<img width="280" height="210" src="http://www.onlinecasinodemar.com/wp-content/uploads/2009/02/superfish-jquery-dropdown.jpg" class="attachment-post-thumbnail wp-post-image" alt="superfish-jquery-dropdown" title="superfish-jquery-dropdown" />Inhalte von WordPress-Seiten werden immer komplexer und damit nat&#252;rlich ihre Navigation. Eine schicke Sache f&#252;r ein komplexes Navigationsmen&#252; ist ein Dropdown-Men&#252;. Eine L&#246;sung, die ich gern verwende, ist das Superfish jQuery-Plugin von Joel Birch. Die Implementierung in WordPress ist nicht schwer. Vor drei Wochen habe ich bereits ein Tutorial geschrieben, welches das Einf&#252;gen eines Superfish-Dropdown [...]]]></description>
			<content:encoded><![CDATA[<img width="280" height="210" src="http://www.onlinecasinodemar.com/wp-content/uploads/2009/02/superfish-jquery-dropdown.jpg" class="attachment-post-thumbnail wp-post-image" alt="superfish-jquery-dropdown" title="superfish-jquery-dropdown" /><p>Inhalte von WordPress-Seiten werden immer komplexer und damit nat&#252;rlich ihre Navigation. Eine schicke Sache f&#252;r ein komplexes Navigationsmen&#252; ist ein Dropdown-Men&#252;. Eine L&#246;sung, die ich gern verwende, ist das Superfish jQuery-Plugin von Joel Birch. Die Implementierung in WordPress ist nicht schwer.<span id="more-698"></span></p>
<p>Vor drei Wochen habe ich bereits ein <a href="http://webdemar.com/webdesign/tutorial-jquery-dropdown-menue-mit-superfish/">Tutorial</a> geschrieben, welches das Einf&#252;gen eines <a href="http://users.tpg.com.au/j_birch/plugins/superfish/">Superfish-Dropdown</a> in eine normale Website erkl&#228;rt. Wer also noch keine Erfahrung mit dem jQuery-Plugin hat, sollte dort mal einen Blick drauf werfen.</p>
<p class="info"><strong>Grundlage f&#252;r dieses Tutorial</strong><br />
<a href="http://webdemar.com/webdesign/tutorial-jquery-dropdown-menue-mit-superfish/" title="jQuery Dropdown Men&#252; mit Superfish">Tutorial: jQuery Dropdown Men&#252; mit Superfish</a></p>
<h3>Einbindung des Superfish-Skriptes</h3>
<p>Wie in dem vorherigen <a href="http://webdemar.com/webdesign/tutorial-jquery-dropdown-menue-mit-superfish/">Tutorial</a>, m&#252;ssen wir zun&#228;chst das <a href="http://users.tpg.com.au/j_birch/plugins/superfish/">Skript</a> des jQuery-Plugins im Head-Bereich der Website einbinden und aufrufen.</p>
<p>In einem WordPress-Theme bearbeiten wir daf&#252;r die Datei <em>header.php</em>. Wir setzen weiterhin voraus, dass sowohl die jQuery-Library (jquery-1.2.6.min.js), das Superfish-Skript (superfish.js) und das Superfish-Stylesheet (superfish.css) im Theme-Ordner im Unterordner /sf/ liegen.</p>
<pre><code>&lt;link rel='stylesheet' type='text/css' media='screen' href='&lt;?php bloginfo('template_url'); ?&gt;/sf/superfish.css' /&gt;
&lt;script type='text/javascript' src='&lt;?php bloginfo('template_url'); ?&gt;/sf/superfish.js'&gt;&lt;/script&gt;</code></pre>
<p><em>Bemerkung:</em><br />
Hiermit binden wir also sowohl das Stylesheet des Dropdown also auch das Javascript mit den richtigen Pfaden (/wp-content/themes/dein-theme/sf/) in den Head-Bereich ein.</p>
<p>Somit ist das Plugin f&#252;r uns nun aufruf- und einsetzbar.</p>
<pre><code>&lt;script type='text/javascript'&gt;
    $(document).ready(function() {
        $('ul.sf-menu').superfish();
    });
&lt;/script&gt;</code></pre>
<p><em>Bemerkung:</em><br />
Mit diesem Aufrunf wird das Superfish-Plugin nun auf alle ungeordneten Listen mit der CSS-Klasse .sf-menu angewendet. Weitere Anpassungen des Plugins entnehmt bitte dem vorherigen <a href="http://webdemar.com/webdesign/tutorial-jquery-dropdown-menue-mit-superfish/">Tutorial</a>.</p>
<h3>Superfish-Dropdown und wp_list_categories()</h3>
<p>F&#252;r die Anzeige eines Dropdown-Men&#252;s f&#252;r Kategorien brauchen wir eine ungeordnete Liste (ul) aller Kategorien. Unterkategorien werden in verschachtelten Listen dargestellt (ul > li > ul etc.). WordPress stellt uns daf&#252;r die Funktion <a href="http://codex.wordpress.org/Template_Tags/wp_list_categories">wp_list_categories()</a> bereit.</p>
<p>Ein Aufruf k&#246;nnte also wie folgt aussehen:</p>
<pre><code>&lt;ul id='cat-menu' class='sf-menu'&gt;
    &lt;?php wp_list_categories('title_li='); ?&gt;
&lt;/ul&gt;</code></pre>
<p>Dieses Konstrukt w&#252;rde nun schon ein ansehnliches Dropdown-Men&#252; erzeugen. Um das Ganze zu verfeinern, kann man dem Men&#252; noch einen Link zur Startseite hinzuf&#252;gen.</p>
<pre><code>&lt;ul id='cat-menu' class='sf-menu'&gt;
    &lt;li class='cat_item&lt;?php if(is_home()) echo ' current-cat'; ?&gt;'&gt;&lt;a href='&lt;?php bloginfo('url'); ?&gt;'&gt;Startseite&lt;/a&gt;&lt;/li&gt;
    &lt;?php wp_list_categories('title_li='); ?&gt;
&lt;/ul&gt;</code></pre>
<p><em>Bemerkung:</em><br />
Wir haben auch hier alle Einflussm&#246;glichkeiten, die uns die Funktion <a href="http://codex.wordpress.org/Template_Tags/wp_list_categories">wp_list_categories()</a> bietet.</p>
<h3>Superfish-Dropdown und wp_list_pages()</h3>
<p>Ein Men&#252; f&#252;r WordPress-Seiten mit dem Dropdown darzustellen, ist nun relativ einfach. Mit der Funktion <a href="http://codex.wordpress.org/Template_Tags/wp_list_pages">wp_list_pages()</a> erhalten wir die erforderliche Listenstruktur f&#252;r alle Seiten und Unterseiten.</p>
<pre><code>&lt;ul id='page-menu' class='sf-menu'&gt;
    &lt;?php wp_list_pages('title_li='); ?&gt;
&lt;/ul&gt;</code></pre>
<p><em>Bemerkung:</em><br />
Auch hier k&#246;nnen wir nat&#252;rlich den Startseiten-Men&#252;punkt einf&#252;gen (s.o.) und das Men&#252; mit den Parametern der Funktion <a href="http://codex.wordpress.org/Template_Tags/wp_list_pages">wp_list_pages()</a> an unsere Anforderungen anpassen.</p>
<h3>Superfish-Dropdown und wp_page_menu()</h3>
<p>Mit der Version 2.7 haben uns die WordPress-Entwickler eine neue Funktion zum Aufruf eines Seitenmen&#252;s gegeben &#8211; <a href="http://webdemar.com/wordpress/neue-funktion-wp-page-menu-in-wordpress-27/">wp_page_menu()</a>.</p>
<p>Wie oben erw&#228;hnt, ist es f&#252;r die Darstellung eines Superfish-Men&#252;s n&#246;tig, der ungeordneten Liste (ul) des Seitenemen&#252;s die CSS-Klasse .sf-menu zu geben. Die neue Funktion <a href="http://webdemar.com/wordpress/neue-funktion-wp-page-menu-in-wordpress-27/">wp_page_menu()</a> bietet uns zwar einige neue M&#246;glichkeiten (z. B. Startseiten-Link einf&#252;gen), &#8220;verw&#228;hrt&#8221; uns jedoch den direkten Zugriff auf den ul-Tag der Liste.</p>
<p>Der Aufruf sieht bspw. wie folgt aus:</p>
<pre><code>&lt;?php wp_page_menu('show_home=1&amp;include=1,2,4,7&amp;menu_class=page-navi&amp;title_li='); ?&gt;</code></pre>
<p><em>Bemerkung:</em><br />
Wir k&#246;nnen u.a. eine CSS-Klasse vergeben (menu_class). Jedoch wird diese Klasse auf den um die Liste (ul) erzeugten div-Container angewendet.</p>
<p>Der Output der Funktion w&#252;rde etwa wie folgt aussehen:</p>
<pre><code>&lt;div class='page-navi'&gt;
	&lt;ul&gt;
		&lt;li class='current_page_item'&gt;&lt;a href='#'&gt;Home&lt;/a&gt;&lt;/li&gt;
		&lt;li class='page_item page-item-1'&gt;&lt;a href='#' title='Seite1'&gt;Seite1&lt;/a&gt;&lt;/li&gt;
		&lt;li class='page_item page-item-2'&gt;&lt;a href='#' title='Seite2'&gt;Seite2&lt;/a&gt;&lt;/li&gt;
		&lt;li class='page_item page-item-3'&gt;&lt;a href='#' title='Seite4'&gt;Seite4&lt;/a&gt;&lt;/li&gt;
		&lt;li class='page_item page-item-3'&gt;&lt;a href='#' title='Seite7'&gt;Seite7&lt;/a&gt;&lt;/li&gt;
	&lt;/ul&gt;
&lt;/div&gt;</code></pre>
<p><em>Bemerkung:</em><br />
Nun haben wir zwar eine Liste innerhalb eines div-Containers und f&#252;r CSS-Formatierungen ist diese Verschachtelung nat&#252;rlich kein Problem. F&#252;r unser Dropdown brauchen wir aber auf jeden Fall die Klasse .sf-menu auf dem ul-Tag.</p>
<h3>Der Liste in wp_page_menu() eine Klasse zuteilen</h3>
<p>Mit einer kleinen Erweiterung in der <em>functions.php</em> unseres WordPress-Themes k&#246;nnen wir die Funktion <a href="http://webdemar.com/wordpress/neue-funktion-wp-page-menu-in-wordpress-27/">wp_page_menu()</a> durch einen <a href="http://codex.wordpress.org/Function_Reference/add_filter">WordPress-Filter</a> schicken. Mit der PHP-Funktion <a href="http://de.php.net/preg_replace">preg_replace</a> suchen wir uns den ersten(!) ul-Tag im Output unseres Seitenmen&#252;s und erweitern diesen um eine ID und eine Klasse. Ian Steward von <a href="http://themeshaper.com/adding-class-wordpress-page-menu/">ThemeShaper</a> hat diese L&#246;sung vorgestellt.</p>
<pre><code>// Add ID and CLASS attributes to the first &lt;ul&gt; occurence in wp_page_menu
function add_menuclass($ulclass) {
return preg_replace('/&lt;ul&gt;/', '&lt;ul id='nav' class='something-classy'&gt;', $ulclass, 1);
}
add_filter('wp_page_menu','add_menuclass');</code></pre>
<p>Bemerkung:<br />
Mit diesem kleinen Code-Schnipsel in der <em>functions.php</em> ist es nun ohne Probleme m&#246;glich, auch in der neuen wp_page_menu-Funktion unsere Klasse .sf-menu an die ungeordnete Liste (ul) weiterzugeben.</p>
<h3>Fazit</h3>
<p>Wir sehen also, es ist nicht weiter schwierig, ein Superfish-Dropdown-Men&#252; in einer WordPress-Navigation zu nutzen, da wir lediglich eine Klasse vergeben m&#252;ssen. Was etwas mehr Arbeit bereitet, ist die Anpassung des Stylesheets an das Layout der Seite. Aber auch das ist mit Geduld und Spucke ohne Weiteres zu schaffen <img src='http://www.onlinecasinodemar.com/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' />  </p>
<h3>Relevante Links</h3>
<ul>
<li><a href="http://users.tpg.com.au/j_birch/plugins/superfish">Superfish &#8211; Suckerfish on ‘roids</a></li>
<li><a href="http://webdemar.com/webdesign/tutorial-jquery-dropdown-menue-mit-superfish/">Tutorial: jQuery Dropdown Men&#252; mit Superfish</a></li>
<li><a href="http://webdemar.com/wordpress/neue-funktion-wp-page-menu-in-wordpress-27/">Funktion wp_page_menu()</a></li>
<li><a href="http://themeshaper.com/adding-class-wordpress-page-menu/">Adding Class To The WordPress Page Menu</a></li>
<li><a href="http://de.php.net/preg_replace">PHP-Funktion preg_replace()</a></li>
<li><a href="http://webdemar.com/webdesign/superfish-jquery-menu-ie-z-index-bug/">Superfish jQuery Menu IE z-index Bug</a> (English)</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://www.onlinecasinodemar.com/wordpress/tutorial-jquery-dropdown-menue-fuer-wordpress/feed/</wfw:commentRss>
		<slash:comments>42</slash:comments>
		</item>
		<item>
		<title>Tutorial: WordPress-Themes lokalisieren</title>
		<link>http://www.onlinecasinodemar.com/wordpress/tutorial-wordpress-themes-lokalisieren/</link>
		<comments>http://www.onlinecasinodemar.com/wordpress/tutorial-wordpress-themes-lokalisieren/#comments</comments>
		<pubDate>Thu, 05 Feb 2009 11:47:33 +0000</pubDate>
		<dc:creator>Simon</dc:creator>
				<category><![CDATA[Tutorials]]></category>
		<category><![CDATA[WordPress]]></category>
		<category><![CDATA[WordPress Funktionen]]></category>
		<category><![CDATA[Übersetzung]]></category>
		<category><![CDATA[Lokalisierung]]></category>
		<category><![CDATA[Tutorial]]></category>
		<category><![CDATA[WordPress Themes]]></category>

		<guid isPermaLink="false">http://www.onlinecasinodemar.com/?p=666</guid>
		<description><![CDATA[<img width="280" height="210" src="http://www.onlinecasinodemar.com/wp-content/uploads/2009/11/wordpress.jpg" class="attachment-post-thumbnail wp-post-image" alt="wordpress" title="wordpress" />Die Lokalisierung / &#220;bersetzung von WordPress-Themes ist eine von mir bisher str&#228;flich wenig beachtete Funktion von WordPress. Dabei kann man mit einem relativ geringen Mehraufwand einen geh&#246;rigen Mehrwert in Sachen Interantionalisierung von Themes schaffen. Warum lokalisieren? Die Vorteile, den kleinen Mehraufwand bei der Erstellung eines WordPress-Themes in Kauf zu nehmen und dieses zu lokalisieren, liegen [...]]]></description>
			<content:encoded><![CDATA[<img width="280" height="210" src="http://www.onlinecasinodemar.com/wp-content/uploads/2009/11/wordpress.jpg" class="attachment-post-thumbnail wp-post-image" alt="wordpress" title="wordpress" /><p>Die Lokalisierung / &#220;bersetzung von WordPress-Themes ist eine von mir bisher str&#228;flich wenig beachtete Funktion von WordPress. Dabei kann man mit einem relativ geringen Mehraufwand einen geh&#246;rigen Mehrwert in Sachen Interantionalisierung von Themes schaffen.<span id="more-666"></span></p>
<h3 class="clear">Warum lokalisieren?</h3>
<p>Die Vorteile, den kleinen Mehraufwand bei der Erstellung eines WordPress-Themes in Kauf zu nehmen und dieses zu lokalisieren, liegen auf der Hand. Mit gesonderten Sprachdateien l&#228;sst sich das Theme unabh&#228;ngig vom Quellcode, den man daf&#252;r dann nicht mehr anr&#252;hren muss, in beliebig viele Sprachen &#252;bersetzen.</p>
<p>Die WordPress-Installation selbst ist in Sachen Intarnationalisierung und &#220;bersetzung schon weit gediehen und es gibt bereits <a href="http://codex.wordpress.org/WordPress_in_Your_Language">unz&#228;hlige &#220;bersetzungen</a> f&#252;r den WordPress-Admin. Dann sollten wir beim Theme nicht aufh&#246;ren.</p>
<h3>WordPress verwendet GetText:</h3>
<p>Um WordPress-Themes zu lokalisieren verwendet WordPress eine &#220;bersetzungsanwendung namens GetText. Mit dieser Anwendung ist es relativ einfach, WordPress zusagen, was wo und womit &#252;bersetzt werden soll. Mehr dazu im Detail.</p>
<h3>HTML-Strings &#252;bersetzbar machen:</h3>
<p>Nehmen wir an, wir wollen in userem Theme einen Titel der Sidebar &#252;bersetzen. Dort steht im Quellcode folgendes:</p>
<pre><code>&lt;h4&gt;Recent Articles&lt;/h4&gt;</code></pre>
<p>Um diesen HTML-String nun per GetText &#252;bersetzbar zu machen, m&#252;ssen wir ihn in einen GetText-Call packen, den viele Theme-Designer von Euch sicherlich schon gesehen haben und der wie folgt aussieht:</p>
<pre><code>&lt;h4&gt;&lt;?php _e('Recent Articles', my_theme_name); ?&gt;&lt;/h4&gt;</code></pre>
<p>Bemerkung:<br />
Hiermit rufen wir die GetText-Funktion _e() auf und sagen ihr, was womit &#252;bersetzt werden soll und dass die &#220;bersetzung an dieser Stelle ausgegeben werden soll (PHP: echo). Der erste Parameter in der Klammer sagt, was &#252;bersetzt werden soll und der zweite (my_theme_name) sagt WordPress, wo die &#220;bersetzung zu finden ist (dazu sp&#228;ter mehr),</p>
<h3>GetText in WordPress-Funktionen:</h3>
<p>Sicherlich sind Euch auch schon WordPress-Funktionen bekannt, in denen verschiedene Strings verarbeitet werden. Ein Beispiel ist der Aufruf der Anzahl der Kommentare:</p>
<pre><code>&lt;?php comments_number(__('No comments',my_theme_name), __('One comment',my_theme_name), __( '% comments',my_theme_name) );?&gt;</code></pre>
<p>Bemerkung:<br />
In der Funktion comments_number() k&#246;nnen wir drei Strings f&#252;r drei m&#246;gliche F&#228;lle &#252;bergeben (kein, 1 und x Kommentare). Wie ihr vielleicht seht, rufen wir jedoch jetzt die GetText-Funktion __() auf. Auch diese sagt WordPress was womit &#252;bersetzt werden soll, doch nun wird die &#220;bersetzung an dieser Stelle nicht ausgegeben (PHP: kein echo), sondern kann als String von PHP weiterverarbeitet werden.</p>
<h3>Text-Domains:</h3>
<p>Der Name ist ein wenig irref&#252;hrend. Es geht um den zweiten Parameter in den GetText-Calls (my_theme_name). Dieser ist optional und hilft WordPress die richtige &#220;bersetzung zu finden. Es kann n&#228;mlich vorkommen, dass z. B. in einem Plugin, das wir verwenden, der gleiche String &#252;bersetzt werden soll. Mit unserer eindeutigen Text-Domain k&#246;nnen wir klar bestimmen, welche &#220;bersetzung gew&#228;hlt werden soll. Die Text-Domain kann der Theme-Name sein, mit dem man auch den Theme-Ordner benannt hat (z. B. &#8216;decoder&#8217; oder &#8216;my_theme_name&#8217;).</p>
<h3>Vorbereiten und Erstellen der Sprachdatei:</h3>
<p>Angenommen wir haben jetzt &#252;berall in unseren Theme diese zu &#252;bersetzenden Strings verteilt. Als n&#228;chstes wollen wir diese in einer Liste ausgeben, um sie weiterverarbeiten zu k&#246;nnen.</p>
<div id="attachment_676" class="wp-caption aligncenter" style="width: 560px"><img src="http://www.onlinecasinodemar.com/wp-content/uploads/2009/02/php-to-po.jpg" alt="PHP to .po extractor" title="PHP to .po extractor" width="550" height="200" class="size-full wp-image-676" /><p class="wp-caption-text">PHP to .po extractor</p></div>
<p>Diese Liste, mit der wir auch die &#220;bersetzung machen ist eine .po-Datei (Portable Object). Um nun aus den php-Dateien unseres Themes die Liste in der .po-Datei zu erstellen, gibt es <em><a href="http://www.icanlocalize.com/tools/php_scanner">PHP to .po extractor</a></em>, mit denen wir einzelne Dateien aber auch Zip-Archive verarbeiten k&#246;nnen. Dieser sucht alle Strings, die in _e() und __() Funktionen gepackt sind und gibt uns die .po-Datei zur&#252;ck.</p>
<h3>&#220;bersetzen aller Strings in der .po-Datei:</h3>
<p>Um .po-Dateien verarbeiten zu k&#246;nnen, solltet Ihr Euch das Programm <a href="http://www.poedit.net/">Poedit</a> herunterladen. Mit diesem Programm lassen sich die &#220;bersetzungen einfach und &#252;bersichtlich anfertigen. Beim Abspeichern unserer .po-Datei wird automatisch eine .mo-Datei erstellt, die letztlich die Sprachdatei ist, die WordPress ben&#246;tigt. Die .po-Datei ist sozusagen nur die Bearabeitungsdatei.</p>
<div id="attachment_677" class="wp-caption aligncenter" style="width: 560px"><img src="http://www.onlinecasinodemar.com/wp-content/uploads/2009/02/poedit.jpg" alt="Sprachdateien bearbeiten mit Poedit" title="Sprachdateien bearbeiten mit Poedit" width="550" height="200" class="size-full wp-image-677" /><p class="wp-caption-text">Sprachdateien bearbeiten mit Poedit</p></div>
<p>Wichtig beim Erstellen der Sprachdateien sind noch die <a href="http://www.gnu.org/software/autoconf/manual/gettext/Locale-Names.html">Sprach- und L&#228;ndercodes</a>, mit denen wir die Sprachfiles benennen. Eine Sprachdatei f&#252;r Deutsch aus Deutschland m&#252;sste also de_DE.po / de_DE.mo hei&#223;en. F&#252;r Schweizer Deutsch dementsprechend de_CH.po / de_CH.mo.</p>
<h3>Laden der Text-Domain:</h3>
<p>Wenn wir die .po/.mo-Dateien in unserem Theme-Ordner platziert haben, sagen wir WordPress, dass in unserem Theme eine &#220;bersetzung geladen werden soll. </p>
<pre><code>&lt;?php load_theme_textdomain(my_theme_name); ?&gt;</code></pre>
<p>Bemerkung:<br />
Diesen Aufruf platzieren wir am besten in der header.php, da diese bei jedem Seitenaufruf angesprochen wird.</p>
<p>Wenn WordPress nun das Sprachfile f&#252;r die Sprache findet, die in der wp-config.php angegeben ist, wird das Theme mit allen &#220;bersetzungen richtig angezeigt.</p>
<pre><code>define ('WPLANG', 'de_DE');</code></pre>
<p><em>// edit:</em></p>
<h3>Alternative per Plugin:</h3>
<p>Wenn einem das Installieren von Poedit und das externe Scannen der PHP-Dateien zum umst&#228;ndlich ist, kann man das Ganze auch WordPress-intern l&#246;sen. Das WordPress-Plugin <a href="http://www.code-styling.de/deutsch/entwicklungen/wordpress-plugin-codestyling-localization">Codestyling Localization</a> scheint mir daf&#252;r eine starke Alternative zu sein. Ich habe es selbst noch nicht getestet, werde das aber auf jeden Fall nachholen.</p>
<p>Danke an <a href="#comment-1728">sokai</a> f&#252;r den Tipp!</p>
<p><em>// end edit;</em></p>
<h3>Fazit:</h3>
<p>Die Lokalisierung von WordPress-Themes sollte f&#252;r Theme-Autoren zum Standard geh&#246;ren. Wenn man diese Routine einmal durchlaufen ist, h&#228;lt sich der Mehraufwand tats&#228;chlich in Grenzen und das Theme wird dem internationalen Charakter von WordPress gerecht.</p>
<h3>Relevante Links:</h3>
<ul>
<li><a href="http://codex.wordpress.org/Translating_WordPress">WordPress Codex Translating WordPress</a></li>
<li><a href="http://codex.wordpress.org/WordPress_in_Your_Language">WordPress Codex WordPress in You Language</a></li>
<li><a href="http://www.poedit.net/">Poedit</a> zum Verarbeiten von .po-Dateien</li>
<li><a href="http://www.icanlocalize.com/tools/php_scanner">PHP Text-Scanner</a> zum Erstellen der .po-Dateien</li>
<li><a href="http://blog-en.icanlocalize.com/installing-wordpress-for-multiple-language-blogs/how-to-localize-wordpress-themes-and-plugins-with-gettext/">How to localize WordPress themes and plugins with GetText</a></li>
<li><a href="http://www.zyblog.de/2006/01/06/wordpress-themes-lokalisieren/">WordPress Themes lokalisieren /// ZyBlog</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://www.onlinecasinodemar.com/wordpress/tutorial-wordpress-themes-lokalisieren/feed/</wfw:commentRss>
		<slash:comments>20</slash:comments>
		</item>
		<item>
		<title>Tutorial: jQuery Dropdown Men&#252; mit Superfish</title>
		<link>http://www.onlinecasinodemar.com/webdesign/tutorial-jquery-dropdown-menue-mit-superfish/</link>
		<comments>http://www.onlinecasinodemar.com/webdesign/tutorial-jquery-dropdown-menue-mit-superfish/#comments</comments>
		<pubDate>Fri, 30 Jan 2009 11:57:30 +0000</pubDate>
		<dc:creator>Simon</dc:creator>
				<category><![CDATA[jQuery]]></category>
		<category><![CDATA[Tutorials]]></category>
		<category><![CDATA[Webdesign]]></category>
		<category><![CDATA[dropdown menu]]></category>
		<category><![CDATA[superfish]]></category>

		<guid isPermaLink="false">http://www.onlinecasinodemar.com/?p=625</guid>
		<description><![CDATA[<img width="280" height="210" src="http://www.onlinecasinodemar.com/wp-content/uploads/2009/02/superfish-jquery-dropdown.jpg" class="attachment-post-thumbnail wp-post-image" alt="superfish-jquery-dropdown" title="superfish-jquery-dropdown" />Das f&#252;r mich beste Skript, um dynamische Dropdown-Men&#252;s zu erzeugen, ist das jQuery-Plugin von Joel Birch. Durch zahlreiche Parameter k&#246;nnen wir uns das Multi-Level-Men&#252; mit Leichtigkeit in Aussehen und Funktion unseren Anforderungen anpassen. Die Einbindung ist keineswegs schwer. Auch auf diesem Blog habe ich das Superfish Dropdown-Men&#252; von Joel Birch erfolgreich im Einsatz. Das Men&#252; [...]]]></description>
			<content:encoded><![CDATA[<img width="280" height="210" src="http://www.onlinecasinodemar.com/wp-content/uploads/2009/02/superfish-jquery-dropdown.jpg" class="attachment-post-thumbnail wp-post-image" alt="superfish-jquery-dropdown" title="superfish-jquery-dropdown" /><p>Das f&#252;r mich beste Skript, um dynamische Dropdown-Men&#252;s zu erzeugen, ist das jQuery-Plugin von Joel Birch. Durch zahlreiche Parameter k&#246;nnen wir uns das Multi-Level-Men&#252; mit Leichtigkeit in Aussehen und Funktion unseren Anforderungen anpassen. Die Einbindung ist keineswegs schwer.<span id="more-625"></span></p>
<p>Auch auf diesem Blog habe ich das <a href="http://users.tpg.com.au/j_birch/plugins/superfish/">Superfish Dropdown-Men&#252; von Joel Birch</a> erfolgreich im Einsatz. Das Men&#252; ist beliebig erweiterbar, es k&#246;nnen also unendlich viele Unterebenen dargestellt werden.</p>
<p class="alert"><strong>IE Problems?</strong><br /><a href="http://webdemar.com/webdesign/superfish-jquery-menu-ie-z-index-bug/">Superfish jQuery Menu IE z-index Bug</a> (English)</p>
<h3>Einbindung von Superfish in eine Website:</h3>
<ul>
<li>Herunterladen des Skriptes &#8211; <a href="http://users.tpg.com.au/j_birch/plugins/superfish/#download">Superfish</a></li>
<li>Einbinden des Stylesheets und des Javascript-Aufrufes in den Head-Bereich der Website</li>
<li>Aufrufen der Superfish-Funktion im Head-Bereich der Website</li>
</ul>
<pre><code>&lt;link rel='stylesheet' type='text/css' media='screen' href='superfish.css' /&gt;
&lt;script type='text/javascript' src='superfish.js'&gt;&lt;/script&gt;</code></pre>
<p><em>Bemerkung:</em><br />
Im Head-Bereich unserer Website binden wir das Stylesheet ein und rufen das Superfish-Javascript auf. <strong>Bitte beachten!</strong> Der Pfad muss m&#246;glicherweise angepasst werden. In obigem Beispiel gehen wir davon aus, dass das Website-Dokument, das Stylesheet und das Javascript auf einer Ordnerebene liegen.</p>
<pre><code>&lt;script type='text/javascript'&gt;
    $(document).ready(function() {
        $('ul.sf-menu').superfish();
    });
&lt;/script&gt;</code></pre>
<p><em>Bemerkung:</em><br />
Ebenso im Head-Bereich unseres Dokuments rufen wir nun die Superfish-Funktion mittels Javascript auf. Hierbei wird gesagt, dass das Superfish-Men&#252; auf eine ungeordnete Liste <em>ul</em> mit der Klasse <em>.sf-menu</em> angewendet werden soll.</p>
<h3>Anpassen der Men&#252;-Parameter:</h3>
<p>Wie schon angesprochen, l&#228;sst uns Joel Birch bei dem Aufruf der Superfish-Funktion zahlreiche Optionen die Funktionsweise des Dropdown-Men&#252;s zu beeinflussen.</p>
<p>Folgende Parameter stehen uns zur Verf&#252;gung:</p>
<pre><code>$.fn.superfish.defaults = {
    hoverClass:    'sfHover',          // the class applied to hovered list items
    pathClass:     'overideThisToUse', // the class you have applied to list items that lead to the current page
    pathLevels:    1,                  // the number of levels of submenus that remain open or are restored using pathClass
    delay:         800,                // the delay in milliseconds that the mouse can remain outside a submenu without it closing
    animation:     {opacity:'show'},   // an object equivalent to first parameter of jQuery’s .animate() method
    speed:         'normal',           // speed of the animation. Equivalent to second parameter of jQuery’s .animate() method
    autoArrows:    true,               // if true, arrow mark-up generated automatically = cleaner source code at expense of initialisation performance
    dropShadows:   true,               // completely disable drop shadows by setting this to false
    disableHI:     false,              // set to true to disable hoverIntent detection
    onInit:        function(){},       // callback function fires once Superfish is initialised – 'this' is the containing ul
    onBeforeShow:  function(){},       // callback function fires just before reveal animation begins – 'this' is the ul about to open
    onShow:        function(){},       // callback function fires once reveal animation completed – 'this' is the opened ul
    onHide:        function(){}        // callback function fires after a sub-menu has closed – 'this' is the ul that just closed
};</code></pre>
<p>Der Aufruf der Superfish-Funktion im Head-Bereich l&#228;sst sich nun beispielsweise wie folgt erweitern:</p>
<pre><code>&lt;script type='text/javascript'&gt; 

    $(document).ready(function() {
        $('ul.sf-menu').superfish({
            delay:       1000,                            // one second delay on mouseout
            animation:   {opacity:'show',height:'show'},  // fade-in and slide-down animation
            speed:       'fast',                          // faster animation speed
            autoArrows:  false,                           // disable generation of arrow mark-up
            dropShadows: false                            // disable drop shadows
        });
    }); 

&lt;/script&gt;</code></pre>
<p><em>Bemerkung:</em><br />
Mit diesen Parametern bestimmen wir also, dass das Dropdown eine Sekunde nach Mouseout ausgeblendet, eine leichte Einblendung &#252;ber Transparenz und ein Slide-Down-Effekt mit schneller Geschwindigkeit haben soll. Au&#223;erdem werden keine Pfeile (wenn Unterpunkte vorhanden) angezeigt und kein Men&#252;schatten erzeugt. Ihr seht bereits, was alles mit diesem Skript m&#246;glich ist.</p>
<h3>Verschiedene Arten des Superfish-Men&#252;s:</h3>
<p>Neben den Optionen f&#252;r Animationen und Geschwindigkeiten gibt es verschiedene Arten des Dropdown-Men&#252;s.</p>
<p><strong>1. Basic Style &#8211; horizontales Men&#252; mit Dropdowns:</strong></p>
<div id="attachment_636" class="wp-caption aligncenter" style="width: 560px"><img src="http://www.onlinecasinodemar.com/wp-content/uploads/2009/01/superfish-horizontal.jpg" alt="horizontale Men&#252;leiste mit Dropdowns" title="horizontale Men&#252;leiste mit Dropdowns" width="550" height="200" class="size-full wp-image-636" /><p class="wp-caption-text">horizontale Men&#252;leiste mit Dropdowns</p></div>
<p>Wie der Name schon sagt, ist der Basic Style die einfachste Form des Superfish-Men&#252;s.</p>
<p><strong>2. Vertical Style &#8211; vertikales Men&#252; mit Dropdowns zur Seite:</strong></p>
<div id="attachment_638" class="wp-caption aligncenter" style="width: 560px"><img src="http://www.onlinecasinodemar.com/wp-content/uploads/2009/01/superfish-vertikal.jpg" alt="vertikales Men&#252; mit Dropdowns zur Seite" title="vertikales Men&#252; mit Dropdowns zur Seite" width="550" height="200" class="size-full wp-image-638" /><p class="wp-caption-text">vertikales Men&#252; mit Dropdowns zur Seite</p></div>
<p>Um ein vertikales Men&#252; anzuzeigen, brauchen wir lediglich ein zus&#228;tzliches Stylesheet einbinden und der ungeordneten Liste <em>ul</em> unseres Men&#252;s mit der Klassen <em>.sf-menu</em> eine weitere Klasse <em>.sf-vertical</em> hinzuf&#252;gen:</p>
<pre><code>&lt;link rel='stylesheet' type='text/css' media='screen' href='superfish.css' /&gt;
&lt;link rel='stylesheet' type='text/css' media='screen' href='superfish-vertical.css' /&gt;</code></pre>
<pre><code>&lt;ul id='menu' class='sf-menu sf-vertical'&gt;
    &lt;li&gt;&lt;a href='#'&gt;Menu Item&lt;/a&gt;
        &lt;ul&gt;
            &lt;li&gt;&lt;a href='#'&gt;Submenu Item&lt;/a&gt;&lt;/li&gt;
            &lt;li&gt;&lt;a href='#'&gt;Submenu Item&lt;/a&gt;&lt;/li&gt;
            &lt;li&gt;&lt;a href='#'&gt;Submenu Item&lt;/a&gt;&lt;/li&gt;
        &lt;/ul&gt;
    &lt;/li&gt;
    &lt;li&gt;&lt;a href='#'&gt;Menu Item&lt;/a&gt;&lt;/li&gt;
    &lt;li&gt;&lt;a href='#'&gt;Menu Item&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;</code></pre>
<p><strong>3. Nav-bar Style &#8211; doppelte Men&#252;leiste mit Dropdowns:</strong></p>
<div id="attachment_639" class="wp-caption aligncenter" style="width: 560px"><img src="http://www.onlinecasinodemar.com/wp-content/uploads/2009/01/superfish-navbar.jpg" alt="doppelte Men&#252;leiste mit Dropdowns" title="doppelte Men&#252;leiste mit Dropdowns" width="550" height="200" class="size-full wp-image-639" /><p class="wp-caption-text">doppelte Men&#252;leiste mit Dropdowns</p></div>
<p>Der Nav-bar Style ist ebenfalls sehr interessant. Er bietet eine doppelte Men&#252;leiste, bei der ab der dritten Ebene Dropdowns angezeigt werden. Ebenfalls wird der Pfad zur aktuellen Seite im Men&#252; wiedergegeben.</p>
<p>Auch hier muss nur das entsprechende zus&#228;tzliche Stylesheet eingebunden werden und die weitere Klasse <em>.sf-navbar</em> an die Liste weitergegeben werden.</p>
<pre><code>&lt;link rel='stylesheet' type='text/css' media='screen' href='superfish.css' /&gt;
&lt;link rel='stylesheet' type='text/css' media='screen' href='superfish-navbar.css' /&gt;</code></pre>
<pre><code>&lt;ul id='menu' class='sf-menu sf-navbar'&gt;
    &lt;li&gt;&lt;a href='#'&gt;Menu Item&lt;/a&gt;
        &lt;ul&gt;
            &lt;li&gt;&lt;a href='#'&gt;Submenu Item&lt;/a&gt;&lt;/li&gt;
            &lt;li&gt;&lt;a href='#'&gt;Submenu Item&lt;/a&gt;&lt;/li&gt;

            &lt;li&gt;&lt;a href='#'&gt;Submenu Item&lt;/a&gt;&lt;/li&gt;
        &lt;/ul&gt;
    &lt;/li&gt;
    &lt;li&gt;&lt;a href='#'&gt;Menu Item&lt;/a&gt;&lt;/li&gt;
    &lt;li&gt;&lt;a href='#'&gt;Menu Item&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;</code></pre>
<p><strong>4. with Supersubs &#8211; Dropdown-Men&#252; mit extralangen Unterpunkten:</strong></p>
<div id="attachment_640" class="wp-caption aligncenter" style="width: 560px"><img src="http://www.onlinecasinodemar.com/wp-content/uploads/2009/01/superfish-supersubs.jpg" alt="Dropdown-Men&#252; mit extralangen Unterpunkten" title="Dropdown-Men&#252; mit extralangen Unterpunkten" width="550" height="200" class="size-full wp-image-640" /><p class="wp-caption-text">Dropdown-Men&#252; mit extralangen Unterpunkten</p></div>
<p>Die Option Supersubs bietet die M&#246;glichkeit dynamisch auf besonders lange Unterpunkte zu reagieren, um Zeilenumbr&#252;che im Men&#252; zu vermeiden.</p>
<p>Um Supersubs einzubinden, m&#252;ssen wir ein zus&#228;tzliches Javascript integrieren und den Aufruf der Superfish-Funktion etwas erweitern.</p>
<pre><code>&lt;script type='text/javascript' src='superfish.js'&gt;&lt;/script&gt;
&lt;script type='text/javascript' src='supersubs.js'&gt;&lt;/script&gt;</code></pre>
<pre><code>&lt;script type='text/javascript'&gt; 

    $(document).ready(function(){
        $('ul.sf-menu').supersubs({
            minWidth:    12,   // minimum width of sub-menus in em units
            maxWidth:    27,   // maximum width of sub-menus in em units
            extraWidth:  1     // extra width can ensure lines don't sometimes turn over
                               // due to slight rounding differences and font-family
        }).superfish();  // call supersubs first, then superfish, so that subs are
                         // not display:none when measuring. Call before initialising
                         // containing tabs for same reason.
    }); 

&lt;/script&gt;</code></pre>
<h3>Formatierung mit CSS:</h3>
<p>Blau ist h&#252;bsch, aber nicht jedermanns Sache und nicht immer zum Rest der Website passend. Die Anpassung des Aussehens &#252;ber CSS ist &#252;bersichtlich gestaltet und kann in folgenden Dateien vorgenommen werden:</p>
<ul>
<li>superfish.css</li>
<li>superfish-vertical.css (bei Vertical Stlye)</li>
<li>superfish-navbar.css (bei Nav-bar Stlye)</li>
</ul>
<h3>Support:</h3>
<p>Sollte man Probleme mit der Einbindung und Anwendung von Superfish haben, kann man sich in die <a href="http://groups.google.com/group/jquery-en/">jQuery Mailing List</a> eintragen und sein Anliegen dort kundtun.</p>
<p>Sowie Joel etwas Zeit hat, hilft er pers&#246;nlich weiter, ansonsten tummeln sich dort auch sonstige schlaue jQuery-K&#246;pfe.</p>
<p>Ich selbst hatte letzte Woche ein Problem mit der <a href="http://webdemar.com/wordpress/tutorial-jquery-dropdown-menue-fuer-wordpress/">Einbindung von Superfish in WordPress</a>. Innerhalb eines Tages war das Problem nach einigem Hin- und Her-Gemaile (tolles Wort!) gel&#246;st. </p>
<p><strong>A big big thanks to Joel for awesome support!</strong></p>
<h3>Fazit:</h3>
<p>Das Superfish jQuery-Dropdown-Men&#252; bringt eine unheimliche Vielfalt an Features mit sich. Wenn man sich auch nur ein wenig mit Einbindung von Skripten und XHTML/CSS auskennt, ist die Anwenung dieses Plugins &#252;berhaupt kein Problem und bietet einen beachtlichen Mehrwert f&#252;r eine Website, ein Template oder WordPress-Theme.</p>
<h3>Relevante Links:</h3>
<ul>
<li><a href="http://users.tpg.com.au/j_birch/plugins/superfish">Superfish &#8211; Suckerfish on &#8216;roids</a></li>
<li>Download &#8211; <a href="http://users.tpg.com.au/j_birch/plugins/superfish/#download">Superfish</a></li>
<li>Support in der <a href="http://groups.google.com/group/jquery-en/">jQuery Mailing List</a></li>
<li><a href="http://webdemar.com/webdesign/superfish-jquery-menu-ie-z-index-bug/">Superfish jQuery Menu IE z-index Bug</a> (English)</li>
<li><a href="http://webdemar.com/wordpress/tutorial-jquery-dropdown-menue-fuer-wordpress/">Tutorial: jQuery Dropdown Men&#252; f&#252;r WordPress</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://www.onlinecasinodemar.com/webdesign/tutorial-jquery-dropdown-menue-mit-superfish/feed/</wfw:commentRss>
		<slash:comments>57</slash:comments>
		</item>
		<item>
		<title>Tutorial: Automatische Thumbnails mit TimThumb</title>
		<link>http://www.onlinecasinodemar.com/wordpress/tutorial-automatische-thumbnails-mit-timthumb/</link>
		<comments>http://www.onlinecasinodemar.com/wordpress/tutorial-automatische-thumbnails-mit-timthumb/#comments</comments>
		<pubDate>Thu, 22 Jan 2009 09:59:01 +0000</pubDate>
		<dc:creator>Simon</dc:creator>
				<category><![CDATA[Tutorials]]></category>
		<category><![CDATA[WordPress]]></category>
		<category><![CDATA[Image Resizing]]></category>
		<category><![CDATA[Thumbnails]]></category>
		<category><![CDATA[Tutorial]]></category>

		<guid isPermaLink="false">http://www.onlinecasinodemar.com/?p=583</guid>
		<description><![CDATA[<img width="280" height="210" src="http://www.onlinecasinodemar.com/wp-content/uploads/2009/01/timthumb.jpg" class="attachment-post-thumbnail wp-post-image" alt="timthumb" title="timthumb" />Im Webdesign allgemein und in WordPress-Themes ist es sehr praktisch, automatische Thumbnails eines Fotos zu erstellen und es in der Gr&#246;&#223;e an das Layout anzupassen. So kann man z. B. auf der Startseite einen Thumb anzeigen und im Post selbst eine Gro&#223;ansicht &#8211; und alles mit einer Bilddatei. Das Ganze h&#246;rt sich kompliziert an, ist [...]]]></description>
			<content:encoded><![CDATA[<img width="280" height="210" src="http://www.onlinecasinodemar.com/wp-content/uploads/2009/01/timthumb.jpg" class="attachment-post-thumbnail wp-post-image" alt="timthumb" title="timthumb" /><p>Im Webdesign allgemein und in WordPress-Themes ist es sehr praktisch, automatische Thumbnails eines Fotos zu erstellen und es in der Gr&#246;&#223;e an das Layout anzupassen. So kann man z. B. auf der Startseite einen Thumb anzeigen und im Post selbst eine Gro&#223;ansicht &#8211; und alles mit einer Bilddatei.<span id="more-583"></span></p>
<p>Das Ganze h&#246;rt sich kompliziert an, ist aber dank n&#252;tzlicher Open-Source-Skripte heller K&#246;pfe relativ einfach in eine Website zu integrieren.</p>
<p>Besagtes Skript, das ich h&#228;ufig zum Image-Resizing nehme, hei&#223;t <a href="http://code.google.com/p/timthumb/">TimThumb</a> und wurde urspr&#252;nglich f&#252;r das WordPress-Theme <a href="http://prothemedesign.com/themes/mimbo/">Mimbo Pro</a> geschrieben und letztes Jahr als Open-Source-Projekt f&#252;r jedermann zug&#228;nglich gemacht.</p>
<p>Dem Skript TimThumb muss man lediglich sagen, welche Datei bearbeitet und wie diese ausgegeben werden soll. Folgende Parameter stehen daf&#252;r zur Verf&#252;gung.</p>
<h3>Parameter:</h3>
<ul>
<li><strong>w</strong>: width &#8211; Breite des Bildes</li>
<li><strong>h</strong>: height &#8211; H&#246;he des Bildes</li>
<li><strong>zc</strong>: zoom crop (0 oder 1) &#8211; Beschneidung des Bildes (wenn n&#246;tig)</li>
<li><strong>q</strong>: quality (default ist 75 und max ist 100) &#8211; Ausgabequalit&#228;t</li>
</ul>
<h3>Anwendung</h3>
<pre><code>&lt;img src='/skripte/timthumb.php?src=/img/bild.jpg&amp;h=180&amp;w=180&amp;zc=1&amp;q=95' alt='' /&gt;</code></pre>
<p><em>Bemerkung:</em><br />
Im obigen Beispiel nehmen wir an, dass wir z. B. in einer index.html ein Bild eingef&#252;gt werden soll. Der Bilderordner ist /img/ und das Skript TimThumb liegt im Ordner /skripte/. Wir sprechen das Skript an und &#252;bergeben die n&#246;tigen Parameter.</p>
<h3>Installation</h3>
<ul>
<li>Herunterladen des Skriptes &#8211; <a href="http://timthumb.googlecode.com/svn/trunk/timthumb.php">TimThumb</a></li>
<li>Erzeugen des Ordners /cache/ &#8211; muss im selben Ordner liegen wie timthumb.php und volle Schreibrechte (777) besitzen</li>
<li>Auch der Ordner, der TimThumb enth&#228;lt, sollte volle Schreibrechte (777) besitzen</li>
<li>Optional: Um die Performance zu verbessern, kann die <a href="http://timthumb.googlecode.com/svn/trunk/.htaccess">.htaccess</a> noch erweitert werden</li>
</ul>
<h3>Automatische Thumbnails in einem WordPress-Theme</h3>
<p>Unser Ziel ist es nun, einen Post mit einer Bilddatei zu erstellen und zum Einen einen Thumbnail und zum Anderen eine Gro&#223;ansicht dieses Bildes zu erzeugen.</p>
<p>Voraussetzungen sind:</p>
<ul>
<li>Das Bild liegt im Ordner /img/ im Hauptverzeichnis der WordPress-Installation</li>
<li>timthumb.php liegt im Order (Chmod 777) /skripte/ des WordPress-Theme-Ordners</li>
<li>Der Ordner /skripte/ enth&#228;lt den Unterordner (Chmod 777) /cache/</li>
</ul>
<p>Damit wir das Bild mit dem Skript erfassen k&#246;nnen, legen wir uns einen Post mit einem <a href="http://codex.wordpress.org/Using_Custom_Fields">Spezialfeld</a> namens &#8216;post-img&#8217; an. Als Wert bekommt dieses Spezialfeld die URL des zu verarbeitenden Bildes (z. B. &#8216;http://webdemar.com/img/bild.jpg&#8217;).</p>
<p>Den Spezialfeld des Posts k&#246;nnen wir innerhalb des <a href="http://codex.wordpress.org/The_Loop">Loops</a> in unserem WordPress-Theme ausgeben &#8211; z. B. in der home.php (genauer m&#246;chte ich darauf an dieser Stelle nicht eingehen, da dies zu weit f&#252;hren w&#252;rde).</p>
<pre><code>&lt;?php echo get_post_meta($post-&gt;ID, 'post-img', true) ?&gt;</code></pre>
<p><em>Bemerkung:</em><br />
Mit diesem Aufruf w&#252;rde die URL des Bildes ausgegeben. Das machen wir uns zunutze und konstruieren damit die erforderliche Ausgabe (s. Anwendung) zum Ansprechen von TimThumb.</p>
<pre><code>&lt;img src='&lt;?php bloginfo('template_url'); ?&gt;/skripte/timthumb.php?src=&lt;?php echo get_post_meta($post-&gt;ID, 'post-img', true); ?&gt;&amp;w=120&amp;h=80&amp;zc=1&amp;q=95' width='120' height='80' alt='&lt;?php the_title(); ?&gt;' /&gt;</code></pre>
<p><em>Bemerkung:</em><br />
Hiermit geben wir das Bild, das wir im Spezialfeld des Posts angegeben haben, als Thumbnail 120x80px, wenn n&#246;tig zugeschnitten und in einer Qualit&#228;t von 95 (von 100) aus.</p>
<p>Breite und H&#246;he lassen sich nun <em>beliebig</em> anpassen, so dass z. B. in der single.php des Themes dasselbe Bild mit einer Gr&#246;&#223;e von 240x160px ausgegeben werden kann. Wichtig ist dabei, dass width und height des img-Tags ebenfalls angepasst werden.</p>
<p>Man kann das Ganze nun noch einen Schritt verbessern, indem man vor dem Aufruf des Bildes mit der URL aus dem Spezialfeld zun&#228;chst abfragt, ob dieses auch vorhanden ist. Wenn das Spezialfeld in einem Post leer bleibt, w&#252;rde sonst ein img-Tag ohne src erzeugt.</p>
<pre><code>&lt;?php if(get_post_meta($post-&gt;ID, 'post-img', true)) { ?&gt;
    &lt;img src='&lt;?php bloginfo('template_url'); ?&gt;/skripte/timthumb.php?src=&lt;?php echo get_post_meta($post-&gt;ID, 'post-img', true); ?&gt;&amp;w=120&amp;h=80&amp;zc=1&amp;q=95' width='120' height='80' alt='&lt;?php the_title(); ?&gt;' /&gt;
&lt;?php } // endif post-img ?&gt;</code></pre>
<p><em>Bemerkung:</em><br />
Bei einem leeren Spezialfeld wird nun einfach nichts ausgegeben.</p>
<h3>Fazit:</h3>
<p>Mit TimThumb lassen sich also automatisch &#252;ber das Theme gesteuert beliebig viele Thumbnails eines einzigen Bildes erstellen.</p>
<h3>Relevante Links:</h3>
<ul>
<li><a href="http://code.google.com/p/timthumb/">Google-Code Projektseite von TimThumb</a></li>
<li><a href="http://timthumb.googlecode.com/svn/trunk/timthumb.php">Quellcode timthumb.php</a></li>
<li><a href="http://www.darrenhoyt.com/2008/04/02/timthumb-php-script-released/">Release-Post von Darren Hoyt</a></li>
<li><a href="http://www.darrenhoyt.com/support/forum/timthumb">Support-Forum f&#252;r TimThumb</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://www.onlinecasinodemar.com/wordpress/tutorial-automatische-thumbnails-mit-timthumb/feed/</wfw:commentRss>
		<slash:comments>21</slash:comments>
		</item>
		<item>
		<title>Tutorial: Sliding-Content mit jFlow</title>
		<link>http://www.onlinecasinodemar.com/webdesign/tutorial-sliding-content-mit-jflow/</link>
		<comments>http://www.onlinecasinodemar.com/webdesign/tutorial-sliding-content-mit-jflow/#comments</comments>
		<pubDate>Tue, 16 Dec 2008 13:32:48 +0000</pubDate>
		<dc:creator>Simon</dc:creator>
				<category><![CDATA[jQuery]]></category>
		<category><![CDATA[Tutorials]]></category>
		<category><![CDATA[Webdesign]]></category>
		<category><![CDATA[sliding content]]></category>
		<category><![CDATA[Tutorial]]></category>

		<guid isPermaLink="false">http://www.onlinecasinodemar.com/?p=394</guid>
		<description><![CDATA[<img width="280" height="210" src="http://www.onlinecasinodemar.com/wp-content/uploads/2008/12/jquery-slider-jflow.jpg" class="attachment-post-thumbnail wp-post-image" alt="jquery-slider-jflow" title="jquery-slider-jflow" />Sliding-Content sieht man im Webdesign und WordPress Themes heute sehr h&#228;ufig. Durch jQuery und kluge K&#246;pfe, die Plugins daf&#252;r schreiben, ist dies auch ohne gro&#223;e Programmierkenntnisse m&#246;glich. In diesem Tutorial beschreibe die Verwendung von jFlow &#8211; ein einfach zu verwendendes jQuery-Plugin. Was soll am Ende dabei herauskommen? Damit wir wissen, worum es geht, sollten wir [...]]]></description>
			<content:encoded><![CDATA[<img width="280" height="210" src="http://www.onlinecasinodemar.com/wp-content/uploads/2008/12/jquery-slider-jflow.jpg" class="attachment-post-thumbnail wp-post-image" alt="jquery-slider-jflow" title="jquery-slider-jflow" /><p>Sliding-Content sieht man im Webdesign und WordPress Themes heute sehr h&#228;ufig. Durch jQuery und kluge K&#246;pfe, die Plugins daf&#252;r schreiben, ist dies auch ohne gro&#223;e Programmierkenntnisse m&#246;glich. In diesem Tutorial beschreibe die Verwendung von <strong>jFlow</strong> &#8211; ein einfach zu verwendendes jQuery-Plugin.<span id="more-394"></span></p>
<h3 class="clear">Was soll am Ende dabei herauskommen?</h3>
<p>Damit wir wissen, worum es geht, sollten wir uns zun&#228;chsts erstmal ein &rsaquo; <a href="http://webdemar.com/beispiel/jFlow/">Beispiel ansehen</a>.</p>
<h3>Download jFlow 1.2</h3>
<p>Die n&#246;tigen Dateien laden wir uns im Gesamtpaket <a href="http://www.gimiti.com/kltan/wordpress/?p=46">jFlow 1.2</a> herunter.</p>
<h3>Einbinden der Skripte</h3>
<p>Zun&#228;chst legen wir uns eine neue html-Datei an (z. B. index.html) und binden im Head-Bereich dieser Datei die n&#246;tigen Skripte ein.</p>
<p>Als erstes laden wir die <strong>jQuery-Library</strong> per Google-Api. Ebenfalls k&#246;nnte man sich aber auch die letzte <a href="http://jquery.com/">jQuery-Version</a> herunterladen und diese einbinden.</p>
<pre><code>&lt;script language='javascript' type='text/javascript'
src='http://ajax.googleapis.com/ajax/libs/jquery/1.2.6/jquery.min.js'&gt;&lt;/script&gt;</code></pre>
<p>Der zweite Schritt ist das Einbinden des jFlow-Skriptes. In diesem Beispiel liegt die index.html im Root-Verzeichnis und das Skript im Order /js.</p>
<pre><code>&lt;script src='js/jquery.flow.1.2.js' type='text/javascript'&gt;&lt;/script&gt;</code></pre>
<h3>Anlegen des Contents</h3>
<p>Wir erzeugen drei div-Container, die nachher <em>geslidet</em> werden sollen. In jedem Slide ist ein Bild (aus dem Ordner /img), eine &#220;berschrift und ein wenig Text enthalten.</p>
<p>Diese drei divs packen wir der Ordnung halber in einen weiteren div mit der ID <em>content-slider</em>. So k&#246;nnen wir das Ganze &#252;ber CSS besser formatieren und positionieren und auch f&#252;r jFlow ist dies wichtig.</p>
<pre><code>&lt;div id='content-slider'&gt;

  &lt;div id='slide1'&gt;
    &lt;img src='img/slide1.jpg' alt='slide1' width='425' height='282'/&gt;
    &lt;h1&gt;Slide1&lt;/h1&gt;
    &lt;p&gt;Inceptos elit, vitae et. Eget eget nec, lectus nisl, vehicula est feugiat. Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diam nonummy nibh euismod tincidunt ut laoreet dolore magna aliquam erat volutpat. Ut wisi enim ad &lt;/p&gt;
  &lt;/div&gt;

  &lt;div id='slide2'&gt;
    &lt;img src='img/slide2.jpg' alt='slide2' width='425' height='282'/&gt;
    &lt;h1&gt;Slide2&lt;/h1&gt;
    &lt;p&gt;Inceptos elit, vitae et. Eget eget nec, lectus nisl, vehicula est feugiat. Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diam nonummy nibh euismod tincidunt ut laoreet dolore magna aliquam erat volutpat. Ut wisi enim ad &lt;/p&gt;
  &lt;/div&gt;

  &lt;div id='slide3'&gt;
    &lt;img src='img/slide3.jpg' alt='slide3' width='425' height='282'/&gt;
    &lt;h1&gt;Slide3&lt;/h1&gt;
    &lt;p&gt;Inceptos elit, vitae et. Eget eget nec, lectus nisl, vehicula est feugiat. Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diam nonummy nibh euismod tincidunt ut laoreet dolore magna aliquam erat volutpat. Ut wisi enim ad &lt;/p&gt;
  &lt;/div&gt;

&lt;/div&gt;&lt;!-- end content-slider --&gt;</code></pre>
<p>Wir haben also jetzt die Skripte eingebunden und unseren Content angelegt. Als n&#228;chstes werden wir jFlow nun beibringen, wo unser Content liegt und wie er <em>geslidet</em> werden soll.</p>
<p>Im Head der Datei machen wir daher folgende Angaben:</p>
<pre><code>&lt;script type='text/javascript'&gt;
$(function() {
	$('div#content-slider').jFlow({
	slides: '#slides',
	width: '425px',
	height: '425px'
	});
});
&lt;/script&gt;</code></pre>
<p>Bemerkung:<br />
Wir sagen dem Skript hiermit, dass unser Content im Container mit der ID <em>content-slider</em> liegt, dass die Slides innerhalb des Containers <em>slides</em> (m&#252;ssen wir noch anlegen) liegen und welche Ma&#223;e dieser haben soll.</p>
<p>In unserer Beispieldatei legen wir also innerhalb des Containers mit der ID <em>content-slider</em> einen weiteren Container <em>slides</em> um unsere Content-divs. Au&#223;erdem lege ich innerhalb von <em>div#content-slider</em> noch einen weiteren mit der ID <em>panel</em> an. Dort kommen unsere Steuerelemente (vor, zur&#252;ck etc.) hinein.</p>
<pre><code>&lt;div id='content-slider'&gt;

  &lt;div id='panel'&gt;

    &lt;div id='controller'&gt;
      &lt;span class='jFlowControl'&gt;Slide #1&lt;/span&gt; |
      &lt;span class='jFlowControl'&gt;Slide #2&lt;/span&gt; |
      &lt;span class='jFlowControl'&gt;Slide #3&lt;/span&gt;
    &lt;/div&gt;
    &lt;div id='prev-next'&gt;
      &lt;img src='img/prev.png' alt='prev' width='16' height='16' class='jFlowPrev'/&gt;
      &lt;img src='img/next.png' alt='next' width='16' height='16' class='jFlowNext'/&gt;
    &lt;/div&gt;

  &lt;/div&gt;&lt;!-- end panel --&gt;

  &lt;div id='slides'&gt;

    &lt;div id='slide1'&gt;
      &lt;img src='img/slide1.jpg' alt='slide1' width='425' height='282'/&gt;
      &lt;h1&gt;Slide1&lt;/h1&gt;
      &lt;p&gt;Inceptos elit, vitae et. Eget eget nec, lectus nisl, vehicula est feugiat. Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diam nonummy nibh euismod tincidunt ut laoreet dolore magna aliquam erat volutpat. Ut wisi enim ad &lt;/p&gt;
    &lt;/div&gt;

    &lt;div id='slide2'&gt;
      &lt;img src='img/slide2.jpg' alt='slide2' width='425' height='282'/&gt;
      &lt;h1&gt;Slide2&lt;/h1&gt;
      &lt;p&gt;Inceptos elit, vitae et. Eget eget nec, lectus nisl, vehicula est feugiat. Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diam nonummy nibh euismod tincidunt ut laoreet dolore magna aliquam erat volutpat. Ut wisi enim ad &lt;/p&gt;
    &lt;/div&gt;

    &lt;div id='slide3'&gt;
      &lt;img src='img/slide3.jpg' alt='slide3' width='425' height='282'/&gt;
      &lt;h1&gt;Slide3&lt;/h1&gt;
      &lt;p&gt;Inceptos elit, vitae et. Eget eget nec, lectus nisl, vehicula est feugiat. Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diam nonummy nibh euismod tincidunt ut laoreet dolore magna aliquam erat volutpat. Ut wisi enim ad &lt;/p&gt;
    &lt;/div&gt;

  &lt;/div&gt;&lt;!-- end slides --&gt;

&lt;/div&gt;&lt;!-- end content-slider --&gt;</code></pre>
<p>Bemerkung:<br />
Im Container <em>div#panel</em> haben wir jetzt den <em>controller</em> mit drei Spans, die uns als Links zu den verschiedenen Slides dienen. <strong>Achtung!</strong> Die Anzahl der Spans muss immer der Anzahl der Sliding-Div (in unserem Beispiel 3) &#252;bereinstimmen, sont funktioniert jFlow nicht richtig. Im div <em>prev-next</em> finden wir die Bilder (kann auch Text sein), um vor oder zur&#252;ck zu sliden. Durch die Klassen jFlowPrev und jFlowNext wei&#223; jFlow, was bei einem Klick darauf zu tun ist.</p>
<p>Ab jetzt funkioniert unser Sliding-Content bereits und wir k&#246;nnen uns mit CSS daran austoben. Da dies jeder anders macht und mag, gehe ich auf die Formatierungen nicht im Einzelnen ein.</p>
<h3>Download Beispiel <small>&rsaquo; <a href="http://webdemar.com/beispiel/jFlow/">ansehen</a></small></h3>
<p>Wer mag, kann sich die Beispiele in dem Paket <a href="http://www.gimiti.com/kltan/wordpress/?p=46">jFlow 1.2</a> ansehen und anpassen oder sich das <a href="http://webdemar.com/download/tutorials/jFlow.zip">Beispiel aus diesem Tutorial herunterladen</a>.</p>
<h3>Relevante Links:</h3>
<ul>
<li><a href="http://www.gimiti.com/kltan/wordpress/?p=46">jFlow 1.2</a> &#8211; The Ultra-lightweight Fluid Content Slider for jQuery</li>
<li>Offizielle Website von <a href="http://jquery.com/">jQuery</a></li>
<li><a href="http://webdemar.com/beispiel/jFlow/">Beispiel</a> aus diesem Tutorial</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://www.onlinecasinodemar.com/webdesign/tutorial-sliding-content-mit-jflow/feed/</wfw:commentRss>
		<slash:comments>19</slash:comments>
		</item>
	</channel>
</rss>

