<?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>Meine Blog Gedanken &#187; Tutorials</title>
	<atom:link href="http://www.blog-gedanken.de/bloggedanken/tutorials/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.blog-gedanken.de</link>
	<description>Ein privater Blog über Alles und Nichts - denn die Gedanken sind frei</description>
	<lastBuildDate>Sun, 29 Jan 2012 11:35:42 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.1</generator>
<xhtml:meta xmlns:xhtml="http://www.w3.org/1999/xhtml" name="robots" content="noindex" />
		<item>
		<title>Eigenes WordPress Theme mit YAML erstellen &#8211; Teil 6</title>
		<link>http://www.blog-gedanken.de/webentwicklung/eigenes-wordpress-theme-mit-yaml-erstellen-teil-6/</link>
		<comments>http://www.blog-gedanken.de/webentwicklung/eigenes-wordpress-theme-mit-yaml-erstellen-teil-6/#comments</comments>
		<pubDate>Sat, 27 Feb 2010 18:18:28 +0000</pubDate>
		<dc:creator>Gedanken Blogger</dc:creator>
				<category><![CDATA[Tutorials]]></category>
		<category><![CDATA[Webentwicklung]]></category>
		<category><![CDATA[Template]]></category>
		<category><![CDATA[Theme]]></category>
		<category><![CDATA[Webdesign]]></category>
		<category><![CDATA[Wordpress]]></category>
		<category><![CDATA[YAML. Wordpress. Theme]]></category>

		<guid isPermaLink="false">http://www.blog-gedanken.de/?p=4011</guid>
		<description><![CDATA[In unserem heutigen Teil des Tutorials beschäftigen wir uns mit der Artikelseite. Also der Seite, die einen einzelnen Artikel komplett anzeigt. Wer es schon einmal ausprobiert hat, wird feststellen, dass man sich schon einen einzelnen Artikel ansehen kann. Die Anzeige erfolgt dann aber genauso, wie auf der Startseite. WordPress Template Hierarchie Das bringt uns nochmal [...]]]></description>
			<content:encoded><![CDATA[<p>In unserem heutigen Teil des Tutorials beschäftigen wir uns mit der Artikelseite. Also der Seite, die einen einzelnen Artikel komplett anzeigt. Wer es schon einmal ausprobiert hat, wird feststellen, dass man sich schon einen einzelnen Artikel ansehen kann. Die Anzeige erfolgt dann aber genauso, wie auf der Startseite.</p>
<h3>WordPress Template Hierarchie</h3>
<p>Das bringt uns nochmal zur Struktur der WordPress Templates. Ruft man nämlich die Seite eines einzelnen Artikels auf, dann sucht WordPress zunächst nach der Datei &#8220;single.php&#8221;. Ist diese Datei nicht vorhanden, so wird wieder die Datei &#8220;index.php&#8221; geladen.</p>
<p>WordPress bietet für verschiedene Darstellungen einer Seite unterschiedliche Templates an. Für die Startseite kann man die Datei &#8220;home.php&#8221; verwenden, eine Darstellung einer Suche kann im Template &#8220;search.php&#8221; definiert werden. Weitere Templates, die in einer definierten Hierarchie angeordnet sind, sind z.B. &#8220;archiv.php&#8221;, &#8220;404.php&#8221;, &#8220;page.php&#8221;, &#8220;category.php&#8221; usw.</p>
<p>Eine sehr schöne Übersicht der <a href="http://codex.wordpress.org/Template_Hierarchy" target="_blank" class="liwp">Template Hierarchie</a> findet man auf den Seiten von WordPress.</p>
<h3>Die Artikelseite</h3>
<p>Für die Darstellung eines Artikels müssen wir nun also die Datei single.php erstellen. Dies gelingt sehr einfach, in dem wir die Datei &#8220;index.php&#8221; kopieren und umbenennen.</p>
<p>Auf der Startseite haben wir bisher mittels der Funktion &#8220;wp_excerpt&#8221; nur einen kurzen Auszug des Textes angezeigt. Zusätzlich hatten wir einen eigenen &#8220;weiter lesen&#8221; Link eingebaut. Der Aufruf &#8220;wp_excerpt&#8221; kann nun in der Datei &#8220;single.php&#8221; gegen die Funktion &#8220;<a href="http://codex.wordpress.org/Template_Tags/the_content" target="_blank" class="liwp">the_content</a>&#8221; ausgetauscht werden.</p>
<p>Bei der Ausgabe des Titels können wir auf die Angabe des Links verzichten. Es muss also nur der eigentliche Titel mittels &#8220;the_title()&#8221; ausgegeben werden.</p>
<p>Nun rufen wir noch das Tag &#8220;<a href="http://codex.wordpress.org/Function_Reference/comments_template" target="_blank" class="liwp">comments_template()</a>&#8221; auf. Damit wird das Template für die Anzeige der Kommentare geladen. Da in unserem Verzeichnis noch keine Datei &#8220;comments.php&#8221; existiert, wird die Datei aus dem &#8220;default-Template&#8221; geladen.</p>
<p>Der Code sieht nun folgendermaßen aus und sollte bereits auch ein erstes Ergebnis liefern. Beim Aufruf von &#8220;post_class&#8221; haben wir übrigens diesmal die Klasse &#8220;artikelseite&#8221; mit gegeben. So können wir bei Bedarf spezielle Formatierungen für diese Seite vornehmen.</p>
<pre class="brush: php; title: ;">&lt;?php if (have_posts()) : ?&gt;
&lt;?php while (have_posts()) : the_post(); ?&gt;
&lt;div &lt;?php post_class('artikelseite'); ?&gt; id=&quot;post-&lt;?php the_ID(); ?&gt;&quot;&gt;
&lt;div class=&quot;comments_count center&quot;&gt;
&lt;big&gt;&lt;?php comments_popup_link('0', '1', '%', '', __('Comments Closed', 'tutorial'));
printf('&lt;/big&gt;&lt;br/&gt; &lt;span class=&quot;highlight&quot;&gt;');
_e('Kommentare', 'tutorial');?&gt;&lt;/span&gt;
&lt;/div&gt;
&lt;h2&gt;&lt;?php the_title(); ?&gt;&lt;/h2&gt;
&lt;div class=&quot;entry&quot;&gt;
&lt;?php the_content(); ?&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;hr/&gt;
&lt;?php comments_template(); ?&gt;
&lt;?php endwhile; ?&gt;
&lt;?php else : ?&gt;
&lt;h2&gt;&lt;?php _e('Nichts gefunden', 'tutorial'); ?&gt;&lt;/h2&gt;
&lt;p&gt;&lt;?php _e('Schade, leider gibt es hier keinen Artikel', 'tutorial'); ?&gt;&lt;/p&gt;
&lt;?php endif; ?&gt;</pre>
<h3>Die Metadaten des Artikels</h3>
<p>Wer gut aufgepasst hat, wird gemerkt haben, dass wir links neben dem Titel noch die Anzahl Kommentare stehen haben. Den Code aus der ursprünglichen &#8220;index.php&#8221; hatten wir hier noch nicht angepasst. Also tauschen wir diesen Code gegen die Ausgabe des Datums aus.</p>
<p>Das Datum wird mit der Funktion &#8220;<a href="http://codex.wordpress.org/Formatting_Date_and_Time" target="_blank" class="liwp">the_time()</a>&#8221; ausgegeben. Mit der Parameterübergabe steuert man, wie das Datum formatiert wird. Wir bauen also die Funktion an die Stelle ein, wo bisher die Kommentarzahl ausgegeben wird. Weiterhin ändern wird noch die Klasse &#8220;comments_count&#8221; in &#8220;artikeldatum&#8221;. Mit dieser Klasse werden wir demnächst das Datum noch ein wenig schöner formatieren.</p>
<p>Nun wollen wir noch die Kategorien, die dem Artikel zugeordnet sind und die Tags ausgeben. Das machen wir direkt nach der Ausgabe des Titels.</p>
<p>Die Kategorien werden mit der Funktion &#8220;<a href="http://codex.wordpress.org/Function_Reference/get_the_tag_list" target="_blank" class="liwp">get_the_category_list</a>&#8221; und die Tags mit der Funktion &#8220;<a href="http://codex.wordpress.org/Function_Reference/get_the_tag_list" target="_blank" class="liwp">get_the_tag_list</a>&#8221; ermittelt.</p>
<p>Der Code zur Ausgabe des Artikels und der Metainformationen sieht nun wie folgt aus:</p>
<pre class="brush: php; title: ;">&lt;div &lt;?php post_class('artikelseite'); ?&gt; id=&quot;post-&lt;?php the_ID(); ?&gt;&quot;&gt;
&lt;div class=&quot;artikeldatum center&quot;&gt;
&lt;?php the_time(&quot;d.m&quot;); ?&gt;&lt;/br&gt;
&lt;?php the_time(&quot;Y&quot;); ?&gt;
&lt;/div&gt;
&lt;h2&gt;&lt;?php the_title(); ?&gt;&lt;/h2&gt;
&lt;div class=&quot;postmeta&quot;&gt;
&lt;?php echo &quot;Kategorie: &quot;.get_the_category_list(', '); ?&gt;
&lt;br/&gt;&lt;?php echo get_the_tag_list('Tags: ', ', '); ?&gt;
&lt;/div&gt;
&lt;div class=&quot;entry&quot;&gt;
&lt;?php the_content(); ?&gt;
&lt;/div&gt;
&lt;/div&gt;</pre>
<p>So, für heute war es das erst mal. Im nächsten Tutorial kümmern wir uns ein wenig um die weitere Gestaltung, sowie ein eigenes Design für die Kommentare und bauen noch die zusätzlichen Bereiche für die &#8220;Empfehlungs-Button&#8221; ein.</p>
<p>Die Dateien aus dem Verzeichnis &#8220;css&#8221; habe ich euch wieder als <a href="http://www.blog-gedanken.de/wp-content/uploads/download/WPThemeTutorial_Teil6_Inhalt_von_Ordner_CSS.zip" class="lizip">zip-Datei</a> zusammen gestellt.</p>
<p><a href='http://www1.belboon.de/adtracking/02bd4208087601db950004da.html' target='_blank'><img src='http://www1.belboon.de/adtracking/02bd4208087601db950004da.img' border='0' width='468' height='60' alt='' /></a></p>
<div id="serial-posts-wrapper">
<h3 class="serial-posts-heading"><span class="serial-pre-text">Artikelserie:</span>&nbsp;<span class="serial-name">Wordpress Theme mit YAML</span></h3>
<ul class="serial-posts">
<li class="serial-posts-list-item"><a href="http://www.blog-gedanken.de/webentwicklung/eigenes-wordpress-theme-mit-yaml-erstellen/" title="Eigenes Wordpress Theme mit YAML erstellen">Eigenes Wordpress Theme mit YAML erstellen</a></li>
<li class="serial-posts-list-item"><a href="http://www.blog-gedanken.de/webentwicklung/eigenes-wordpress-theme-mit-yaml-erstellen-teil-2/" title="Eigenes Wordpress Theme mit YAML erstellen - Teil 2">Eigenes Wordpress Theme mit YAML erstellen - Teil 2</a></li>
<li class="serial-posts-list-item"><a href="http://www.blog-gedanken.de/webentwicklung/eigenes-wordpress-theme-mit-yaml-erstellen-teil-3/" title="Eigenes Wordpress Theme mit YAML erstellen - Teil 3">Eigenes Wordpress Theme mit YAML erstellen - Teil 3</a></li>
<li class="serial-posts-list-item"><a href="http://www.blog-gedanken.de/webentwicklung/eigenes-wordpress-theme-mit-yaml-erstellen-teil-4/" title="Eigenes Wordpress Theme mit YAML erstellen - Teil 4">Eigenes Wordpress Theme mit YAML erstellen - Teil 4</a></li>
<li class="serial-posts-list-item"><a href="http://www.blog-gedanken.de/webentwicklung/eigenes-wordpress-theme-mit-yaml-erstellen-teil-5/" title="Eigenes Wordpress Theme mit YAML erstellen - Teil 5">Eigenes Wordpress Theme mit YAML erstellen - Teil 5</a></li>
<li class="serial-posts-list-item current-active"><a href="http://www.blog-gedanken.de/webentwicklung/eigenes-wordpress-theme-mit-yaml-erstellen-teil-6/" title="Eigenes Wordpress Theme mit YAML erstellen - Teil 6">Eigenes Wordpress Theme mit YAML erstellen - Teil 6</a></li>
</ul>
</div>

]]></content:encoded>
			<wfw:commentRss>http://www.blog-gedanken.de/webentwicklung/eigenes-wordpress-theme-mit-yaml-erstellen-teil-6/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Eigenes WordPress Theme mit YAML erstellen &#8211; Teil 5</title>
		<link>http://www.blog-gedanken.de/webentwicklung/eigenes-wordpress-theme-mit-yaml-erstellen-teil-5/</link>
		<comments>http://www.blog-gedanken.de/webentwicklung/eigenes-wordpress-theme-mit-yaml-erstellen-teil-5/#comments</comments>
		<pubDate>Mon, 15 Feb 2010 17:40:34 +0000</pubDate>
		<dc:creator>Gedanken Blogger</dc:creator>
				<category><![CDATA[Tutorials]]></category>
		<category><![CDATA[Webentwicklung]]></category>
		<category><![CDATA[Template]]></category>
		<category><![CDATA[Theme]]></category>
		<category><![CDATA[Webdesign]]></category>
		<category><![CDATA[Wordpress]]></category>
		<category><![CDATA[YAML]]></category>

		<guid isPermaLink="false">http://www.blog-gedanken.de/?p=3768</guid>
		<description><![CDATA[In unserem heutigen Teil des Tutorials geht es darum, die Startseite ein wenig schöner zu gestalten. Zunächst kümmern wir uns um die Größe der jeweiligen Bereiche und bauen ggf. zusätzliche Bereiche ein. Anschließend gestalten wir die Darstellung der Artikel und bereiten den Footer noch ein wenig vor. Größe und Anordnung der Bereiche einstellen Größe des [...]]]></description>
			<content:encoded><![CDATA[<p>In unserem heutigen Teil des Tutorials geht es darum, die Startseite ein wenig schöner zu gestalten. Zunächst kümmern wir uns um die Größe der jeweiligen Bereiche und bauen ggf. zusätzliche Bereiche ein. Anschließend gestalten wir die Darstellung der Artikel und bereiten den Footer noch ein wenig vor.</p>
<h3>Größe und Anordnung der Bereiche einstellen</h3>
<h4>Größe des Hauptbereichs festlegen</h4>
<p>Unser Layout der Seite soll in der Mitte positioniert sein und für eine Bildschirmgröße mit einer Breite von 1024 Pixel optimiert werden. Die entsprechenden Einstellungen finden wir in der Datei &#8220;basemod.css&#8221; im Verzeichnis &#8220;css/screens&#8221;. Die Einstellung der Zentrierung wird im &#8220;body&#8221;-Tag mit &#8220;text-align:center&#8221; und in der Klasse &#8220;.page_margin&#8221; mit einer automatischen Breite für den linken und rechten Rand (margin) definiert.</p>
<p>Die Breite definieren wir in der Klasse &#8220;.page_margins&#8221;. Ich habe mich diesmal für eine feste Breite  von &#8220;82em&#8221; entschieden. Da wir das Basislayout mit einer Schriftgröße von 12 Pixel definiert haben (siehe content.css) erhalten wir mit &#8220;82em&#8221; eine maximale Breite von 984 Pixel. Dann ist immer noch ein wenig Platz für z.B. Scrollbars und man sieht die ganze Seite.</p>
<pre class="brush: plain; title: ;">

/* (en) Centering layout in old IE-versions */
/* (de) Zentrierung des Layouts in alten IE-versionen */
body { text-align:center; }
.page_margins { text-align:left; margin:0 auto; }

/* (en) Layout:width, background, borders */
/* (de) Layout:Breite, Hintergrund, Rahmen */
.page_margins { width:82em; background:#fff; }
.page { padding:10px; }
</pre>
<h4>Größe von Artikelspalte und Sidebar festlegen</h4>
<p>Die Breite der Artikelspalte legen wir mit 68% fest. Ein Wert, mit dem man noch ausreichend Platz für die rechte Spalte hat. Hier orientiere ich mich zum Beispiel an möglichen Werbebannern, die in der rechten Spalte positioniert werden sollen. In der Regel haben diese eine Breite von 300 Pixeln.</p>
<p>Die Angabe dieser Werte muss in den Klassen für die Spalten vorgenommen werden. Spalte 1 und 2 müssen natürlich die gleiche Größe haben. Bei Spalte 3 muss man darauf achten, dass die Breite der links von ihr angeordneten Spalten als Breite für den linken Rand definiert wird. Die Breite von Spalte 3 wird auf &#8220;auto&#8221; gesetzt.</p>
<p>Vergessen dürfen wir dann auch nicht, die Container &#8220;#header&#8221; und &#8220;#nav&#8221; für den Headerbereich und die Menüleiste, auch auf die Breite von 68% einzustellen.</p>
<p>Der entsprechende Code in der Datei &#8220;basemod.css&#8221; sieht dann wie folgt aus:</p>
<pre class="brush: plain; title: ;">

#col1 { width : 68%; }
#col1_content { padding:10px 10px 10px 20px; }

#col2 { float : left; width : 68%; }
#col2_content { padding:10px 20px 10px 10px; }

#col3 { margin : 0 0 0 68%; width : auto;}
#col3_content { padding:10px; }
</pre>
<h3>Subcolumns im Teaser einbauen</h3>
<h4>Das Konstrukt des &#8220;subcolumns&#8221; in YAML</h4>
<p>Nun ergänzen wir die Spalte 1, die wir in unserem Design quasi als &#8220;Teaser&#8221; nutzen wollen, um zusätzliche Spalten. Schauen wir uns auf dem Bild nochmals das gewünschte Design an. Hier sieht man, dass der Teaserbereich quasi aus drei Spalten besteht.</p>
<div id="attachment_3529" class="wp-caption alignright" style="width: 250px"><a href="http://www.blog-gedanken.de/wp-content/uploads/2010/01/index-mockup.jpg" class="liimagelink" rel="lightbox[3768]"><img class="size-medium wp-image-3529 " title="Mockup der neuen Startseite" src="http://www.blog-gedanken.de/wp-content/uploads/2010/01/index-mockup-300x270.jpg" alt="Mockup der neuen Startseite" width="240" height="216" /></a><p class="wp-caption-text">Mockup der neuen Startseite</p></div>
<p>Für solche Spalten innerhalb eines Containers hat das YAML Framework auch wieder einige vorbereitete Klassen. Hierfür wird das Konstrukt der &#8220;subcolumns&#8221; verwendet. In der Datei &#8220;/yaml/core/base.css&#8221; kann man sich die dazu gehörigen Standardklassen ansehen.</p>
<p>Die Definition von weiteren Spalten innerhalb eines Bereichs erfolgt immer identisch. Zunächst muss ein äußerer DIV-Container mit der Klasse &#8220;subcolumns&#8221; gebildet werden. Dann definiert man die benötigten Spalten und bedient sich am besten bei einer der vordefinierten Klassen &#8220;c<em>nn</em>l&#8221; und &#8220;c<em>nn</em>r&#8221;. Wobei &#8220;nn&#8221; immer für die prozentuale Breite steht und &#8220;l&#8221; für links angeordnete Spalten sowie &#8220;r&#8221; für rechts angeordnete Spalten.</p>
<p>Innerhalb jeder Spalte wird dann wieder ein Container definiert in dem der Inhalt platziert wird. Hierzu stehen die vordefinierten Klassen &#8220;subc&#8221;, &#8220;subcl&#8221;, und &#8220;subcr&#8221; zur Verfügung. Auch hier stehen &#8220;l/r&#8221; wieder für die Spalten, in denen diese Container einzufügen sind.</p>
<h4>Einbau der subcolumns in unser Design</h4>
<p>Für unser Design benötigen wir drei Spalten. Wie nutzen dafür zunächst die Standardklassen &#8220;c20l&#8221;, &#8220;c60l&#8221; und &#8220;c20r&#8221;. Der entsprechende Code wird in die Datei &#8220;index.php&#8221; eingetragen. Dort gehört er natürlich in den Container der Spalte 1 und sieht dann wie folgt aus:</p>
<pre class="brush: php; title: ;">&lt;!-- begin: #col1 - first float column --&gt;
&lt;div id=&quot;col1&quot; role=&quot;complementary&quot;&gt;
&lt;div id=&quot;col1_content&quot; class=&quot;clearfix&quot;&gt;
&lt;div class=&quot;subcolumns&quot;&gt;
&lt;div class=&quot;c20l&quot;&gt;
&lt;div class=&quot;subcl&quot;&gt;
&lt;p&gt;subcolumn 1&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;c60l&quot;&gt;
&lt;div class=&quot;subc&quot;&gt;
&lt;p&gt;subcolumn 2&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;c20r&quot;&gt;
&lt;div class=&quot;subcr&quot;&gt;
&lt;p&gt;subcolumn 3&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;!-- end: #col1 --&gt;</pre>
<h4>Breite der Spalten individuell anpassen</h4>
<p>Die vordefinierten Klassen haben leider nicht ganz die Größe, die wir benötigen. Daher müssen wir diesen noch ein wenig anpassen. In der mittleren Spalte soll ja ein Werbebanner Platz finden. Diese sind in der Regel 468 Pixel breit. Mit den vordefinierten 60% für die mittlere Spalte kommen wir daher nicht aus.</p>
<p>Also setzen wir den Wert auf 72% und ändern die beiden äußeren Spalten auf eine Breite von je 14% (die Summer in einem Spaltenbereicht muss natürlich immer 100% ergeben). Damit wird dafür nicht extra neue Klassen definieren müssen, ändern wir die Klassendefinitionen in unserer Datei &#8220;basemod.css&#8221;. Hier fügen wir den nachfolgenden Code ein. Zusätzlich ändern wir den inneren linken und rechten Abstand der Spalte 1 noch auf 0. Dann haben wir den maximalen Platz für unseren Teaser heraus geholt.</p>
<pre class="brush: plain; title: ;">

#col1_content { padding:10px 0px; }

...

/**
* -----------------------------------------------------------
* Eigene Definitionen für unser WordPress Design
*/

/* Teaserbereich für Werbung und Social Button */
#col1_content .c20l, #col1_content .c20r  { width : 14%; }
#col1_content .c60l  { width : 72%; }
</pre>
<h3>Gestaltung der Artikelanzeige auf der Startseite</h3>
<p>Zum Abschluss unseres heutigen Teils wenden wir uns nun noch der Gestaltung des Artikelbereichs zu. In der Auflistung der Startseite soll nur eine Kurzbeschreibung des Artikels zu sehen sein. Außerdem habe ich mich entschlossen, auf der Startseite komplett auf die Meta Informationen wie Autor, Datum, Kategorie und Tags zu verzichten.</p>
<p>Beim Datum bin ich mir noch nicht ganz sicher. Aber designen wir die Seite jetzt erst mal nach den Vorgaben des Mockup. Schauen wir uns dazu zunächst nochmals die &#8220;Loop&#8221; an, die wir im letzten Teil in Spalte 2 eingebaut haben (index.php).</p>
<pre class="brush: php; title: ;">

&lt;?php while (have_posts()) : the_post(); ?&gt;
&lt;div &lt;?php post_class(); ?&gt; id=&quot;post-&lt;?php the_ID(); ?&gt;&quot;&gt;
&lt;h2&gt;&lt;a href=&quot;&lt;?php the_permalink() ?&gt;&quot; rel=&quot;bookmark&quot; title=&quot;&lt;?php the_title_attribute(); ?&gt;&quot;&gt;&lt;?php the_title(); ?&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;div class=&quot;entry&quot;&gt;
&lt;?php the_content(__('mehr... &amp;raquo;', 'tutorial')); ?&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;?php endwhile; ?&gt;
</pre>
<p>In dem Code fehlt eigentlich nur die Anzeige der Kommentare und eine horizontale Linie, zur Trennung der einzelnen Artikel. Dies ist schnell eingebaut und sieht dann wie folgt aus:</p>
<pre class="brush: php; title: ;">

&lt;?php while (have_posts()) : the_post(); ?&gt;
&lt;div &lt;?php post_class('startseite'); ?&gt; id=&quot;post-&lt;?php the_ID(); ?&gt;&quot;&gt;
&lt;div class=&quot;comments_count center&quot;&gt;
&lt;big&gt;&lt;?php comments_popup_link('0', '1', '%', '', __('Comments Closed', 'tutorial'));
printf('&lt;/big&gt;&lt;br/&gt; &lt;span class=&quot;highlight&quot;&gt;');
_e('Kommentare', 'tutorial');?&gt;&lt;/span&gt;
&lt;/div&gt;
&lt;h2&gt;&lt;a href=&quot;&lt;?php the_permalink() ?&gt;&quot; rel=&quot;bookmark&quot; title=&quot;&lt;?php the_title_attribute(); ?&gt;&quot;&gt;&lt;?php the_title(); ?&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;div class=&quot;entry&quot;&gt;
&lt;?php the_excerpt(); ?&gt;
&lt;a class=&quot;rechts&quot; href=&quot;&lt;?php the_permalink() ?&gt;&quot;
title=&quot;&lt;?php __('Artikel weiterlesen', 'tutorial') ?&gt;&quot;&gt;
&lt;?php _e('mehr...', 'tutorial') ?&gt;&lt;/a&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;hr/&gt;
&lt;?php endwhile; ?&gt;
</pre>
<p>Folgende Anpassungen haben wir vorgenommen:</p>
<ul>
<li>Dem WordPress Template Tag &#8220;post_class&#8221;, welches Standard CSS-Klassen für die Artikelanzeige ausgibt, haben wir noch die Klasse &#8220;startseite&#8221; mit übergeben. Damit haben wir die Möglichkeit, die Artikelanzeige auf verschiedenen Seiten zu variieren.</li>
<li>Einbau der Funktion &#8220;<a href="http://codex.wordpress.org/Template_Tags/comments_popup_link" target="_blank" class="liwp">comments_popup_link</a>&#8220;. Damit werden die Anzahl Kommentare angezeigt und ein Link zu den Kommentaren bzw. zur Artikelseite ausgegeben.</li>
<li>Austausch der Funktion &#8220;the_content&#8221; gegen die Funktion &#8220;<a href="http://codex.wordpress.org/Template_Tags/the_excerpt" target="_blank" class="liwp">the_excerpt</a>&#8220;. Mit &#8220;the_excerpt&#8221; wird nur die Kurzbeschreibung dargestellt. Ähnliches kann man auch mit &#8220;the_content&#8221; erreichen. Dann muss man aber in seinen Text immer das Tag &#8220;more&#8221; einfügen (als HTML Kommentar). Der Text wird auf der Startseite dann nur bis zu diesem Tag angezeigt und automatisch ein &#8220;more&#8221;-Link eingefügt.</li>
<li>Einfügen eines eigenen &#8220;more&#8221;-Links da &#8220;the_excerpt&#8221; diesen nicht anbietet</li>
<li>Einfügen des HTML Tag &#8220;hr&#8221; zur Darstellung einer horizontalen Linie</li>
</ul>
<h4>Eingefügte Objekte mittels CSS formatieren</h4>
<p>Damit die eingefügten Objekte jetzt auch noch richtig angeordnet und dargestellt werden, ergänzen wir in der Datei &#8220;content.css&#8221; noch ein paar CSS-Klassen.</p>
<pre class="brush: plain; title: ;">

/**
* ------------------------------------------------------------ #
* Eigene Definitionen für unser WordPress Design
*/

/* Textausrichtung eines einzelnen Objekts - z.B. more-Link */
.rechts { text-align : right; display : block; }

/* Anzahl Kommentare Anzeige */
.comments_count { float:left; width : 5em; height : 3em; border : 1px solid #000; margin-right : 1em;}
.comments_count .highlight {font-size : 85%; font-variant:small-caps;}

/* Bereich für den Artikelinhalt */
.startseite .entry { margin-left : 6em; }
</pre>
<h3>Spalten in die Fußzeile einfügen</h3>
<p>Nun müssen wir eigentlich nur noch die Fußzeile mit den zusätzlichen drei Spalten versorgen. Dies geschieht wieder mit den &#8220;subcolumns&#8221; und sieht dann in der Datei &#8220;footer.php&#8221; wie folgt aus:</p>
<pre class="brush: xml; title: ;">

&lt;!-- begin: #footer --&gt;
&lt;div id=&quot;footer&quot; role=&quot;contentinfo&quot;&gt;
&lt;div class=&quot;subcolumns&quot;&gt;
&lt;div class=&quot;c33l&quot;&gt;
&lt;div class=&quot;subcl&quot;&gt;
&lt;p&gt;subcolumn 1&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;c33l&quot;&gt;
&lt;div class=&quot;subc&quot;&gt;
&lt;p&gt;subcolumn 2&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;c33r&quot;&gt;
&lt;div class=&quot;subcr&quot;&gt;
&lt;p&gt;subcolumn 3&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;

Footer with copyright notice and status information&lt;br /&gt;
Layout based on &lt;a href=&quot;http://www.yaml.de/&quot;&gt;YAML&lt;/a&gt;
&lt;/div&gt;
&lt;!-- end: #footer --&gt;
</pre>
<h3>Ausblick</h3>
<p>Für heute solle es das erst einmal gewesen sein. Die Startseite sieht nun immer mehr so aus, wie der Designentwurf. Natürlich habe ich auch diesmal wieder alle Dateien als <a href="http://www.blog-gedanken.de/wp-content/uploads/download/WPThemeTutorial_Teil5_Inhalt_von_Ordner_CSS.zip" class="lizip">Zip-Datei</a> zur Verfügung gestellt (im Verzeichnis CSS entpacken).</p>
<p>Im nächsten Teil werden wir uns dann um die Gestaltung der Artikel-Seite kümmern. Danach kommt dann die Befüllung der rechten Spalte. Damit haben wir das Grundgerüst und können uns wahrscheinlich einmal um die farbliche Gestaltung Gedanken machen.</p>
<p>Wer mittlerweile doch noch Lust bekommen hat, ein eigenes Theme zu erstellen, dem möchte ich noch mal meine <a href="http://www.blog-gedanken.de/blogger-aktion/blogger-aktion-mitmachen-beim-wp-theme-tutorial/" target="_blank" class="liinternal">Blogger Aktion</a> ans Herz legen. Das Grundgerüst bekommt ihr dann von mir.</p>
<p><a href='http://www1.belboon.de/adtracking/02bd4208087601db950004da.html' target='_blank'><img src='http://www1.belboon.de/adtracking/02bd4208087601db950004da.img' border='0' width='468' height='60' alt='' /></a></p>
<div id="serial-posts-wrapper">
<h3 class="serial-posts-heading"><span class="serial-pre-text">Artikelserie:</span>&nbsp;<span class="serial-name">Wordpress Theme mit YAML</span></h3>
<ul class="serial-posts">
<li class="serial-posts-list-item"><a href="http://www.blog-gedanken.de/webentwicklung/eigenes-wordpress-theme-mit-yaml-erstellen/" title="Eigenes Wordpress Theme mit YAML erstellen">Eigenes Wordpress Theme mit YAML erstellen</a></li>
<li class="serial-posts-list-item"><a href="http://www.blog-gedanken.de/webentwicklung/eigenes-wordpress-theme-mit-yaml-erstellen-teil-2/" title="Eigenes Wordpress Theme mit YAML erstellen - Teil 2">Eigenes Wordpress Theme mit YAML erstellen - Teil 2</a></li>
<li class="serial-posts-list-item"><a href="http://www.blog-gedanken.de/webentwicklung/eigenes-wordpress-theme-mit-yaml-erstellen-teil-3/" title="Eigenes Wordpress Theme mit YAML erstellen - Teil 3">Eigenes Wordpress Theme mit YAML erstellen - Teil 3</a></li>
<li class="serial-posts-list-item"><a href="http://www.blog-gedanken.de/webentwicklung/eigenes-wordpress-theme-mit-yaml-erstellen-teil-4/" title="Eigenes Wordpress Theme mit YAML erstellen - Teil 4">Eigenes Wordpress Theme mit YAML erstellen - Teil 4</a></li>
<li class="serial-posts-list-item current-active"><a href="http://www.blog-gedanken.de/webentwicklung/eigenes-wordpress-theme-mit-yaml-erstellen-teil-5/" title="Eigenes Wordpress Theme mit YAML erstellen - Teil 5">Eigenes Wordpress Theme mit YAML erstellen - Teil 5</a></li>
<li class="serial-posts-list-item"><a href="http://www.blog-gedanken.de/webentwicklung/eigenes-wordpress-theme-mit-yaml-erstellen-teil-6/" title="Eigenes Wordpress Theme mit YAML erstellen - Teil 6">Eigenes Wordpress Theme mit YAML erstellen - Teil 6</a></li>
</ul>
</div>

]]></content:encoded>
			<wfw:commentRss>http://www.blog-gedanken.de/webentwicklung/eigenes-wordpress-theme-mit-yaml-erstellen-teil-5/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Eigenes WordPress Theme mit YAML erstellen &#8211; Teil 4</title>
		<link>http://www.blog-gedanken.de/webentwicklung/eigenes-wordpress-theme-mit-yaml-erstellen-teil-4/</link>
		<comments>http://www.blog-gedanken.de/webentwicklung/eigenes-wordpress-theme-mit-yaml-erstellen-teil-4/#comments</comments>
		<pubDate>Sat, 06 Feb 2010 13:00:12 +0000</pubDate>
		<dc:creator>Gedanken Blogger</dc:creator>
				<category><![CDATA[Tutorials]]></category>
		<category><![CDATA[Webentwicklung]]></category>
		<category><![CDATA[Template]]></category>
		<category><![CDATA[Theme]]></category>
		<category><![CDATA[Webdesign]]></category>
		<category><![CDATA[Wordpress]]></category>
		<category><![CDATA[YAML]]></category>

		<guid isPermaLink="false">http://www.blog-gedanken.de/?p=3741</guid>
		<description><![CDATA[Nachdem wir im letzten Teil des Tutorials unsere Designskizze in die YAML-Struktur übertragen hatten, kommt heute etwas Inhalt in unser Theme. Doch zuvor wollen wir uns noch einem kleinen Problem widmen, welches wir im letzten Teil noch nicht gelöst haben. Entsprechend der Designskizze soll sich die Sidebar über die komplette rechte Seite bis zur Fußzeile [...]]]></description>
			<content:encoded><![CDATA[<p>Nachdem wir im letzten Teil des Tutorials unsere Designskizze in die YAML-Struktur übertragen hatten, kommt heute etwas Inhalt in unser Theme.</p>
<p>Doch zuvor wollen wir uns noch einem kleinen Problem widmen, welches wir im letzten Teil noch nicht gelöst haben. Entsprechend der Designskizze soll sich die Sidebar über die komplette rechte Seite bis zur Fußzeile erstrecken. Sie muss also auch rechts vom Headerbereich positioniert werden.</p>
<p>Für die Lösung dieses Problems müssen wir die Struktur des bisherigen YAML-Codes ein wenig anpassen. Schauen wir uns dafür zunächst an, wie die aktuellen CSS-Container strukturiert sind.</p>
<pre class="brush: php; title: ;">&lt;div class=&quot;page_margins&quot;&gt;
...&lt;div class=&quot;page&quot;&gt;
......&lt;div id=&quot;header&quot; role=&quot;banner&quot;&gt;        &lt;/div&gt;
......&lt;div id=&quot;nav&quot;  role=&quot;navigation&quot;&gt;    &lt;/div&gt;
...... &lt;div id=&quot;main&quot;&gt;
.........&lt;div id=&quot;col1&quot;&gt;        &lt;/div&gt;
.........&lt;div id=&quot;col2&quot;&gt;        &lt;/div&gt;
.........&lt;div id=&quot;col3&quot;&gt;        &lt;/div&gt;
......&lt;/div&gt;
......&lt;div id=&quot;footer&quot;&gt;    &lt;/div&gt;
...&lt;/div&gt;
&lt;/div&gt;</pre>
<p>Wie man schnell erkennt, liegt der Container &#8220;col3&#8243;, der die Sidebar bildet innerhalb des Containers &#8220;Main&#8221;. Der Header-Container jedoch liegt außerhalb des Bereiches. Damit nun der Header- und der Nav-Container links von der Sidebar angeordnet werden können, müssen wir nun den Start des Main-Containers verschieben.</p>
<p>Wir löschen diese Zeile also in der Datei &#8220;index.php&#8221; und fügen sie in die Datei &#8220;header.php&#8221; ein. Hier kommt sie zwischen den &#8220;div page&#8221; und &#8220;div header&#8221; Eintrag. Zusätzlich fügen wir in der Datei &#8220;basemod.css&#8221; noch den Eintrag &#8220;width : 65; float : left;&#8221; in die Deklaration des Header-Containers ein. Der nav-Container muss auch geändert werden. Dieser ist jedoch bisher nur in den Core-Dateien von YAML deklariert. Deshalb fügen wir nun eine neue Zeile in der Datei &#8220;basemod.css&#8221; ein.</p>
<p>Die Einträge in dieser Datei sollten jetzt wie folgt aussehen:</p>
<pre class="brush: php; title: ;">#header {
color:#000;
background:#fff repeat-x top left;
padding:45px 2em 1em 20px;
width : 65%;
float : left;
}

#nav {float : left; width : 65%;}</pre>
<p>Bevor wir uns nun der Einbindung von Inhalt in unser WordPress Theme zuwenden, positionieren wir noch die &#8220;Top-Navigation&#8221; in die Sidebar. Hierzu entfernen wir die entsprechenden Zeilen aus dem Header-Bereich in der Datei &#8220;header.php&#8221; und fügen diese in den &#8220;col3&#8243;-Container der Datei &#8220;sidebar.php&#8221; ein. Diese Datei sieht nun wie folgt aus:</p>
<pre class="brush: php; title: ;">&lt;!-- begin: #col3 static column --&gt;
&lt;div id=&quot;col3&quot; role=&quot;main&quot;&gt;
&lt;div id=&quot;col3_content&quot; class=&quot;clearfix&quot;&gt;
&lt;div id=&quot;topnav&quot; role=&quot;contentinfo&quot;&gt;
&lt;span&gt;&lt;a href=&quot;#&quot;&gt;Login&lt;/a&gt; | &lt;a href=&quot;#&quot;&gt;Contact&lt;/a&gt; | &lt;a href=&quot;#&quot;&gt;Imprint&lt;/a&gt;&lt;/span&gt;
&lt;/div&gt;
&lt;h2&gt;Column  #col3&lt;/h2&gt;
&lt;/div&gt;
&lt;div id=&quot;ie_clearing&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;!-- End: IE Column Clearing --&gt;
&lt;/div&gt;
&lt;!-- end: #col3 --&gt;
</pre>
<p>Schauen wir uns nun wieder das Preview unseres Themes an, so sollte es wie folgt aussehen:</p>
<div id="attachment_3755" class="wp-caption alignnone" style="width: 532px"><a href="http://www.blog-gedanken.de/wp-content/uploads/2010/02/preview2.jpg" class="liimagelink" rel="lightbox[3741]"><img class="size-full wp-image-3755 " title="Worpress Theme Preview unserer Designskizze" src="http://www.blog-gedanken.de/wp-content/uploads/2010/02/preview2.jpg" alt="Worpress Theme Preview unserer Designskizze" width="522" height="209" /></a><p class="wp-caption-text">Worpress Theme Preview unserer Designskizze</p></div>
<h3>Die WordPress Loop in das Theme einbauen</h3>
<p>Bevor wir nun weitere WordPress Funktionen zur Anzeige von Bloginhalten in unser Theme einbauen, löschen wir erst einmal die vorbelegten Beispieltexte aus unseren Dateien. Also die ganzen &#8220;Lore ipsum&#8221;-Texte aus der &#8220;index.php&#8221; und der &#8220;sidebar.php&#8221; löschen und schön aufpassen, dass nicht irgendein &#8220;div&#8221;-Eintrag dabei gelöscht wird.</p>
<h4>Blogtitel integrieren</h4>
<p>Zu Beginn fügen wir unseren Blogtitel in den Headerbereich ein. Um ein mögliches Hintergrundbild kümmern wir uns noch später, wenn wir die eigentlichen CSS-Eigenschaften optimieren und auf die farbliche Gestaltung des Themes eingehen.</p>
<p>Wir öffnen also jetzt die Datei &#8220;header.php&#8221;. Dort ist noch aus dem YAML-Beispielprojekt eine Titelzeile im Header-Container eingetragen. Die entsprechenden Zeilen löschen wir und ersetzen sie durch folgende Zeilen:</p>
<pre class="brush: php; title: ;">
&lt;div id=&quot;header&quot; role=&quot;banner&quot;&gt;
&lt;h1&gt;&lt;a href=&quot;&lt;?php echo get_option('home');?&gt;/&quot;&gt;
&lt;?php bloginfo('name'); ?&gt;&lt;/a&gt;&lt;/h1&gt;
&lt;div class=&quot;description&quot;&gt;&lt;?php bloginfo('description'); ?&gt;&lt;/div&gt;
&lt;/div&gt;</pre>
<p>Mit der WordPressfunktion &#8220;<a href="http://codex.wordpress.org/Function_Reference/get_option" target="_blank" class="liwp">get_option()</a>&#8221; wird ein Eintrag aus der Options-Tabelle gelesen. Dort sind eine Reihe von Einstellungen zu einem Blog hinterlegt. Als Parameter erhält die Funktion den Namen einer Option, dessen Wert ermittelt werden soll. In unserem Beispiel wollen wir den Blognamen als Titel darstellen.</p>
<p>Weiterhin haben wir mit dem Parameter &#8220;home&#8221; die URL des Blogs ermittelt. Damit haben wir den Titel mit einem Link auf die &#8220;Home-Adresse&#8221; versehen. Schließlich haben wir die &#8220;description&#8221; noch als Untertitel dargestellt.</p>
<h3>Artikel anzeigen</h3>
<p>Nun kommen wir endlich zur wichtigsten Funktionalität eines WordPress Blogs. Der sogenannten &#8220;loop&#8221;. Diese &#8220;loop&#8221; ist die Schleife zur Darstellung aller Artikel, so wie man es von einer Startseite her kennt. Den nachfolgenden Code tragen wir nun in die Datei &#8220;index.php&#8221; ein. Er kommt in den Container &#8220;col2_content&#8221;. Die Datei sollte also jetzt wie folgt aussehen:</p>
<pre class="brush: php; title: ;">&lt;div id=&quot;col2_content&quot; class=&quot;clearfix&quot;&gt;
&lt;?php if (have_posts()) : ?&gt;
&lt;?php while (have_posts()) : the_post(); ?&gt;
&lt;div &lt;?php post_class(); ?&gt; id=&quot;post-&lt;?php the_ID(); ?&gt;&quot;&gt;
&lt;h2&gt;&lt;a href=&quot;&lt;?php the_permalink() ?&gt;&quot; rel=&quot;bookmark&quot; title=&quot;&lt;?php the_title_attribute()); ?&gt;&quot;&gt;&lt;?php the_title(); ?&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;?php the_content(__'mehr... &amp;raquo;'); ?&gt;
&lt;/div&gt;
&lt;?php endwhile; ?&gt;
&lt;?php else : ?&gt;
&lt;h2&gt;&lt;?php _e('Nichts gefunden', 'kubrick'); ?&gt;&lt;/h2&gt;
&lt;p&gt;&lt;?php _e('Schade, leider gibt es hier keinen Artikel', 'kubrick'); ?&gt;&lt;/p&gt;
&lt;?php endif; ?&gt;
&lt;/div&gt;</pre>
<p>Schauen wir uns den Code nun etwas genauer an. Die <a href="http://codex.wordpress.org/The_Loop" target="_blank" class="liwp">Schleife</a>, die feststellt, ob ein Artikel vorhanden ist und dann für jeden Artikel ausgeführt wird startet wie folgt:</p>
<pre class="brush: php; title: ;">&lt;?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?&gt;</pre>
<p>In der Codezeile, die direkt nach dem Schleifenbeginn folgt, wird ein DIV-Container gestartet, in dem ein einzelner Artikel ausgegeben wird. Die Funktion &#8220;post_class&#8221; ist neu seit Version 2.7 und dient der Ausgabe von Klassendefinition zu Formatierung des Containers. Darauf gehen wir in einem späteren Teil des Tutorials nochmals genauer ein.</p>
<p>Mit der Funktion &#8220;the_id&#8221; wird die ID des Artikels ausgegeben. Hier wird sie genutzt, um ein eindeutiges Blockelement im HTML Code zu erzeugen. Damit könnte man theoretisch jedem Artikel ein eigenes aussehen verpassen, wird in der Praxis aber eher nicht dafür verwendet.</p>
<p>Nun folgt die Ausgabe des Titels als Link. Mit der Funktion &#8220;<a href="http://codex.wordpress.org/Template_Tags/the_title_attribute" target="_blank" class="liwp">the_title_attribut</a>&#8221; wird der Titel als reiner Text ausgegeben. Er enthält keinerlei HTML Tags oder andere Formatierungen. Wir nutzen die Funktion für den &#8220;Tooltip&#8221; des Titels also die Anzeige, wenn man mit der Maus über den Titel fährt.</p>
<p>Die Funktion &#8220;<a href="http://codex.wordpress.org/Template_Tags/the_title" target="_blank" class="liwp">the_title</a>&#8221; muss ich wahrscheinlich nicht näher erläutern. Damit wird wiederum der Titel des Artikels ausgegeben.</p>
<p>Nun kommt die Funktion &#8220;<a href="http://codex.wordpress.org/Template_Tags/the_content" target="_blank" class="liwp">the_content</a>&#8220;, die dafür sorgt, dass der Artikelinhalt ausgegeben wird. Wir haben ihr noch einen Parameter mit übergeben. Nutzt man in seinen Artikeln das &#8220;&#8211; more &#8211;&#8221; Tag, dann gibt die Funktion nur den Text bis zu dieser Stelle aus. Unser Parameter dient nun dazu, dass der definierte Text als &#8220;more-link&#8221; erscheinen wird.</p>
<p>An dieser Stelle möchte ich ganz kurz die Funktionen &#8220;__&#8221; und &#8220;e__&#8221; erläutern, die noch mehrfach auftauchen werden. Diese &#8220;Funktionen&#8221; dienen dazu, die Texte in einem Theme mehrsprachig darzustellen. Diese Funktionen suchen den angegeben Text in einer Übersetzungsdatei und geben dann den Text für die eingestellte Sprache zurück. &#8220;__&#8221; gibt dabei den String als return-Wert zurück und &#8220;e__&#8221; gibt den String in einem &#8220;echo&#8221;-Befehl aus. Diesem Thema werden wir uns auch nochmals während des Tutorials zuwenden.</p>
<p>Kommen wir zu den letzten beiden Zeilen des Codes. Diese werden ausgeführt, wenn kein Artikel gefunden wurde. Das kann zum Beispiel passieren, wenn gar ein Artikel im Blog vorhanden ist oder wenn z.B. eine Suche ausgeführt wurde, die kein Ergebnis geliefert hat. Wir geben an dieser Stelle zunächst nur einen Hinweistext aus.</p>
<h3>Login Link einbauen</h3>
<p>Damit wir auch noch in die Adminoberfläche unseres Blogs kommen, wenn wir nun unser Theme das erste Mal aktivieren, müssen wir noch den Login-Link einbauen. Diesen bauen wir in die Topnavigation ein, die wir ja vorhin in die Sidebar integriert hatten.</p>
<p>Der Login- bzw. Abmelde-Link wird mit der Funktion &#8220;<a href="http://codex.wordpress.org/Function_Reference/wp_loginout" target="_blank" class="liwp">wp_loginout</a>&#8221; eingefügt. Wir ersetzen einfach den login-Link aus dem Beispielprojekt mit dieser Funktion. Die anderen Einträge lassen wir zunächst als Beispiel bestehen. Die Zeile sollte jetzt wie folgt aussehen:</p>
<pre class="brush: php; title: ;">&lt;div id=&quot;topnav&quot; role=&quot;contentinfo&quot;&gt;
&lt;span&gt;&lt;?php wp_loginout(); ?&gt; | &lt;a href=&quot;#&quot;&gt;Contact&lt;/a&gt; | &lt;a href=&quot;#&quot;&gt;Imprint&lt;/a&gt;&lt;/span&gt;
&lt;/div&gt;</pre>
<h3>Theme aktivieren</h3>
<p>Nun ist es endlich vollbracht. Jetzt können wir das erste Mal unser Theme in unserem Testblog aktivieren und sehen, was bei unseren Anpassungen heraus gekommen ist. Mein Tutorial Blog, bei dem ich ja die Artikel meines Golfblogs importiert hatte, sieht nun folgendermaßen aus:</p>
<div id="attachment_3764" class="wp-caption alignnone" style="width: 501px"><a href="http://www.blog-gedanken.de/wp-content/uploads/2010/02/preview3.jpg" class="liimagelink" rel="lightbox[3741]"><img class="size-large wp-image-3764  " title="Wordpress Basis Theme mit Artikelanzeige" src="http://www.blog-gedanken.de/wp-content/uploads/2010/02/preview3-1024x662.jpg" alt="Wordpress Basis Theme mit Artikelanzeige" width="491" height="318" /></a><p class="wp-caption-text">Wordpress Basis Theme mit Artikelanzeige</p></div>
<p>Zugegeben, eine Schönheit ist unser Theme im Moment noch nicht. Also werden wir uns im nächsten Teil hierum ein wenig kümmern.</p>
<p>Nachdem das Grundgerüst nun steht und die Artikel auf der Startseite angezeigt werden, werden wir die Gestaltung des Themes ein wenig optimieren. Wir kümmern uns um die Ausrichtung, eine sinnvolle Größe der einzelnen Elemente und definieren ein paar zusätzliche Bereiche sowie CSS-Eigenschaften, damit die Startseite dann etwas attraktiver wird.</p>
<p>Wie immer gilt, fragen beantworte ich gerne in den Kommentaren. Natürlich habe ich auch diesmal wieder den aktuellen Stand unseres Beispielprojekts als <a href="http://www.blog-gedanken.de/wp-content/uploads/download/WPThemeTutorial_Teil4.zip" class="lizip">zip-Datei</a> bereit gestellt. Diese enthaltenen Dateien müssen wieder in das &#8220;css&#8221;-Verzeichnis entpackt werden. Die alten Dateien können überschrieben werden.</p>
<p><a href='http://www1.belboon.de/adtracking/02bd4208087601db950004da.html' target='_blank'><img src='http://www1.belboon.de/adtracking/02bd4208087601db950004da.img' border='0' width='468' height='60' alt='' /></a></p>
<div id="serial-posts-wrapper">
<h3 class="serial-posts-heading"><span class="serial-pre-text">Artikelserie:</span>&nbsp;<span class="serial-name">Wordpress Theme mit YAML</span></h3>
<ul class="serial-posts">
<li class="serial-posts-list-item"><a href="http://www.blog-gedanken.de/webentwicklung/eigenes-wordpress-theme-mit-yaml-erstellen/" title="Eigenes Wordpress Theme mit YAML erstellen">Eigenes Wordpress Theme mit YAML erstellen</a></li>
<li class="serial-posts-list-item"><a href="http://www.blog-gedanken.de/webentwicklung/eigenes-wordpress-theme-mit-yaml-erstellen-teil-2/" title="Eigenes Wordpress Theme mit YAML erstellen - Teil 2">Eigenes Wordpress Theme mit YAML erstellen - Teil 2</a></li>
<li class="serial-posts-list-item"><a href="http://www.blog-gedanken.de/webentwicklung/eigenes-wordpress-theme-mit-yaml-erstellen-teil-3/" title="Eigenes Wordpress Theme mit YAML erstellen - Teil 3">Eigenes Wordpress Theme mit YAML erstellen - Teil 3</a></li>
<li class="serial-posts-list-item current-active"><a href="http://www.blog-gedanken.de/webentwicklung/eigenes-wordpress-theme-mit-yaml-erstellen-teil-4/" title="Eigenes Wordpress Theme mit YAML erstellen - Teil 4">Eigenes Wordpress Theme mit YAML erstellen - Teil 4</a></li>
<li class="serial-posts-list-item"><a href="http://www.blog-gedanken.de/webentwicklung/eigenes-wordpress-theme-mit-yaml-erstellen-teil-5/" title="Eigenes Wordpress Theme mit YAML erstellen - Teil 5">Eigenes Wordpress Theme mit YAML erstellen - Teil 5</a></li>
<li class="serial-posts-list-item"><a href="http://www.blog-gedanken.de/webentwicklung/eigenes-wordpress-theme-mit-yaml-erstellen-teil-6/" title="Eigenes Wordpress Theme mit YAML erstellen - Teil 6">Eigenes Wordpress Theme mit YAML erstellen - Teil 6</a></li>
</ul>
</div>

]]></content:encoded>
			<wfw:commentRss>http://www.blog-gedanken.de/webentwicklung/eigenes-wordpress-theme-mit-yaml-erstellen-teil-4/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Eigenes WordPress Theme mit YAML erstellen &#8211; Teil 3</title>
		<link>http://www.blog-gedanken.de/webentwicklung/eigenes-wordpress-theme-mit-yaml-erstellen-teil-3/</link>
		<comments>http://www.blog-gedanken.de/webentwicklung/eigenes-wordpress-theme-mit-yaml-erstellen-teil-3/#comments</comments>
		<pubDate>Sat, 30 Jan 2010 06:00:55 +0000</pubDate>
		<dc:creator>Gedanken Blogger</dc:creator>
				<category><![CDATA[Tutorials]]></category>
		<category><![CDATA[Webentwicklung]]></category>
		<category><![CDATA[Balsamiq]]></category>
		<category><![CDATA[Designentwurf]]></category>
		<category><![CDATA[Mockup]]></category>
		<category><![CDATA[Template]]></category>
		<category><![CDATA[Theme]]></category>
		<category><![CDATA[Webdesign]]></category>
		<category><![CDATA[Wordpress]]></category>
		<category><![CDATA[YAML]]></category>

		<guid isPermaLink="false">http://www.blog-gedanken.de/?p=3420</guid>
		<description><![CDATA[Im dritten Teil meines Tutorials möchte ich euch nun zeigen, wie man die erstellte Designskizze (Mockup) in YAML umsetzt. Damit man diesen Teil direkt mit machen kann, wäre es sinnvoll, eine entsprechende Testumgebung zu haben. Testumgebung aufsetzen Dafür möchte ich auf einen Artikel verweisen, den ich vor ca. 1 Jahr veröffentlicht habe. Hier hatte ich [...]]]></description>
			<content:encoded><![CDATA[<p>Im dritten Teil meines Tutorials möchte ich euch nun zeigen, wie man die erstellte Designskizze (Mockup) in YAML umsetzt. Damit man diesen Teil direkt mit machen kann, wäre es sinnvoll, eine entsprechende Testumgebung zu haben.</p>
<h3>Testumgebung aufsetzen</h3>
<p>Dafür möchte ich auf einen Artikel verweisen, den ich vor ca. 1 Jahr veröffentlicht habe. Hier hatte ich beschrieben, wie man eine <a href="http://www.blog-gedanken.de/webentwicklung/wordpress-testversion-auf-usb-stick-installieren/" target="_blank" class="liinternal">WordPress Testversion auf  einem USB Stick</a> erstellt (geht natürlich auch auf der Festplatte <img src='http://www.blog-gedanken.de/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' />  ). Ich werde für mein Tutorial die WordPress Version 2.9.1 verwenden.</p>
<p>Damit ich einige Artikel in meinem Tutorial Blog habe, nutze ich die WordPress eigene Export/Import-Funktion. Damit gelangen alle Artikel und Bilder von meinem Golfblog auf meine lokale Version (beim Import &#8220;Anhänge&#8221; anklicken). Die Plugins lasse ich erstmal komplett außen vor. So kann ich quasi mit einem &#8220;sauberen&#8221; Blog starten. Im Laufe des Tutorials werden wir dann sicherlich auch ein paar interessante Plugins einbauen.</p>
<div id="attachment_3617" class="wp-caption alignleft" style="width: 94px"><img class="size-full wp-image-3617" title="WP Theme Verzeichnis" src="http://www.blog-gedanken.de/wp-content/uploads/2010/01/theme-verzeichnis.jpg" alt="WP Theme Verzeichnis" width="84" height="92" /><p class="wp-caption-text">WP Theme Verzeichnis</p></div>
<p>Nun fehlen noch die benötigten YAML-Dateien. Diese laden wir uns von der <a href="http://www.yaml.de/" target="_blank" class="liexternal">YAML-Seite</a>. Hier gibt es eine sehr schöne Ausgangsbasis für ein neues YAML Projekt, das &#8220;Simple Project&#8221;. Ladet euch das zip-File runter und entpackt es in dem Verzeichnis, wo die WordPress Themes liegen (../tutorial/wp-content/themes).</p>
<div id="attachment_3619" class="wp-caption alignright" style="width: 120px"><img class="size-full wp-image-3619" title="Tutorial Verzeichnis mit YAML Projektstruktur" src="http://www.blog-gedanken.de/wp-content/uploads/2010/01/tutorial-theme-verzeichnis.jpg" alt="Tutorial Verzeichnis mit YAML Projektstruktur" width="110" height="183" /><p class="wp-caption-text">Tutorial Verzeichnis mit YAML Projektstruktur</p></div>
<p>Lest euch bitte auch noch die <a href="http://www.yaml.de/de/dokumentation/anwendung/allgemeines.html" target="_blank" class="liexternal">5 Regeln</a> auf der YAML-Seite und die Empfehlung für die Projektstruktur durch. Das &#8220;Simple Project&#8221; entspricht dieser Projektstruktur bereits, so dass wir direkt damit arbeiten können. Das Theme Verzeichnis und das Unterverzeichnis &#8220;Tutorial&#8221; sollten jetzt bei euch so aussehen, wie auf den Bildern.</p>
<p>Zum Abschluß benennen wir nun noch die Datei &#8220;my_layout.html&#8221; in &#8220;index.php&#8221; um und verschieben diese in den Ordner &#8220;css&#8221;. Im Unterverzeichnis &#8220;css&#8221; ändern wir die Datei &#8220;my_layout.css&#8221; in &#8220;style.css&#8221; um. Damit haben wir die Dateien so genannt, wie es bei WordPress üblich ist.</p>
<p>Wenden wir uns nun zunächst der Strukturierung des Design zu.</p>
<h3>Designskizze in Bereiche strukturieren</h3>
<div id="attachment_3529" class="wp-caption alignleft" style="width: 310px"><a href="http://www.blog-gedanken.de/wp-content/uploads/2010/01/index-mockup.jpg" class="liimagelink" rel="lightbox[3420]"><img class="size-medium wp-image-3529" title="Mockup der neues Startseite" src="http://www.blog-gedanken.de/wp-content/uploads/2010/01/index-mockup-300x270.jpg" alt="Mockup der neues Startseite" width="300" height="270" /></a><p class="wp-caption-text">Mockup der neues Startseite</p></div>
<p>Im letzten Teil des Tutorials haben wir mit Balsamiq eine Designskizze erstellt. Basis unseres heutigen Tutorials ist zunächst das Design für die Startseite. Diese muss nun in einzelne Bereiche aufgeteilt und in die YAML Strukturen überführt werden.</p>
<p>Schauen wir uns dazu nochmals die skizzierte Startseite an. Die Struktur meines Beispiels ist eigentlich recht einfach zu definieren. Klar dürfte sein, dass wir dort eine Sidebar auf der rechten Seite haben  und eine Fußzeile am Ende der Seite. Dann haben wir den Hauptbereich mit den Artikeln.</p>
<p>Schließlich haben wir noch den Headerbereich mit einem Menü. Zunächst hatte ich gedacht, den Bereich des Werbebanners auch im Header unter zu bringen. Dann habe ich mir aber überlegt, dass dieser Bereich zukünftig auch noch andere Informationen enthalten kann und deshalb in einem eigenen Bereich untergebracht werden sollte.</p>
<p>Die Aufteilung ist auch unter dem Gesichtspunkt, dass dieser Bereich auf anderen Seiten, wie zum Beispiel der Artikelanzeige oder einem Archiv, anders aussehen könnte. Was immer gleich bleiben wird, ist der Bereich mit dem Headerbild und dem Menü.</p>
<p>Somit haben wir in der Designskizze 5 Bereiche definiert, die es nun gilt in die YAML Struktur zu integrieren. Die Bereiche sind:</p>
<div id="attachment_3630" class="wp-caption alignright" style="width: 144px"><a href="http://www.blog-gedanken.de/wp-content/uploads/2010/01/sidebar.jpg" class="liimagelink" rel="lightbox[3420]"><img class="size-medium wp-image-3630" title="Sidebar Bereich" src="http://www.blog-gedanken.de/wp-content/uploads/2010/01/sidebar-134x300.jpg" alt="Sidebar Bereich" width="134" height="300" /></a><p class="wp-caption-text">Sidebar Bereich</p></div>
<div id="attachment_3624" class="wp-caption alignnone" style="width: 310px"><a href="http://www.blog-gedanken.de/wp-content/uploads/2010/01/header.jpg" class="liimagelink" rel="lightbox[3420]"><img class="size-medium wp-image-3624 " title="Header Bereich" src="http://www.blog-gedanken.de/wp-content/uploads/2010/01/header-300x100.jpg" alt="Header Bereich" width="300" height="100" /></a><p class="wp-caption-text">Header Bereich</p></div>
<div id="attachment_3627" class="wp-caption alignnone" style="width: 310px"><a href="http://www.blog-gedanken.de/wp-content/uploads/2010/01/teaser.jpg" class="liimagelink" rel="lightbox[3420]"><img class="size-medium wp-image-3627" title="Teaser Bereich" src="http://www.blog-gedanken.de/wp-content/uploads/2010/01/teaser-300x35.jpg" alt="Teaser Bereich" width="300" height="35" /></a><p class="wp-caption-text">Teaser Bereich</p></div>
<div id="attachment_3628" class="wp-caption alignnone" style="width: 310px"><a href="http://www.blog-gedanken.de/wp-content/uploads/2010/01/content.jpg" class="liimagelink" rel="lightbox[3420]"><img class="size-medium wp-image-3628" title="Content Bereich" src="http://www.blog-gedanken.de/wp-content/uploads/2010/01/content-300x187.jpg" alt="Content Bereich" width="300" height="187" /></a><p class="wp-caption-text">Content Bereich</p></div>
<div id="attachment_3629" class="wp-caption alignnone" style="width: 310px"><a href="http://www.blog-gedanken.de/wp-content/uploads/2010/01/footer.jpg" class="liimagelink" rel="lightbox[3420]"><img class="size-medium wp-image-3629" title="Footer - Bereich" src="http://www.blog-gedanken.de/wp-content/uploads/2010/01/footer-300x52.jpg" alt="Footer - Bereich" width="300" height="52" /></a><p class="wp-caption-text">Footer - Bereich</p></div>
<h3>Designbereiche in YAML integrieren</h3>
<div id="attachment_3633" class="wp-caption alignright" style="width: 281px"><a href="http://www.blog-gedanken.de/wp-content/uploads/2010/01/yaml-container.jpg" class="liimagelink" rel="lightbox[3420]"><img class="size-medium wp-image-3633" title="Yaml Container aus der Projektvorlage &quot;Simple Project&quot;" src="http://www.blog-gedanken.de/wp-content/uploads/2010/01/yaml-container-271x300.jpg" alt="Yaml Container aus der Projektvorlage &quot;Simple Project&quot;" width="271" height="300" /></a><p class="wp-caption-text">Yaml Container aus der Projektvorlage &quot;Simple Project&quot;</p></div>
<p>Nun wird es das erste Mal ein wenig Spannend. Wie bilden wir jetzt die definierten Bereich in YAML ein. Dazu sollte man sich nochmals vor Augen führen, dass YAML ein absolut flexibles Framework ist, welches auf einer &#8220;Spaltentechnik&#8221; aufbaut. Die komplette Seite wird quasi innerhalb der Container &#8220;page_margin&#8221; bzw. &#8220;page&#8221; abgebildet.</p>
<p>Eine weitere Basis des Frameworks bilden drei &#8220;Content&#8221;-Bereiche. Sie werden gebildet aus den Containern &#8220;col1&#8243;, &#8220;col2&#8243; und &#8220;col3&#8243;. Zusätzlich gibt es noch die Basiscontainer &#8220;Header&#8221; und &#8220;Footer&#8221;. Im Verzeichnis &#8220;css/screen&#8221; findet ihr die Datei &#8220;basemod.php&#8221; der Simple Project Vorlage. Dort sind diese Container definiert.</p>
<p>In der Projektvorlage sind die Container in der Reihenfolge &#8220;col1&#8243;, &#8220;col3&#8243;, &#8220;col2&#8243; formatiert. Die mittlere Spalte bildet also der Container 3 und dieser ist in der Breite flexibel.</p>
<h4>Die richtigen Container für unser Design finden</h4>
<p>Wie passen nun unsere Bereiche in die dafür vorgesehenen Container? Die Zuordnung des Header- und Footer-Bereich ist simpel, da es diese Bereich auch bei YAML schon gibt. Nun haben wir also noch drei Container übrig. Ein kleiner SEO-Hinweis noch vorab. Man sollte immer darauf achten, dass der eigentliche Content im HTML-Code so weit oben steht, wie möglich.</p>
<p>Bezogen auf das YAML Framework bedeutet dies, dass man den Content idealerweise immer in &#8220;col1&#8243; platziert, da die Anordnung der Container ihrer Nummerierung entspricht.</p>
<p>Nachdem Header und Footer zugeordnet sind könnten wir unseren Content-Bereich also in &#8220;col1&#8243; platzieren. Nun haben wir noch 2 Container übrig, deren Anordnung aber etwas schwierig werden könnte. Wir könnten unseren Teaser-Bereich in &#8220;col2&#8243; und die Sidebar in &#8220;col3&#8243; einbauen.</p>
<div id="attachment_3696" class="wp-caption alignleft" style="width: 274px"><a href="http://www.blog-gedanken.de/wp-content/uploads/2010/01/yaml-container-fur-tutorial-design.jpg" class="liimagelink" rel="lightbox[3420]"><img class="size-medium wp-image-3696" title="Yaml Container Einstellungen für unser Design" src="http://www.blog-gedanken.de/wp-content/uploads/2010/01/yaml-container-fur-tutorial-design-264x300.jpg" alt="Yaml Container Einstellungen für unser Design" width="264" height="300" /></a><p class="wp-caption-text">Yaml Container Einstellungen für unser Design</p></div>
<p>Damit haben wir aber ein Problem, was die Anordnung unseres Teaserbereichs angeht. Dieser soll ja zwischen Header und Contentbereich liegen. Die &#8220;col2&#8243; mit entsprechenden CSS-Formatierungen dorthin zu bekommen ist nicht so einfach möglich. Also müssen wir uns noch etwas anderes überlegen.</p>
<p>Grundsätzlich gibt es zwei Lösungsalternativen. Wir verwenden &#8220;col2&#8243; gar nicht und blenden diese aus. Nun können wir einen zusätzlichen DIV-Container definieren, nennen diesen &#8220;teaser&#8221; und nutzen ihn für unseren Teaserbereich. Die andere Variante, für die ich mich entschieden habe, ist es, den Inhalt von &#8220;col1&#8243; und &#8220;col2&#8243; zu tauschen.</p>
<p>Da wir für mein Design nur 2 Spalten benötigen kann ich nun auch &#8220;col1&#8243; für den Teaser-Bereich verwenden und &#8220;col2&#8243; für den Content-Bereich. Die entsprechenden Einstellungen sind auf dem linken Bild zusehen. Ändert einfach die Einträge in der Datei &#8220;basemod.css&#8221;, die im Verzeichnis &#8220;screen&#8221; liegt, entsprechend.</p>
<h4>WordPress Template Dateien anlegen</h4>
<p>Nun sind wir nur noch wenige Schritte von dem ersten Aufruf unseres Blogs mit dem neuen Basislayout entfernt. Wir müssen nun die richtigen Template Dateien für unser WordPress Theme erstellen.</p>
<p>Als erstes müssen wir ein paar Kommentarzeilen in die style.css Datei eintragen, damit WordPress unser Theme auch erkennt und die Infos in der Adminoberfläche anzeigt. Die dargestellten Kommentarzeilen einfach in der Datei style.css in den oberen Kommentar rein schreiben. Natürlich könnt ihr unnötige Zeilen aus der YAML Projektvorgabe entfernen.</p>
<pre lang="php">* Theme Name: WordPress Tutorial
* Description: WordPress theme based on YAML
* Version: 0.1
* Author: Juergen Allmich
* Tags: variable width, two columns, widgets</pre>
<p>Nun erstellen wir die benötigten Dateien für WordPress und schreiben dort den Code hinein. Beginnen wir mit der Header Datei. Der einfachste Weg, diese Datei zu erstellen, ist die Datei &#8220;index.php&#8221; als Basis zu nutzen.</p>
<p>Wir editieren also die Datei index.php und speichern diese unter dem Namen &#8220;header.php&#8221; ab. Nun löschen wir alle Zeilen ab der Zeile &#8220;begin: main content area #main&#8221;. Weiterhin ändern wir noch den Aufruf der Stylesheet Datei, die wir ja nach &#8220;style.css&#8221; umbenannt haben. In Zeile 10 müsste der Eintrag &#8220;css/my_layout.css&#8221; zu finden sein. Hier muss nun die WordPressfunktion &#8220;bloginfo(&#8216;stylesheet_url&#8217;)&#8221; integriert werden, damit das richtige Stylesheet gefunden wird. Die Zeile sollte also nach der Änderung wie folgt aussehen:</p>
<pre class="brush: php; title: ;">&lt;link href=&quot;&lt;?php bloginfo('stylesheet_url'); ?&gt;&quot; rel=&quot;stylesheet&quot; type=&quot;text/css&quot;/&gt;</pre>
<p>Nun erstellen wir die Footer Datei. Auch hier nutzen wir wieder die bestehende Datei &#8220;index.php&#8221;. Jetzt löschen wir alles von der ersten Zeile bis zur Zeile &#8221; end: #col3 &#8221; und speichern das Ergebnis als &#8220;footer.php&#8221;.</p>
<p>Bevor wir dann die Index Datei für den eigentlichen Content Bereich anpassen, nutzen wir sie noch ein letztes Mal für die Erstellung der Datei &#8220;sidebar.php&#8221;. Jetzt wird von der ersten Zeile der Datei alles bis zur Zeile &#8221; begin: #col3 static column &#8221; gelöscht und von Zeile &#8221; end: #col3 &#8221; bis zum Ende gelöscht. Die angebenen Zeilen mit den Kommentaren sollte man möglichst nicht mit löschen. Es bleibt als der Container &#8220;col3&#8243; übrig. Die so entstandene Datei speichern wir als &#8220;sidebar.php&#8221;.</p>
<p>Nun ist es fast vollbracht. Jetzt können wir die &#8220;index.php&#8221; selbst bearbeiten. Zunächst löschen wir alles von Zeile 1 bis zur Zeile &#8221; end: main navigation &#8221; und von Zeile &#8221; begin: #col3 static column &#8221; bis zum Ende. Was jetzt noch fehlt ist der Aufruf der Templatedateien &#8220;header.php&#8221;, &#8220;footer.php&#8221; und &#8220;sidebar.php&#8221;, die wit gerade erstellt haben. Hierfür gibt es entsprechende Funktionen von WordPress, die wir nun noch in die &#8220;index.php&#8221; eintragen. An den Anfang der &#8220;index.php&#8221; kommt folgender Code:</p>
<pre class="brush: php; title: ;">&lt;?php get_header(); ?&gt;</pre>
<p>Und an das Ende der Datei setzen wir folgende Aufrufe:</p>
<pre class="brush: php; title: ;">&lt;?php
get_sidebar();
get_footer();
?&gt;; </pre>
<h4>Preview des erstellten Theme</h4>
<p>Nun ist es fast vollbracht. Jetzt können wir schon mal in dem Adminbereich von WordPress zu den Themes wechseln und uns die Preview des Themes ansehen. Wenn alles richtig gemacht wurde, sollte die Vorschau so aussehen:</p>
<div id="attachment_3691" class="wp-caption alignnone" style="width: 547px"><a href="http://www.blog-gedanken.de/wp-content/uploads/2010/01/preview11.jpg" class="liimagelink" rel="lightbox[3420]"><img class="size-full wp-image-3691  " title="Theme Preview" src="http://www.blog-gedanken.de/wp-content/uploads/2010/01/preview11.jpg" alt="Theme Preview" width="537" height="309" /></a><p class="wp-caption-text">Theme Preview</p></div>
<p>Eigentlich sieht das Theme ja schon ganz gut aus. Erinnern wir uns aber an unsere Design Skizze, dann haben wir noch ein Problem zu beheben. Die Sidebar soll direkt am oberen Rand beginnen. Hierfür müssen wir noch ein paar Änderungen in den Dateien vornehmen. Da das Tutorial aber schon deutlich länger geworden ist, als geplant, verschieben wird diese Anpassungen auf den nächsten Teil. Dann werden wir auch die sogenannte &#8220;Loop&#8221; einbauen, die dafür sorgt, dass unsere Artikel angezeigt werden.</p>
<p>Ich hoffe, dass ich heute nicht zu viele abgehängt habe mit dem ganzen Löschen und einfügen von irgendwelchen Codezeilen. Damit es etwas einfacher ist, habe ich noch eine <a href="http://www.blog-gedanken.de/wp-content/uploads/download/WPThemeTutorialBasisdateien.zip" class="lizip">zip-Datei</a> eingefügt, in der alle Dateien enthalten sind, die wir heute erstellt haben. Schaut euch diese Dateien, die ins Verzeichnis &#8220;css&#8221; gehören, einfach nochmal in Ruhe an.</p>
<p>Fragen sind jederzeit Willkommen. Und denkt auch nochmals an meine <a href="http://www.blog-gedanken.de/blogger-aktion/blogger-aktion-mitmachen-beim-wp-theme-tutorial/" target="_blank" class="liinternal">Bloggeraktion</a>, wenn ihr ein eigenes Design habt, was ihr gerne umgesetzt haben wollt.</p>
<p></p>
<div id="serial-posts-wrapper">
<h3 class="serial-posts-heading"><span class="serial-pre-text">Artikelserie:</span>&nbsp;<span class="serial-name">Wordpress Theme mit YAML</span></h3>
<ul class="serial-posts">
<li class="serial-posts-list-item"><a href="http://www.blog-gedanken.de/webentwicklung/eigenes-wordpress-theme-mit-yaml-erstellen/" title="Eigenes Wordpress Theme mit YAML erstellen">Eigenes Wordpress Theme mit YAML erstellen</a></li>
<li class="serial-posts-list-item"><a href="http://www.blog-gedanken.de/webentwicklung/eigenes-wordpress-theme-mit-yaml-erstellen-teil-2/" title="Eigenes Wordpress Theme mit YAML erstellen - Teil 2">Eigenes Wordpress Theme mit YAML erstellen - Teil 2</a></li>
<li class="serial-posts-list-item current-active"><a href="http://www.blog-gedanken.de/webentwicklung/eigenes-wordpress-theme-mit-yaml-erstellen-teil-3/" title="Eigenes Wordpress Theme mit YAML erstellen - Teil 3">Eigenes Wordpress Theme mit YAML erstellen - Teil 3</a></li>
<li class="serial-posts-list-item"><a href="http://www.blog-gedanken.de/webentwicklung/eigenes-wordpress-theme-mit-yaml-erstellen-teil-4/" title="Eigenes Wordpress Theme mit YAML erstellen - Teil 4">Eigenes Wordpress Theme mit YAML erstellen - Teil 4</a></li>
<li class="serial-posts-list-item"><a href="http://www.blog-gedanken.de/webentwicklung/eigenes-wordpress-theme-mit-yaml-erstellen-teil-5/" title="Eigenes Wordpress Theme mit YAML erstellen - Teil 5">Eigenes Wordpress Theme mit YAML erstellen - Teil 5</a></li>
<li class="serial-posts-list-item"><a href="http://www.blog-gedanken.de/webentwicklung/eigenes-wordpress-theme-mit-yaml-erstellen-teil-6/" title="Eigenes Wordpress Theme mit YAML erstellen - Teil 6">Eigenes Wordpress Theme mit YAML erstellen - Teil 6</a></li>
</ul>
</div>

]]></content:encoded>
			<wfw:commentRss>http://www.blog-gedanken.de/webentwicklung/eigenes-wordpress-theme-mit-yaml-erstellen-teil-3/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Eigenes WordPress Theme mit YAML erstellen &#8211; Teil 2</title>
		<link>http://www.blog-gedanken.de/webentwicklung/eigenes-wordpress-theme-mit-yaml-erstellen-teil-2/</link>
		<comments>http://www.blog-gedanken.de/webentwicklung/eigenes-wordpress-theme-mit-yaml-erstellen-teil-2/#comments</comments>
		<pubDate>Sat, 23 Jan 2010 07:31:30 +0000</pubDate>
		<dc:creator>Gedanken Blogger</dc:creator>
				<category><![CDATA[Tutorials]]></category>
		<category><![CDATA[Webentwicklung]]></category>
		<category><![CDATA[Balsamiq]]></category>
		<category><![CDATA[Designentwurf]]></category>
		<category><![CDATA[Mockup]]></category>
		<category><![CDATA[Template]]></category>
		<category><![CDATA[Theme]]></category>
		<category><![CDATA[Webdesign]]></category>
		<category><![CDATA[YAML]]></category>

		<guid isPermaLink="false">http://www.blog-gedanken.de/?p=3515</guid>
		<description><![CDATA[Nachdem ich im ersten Teil meines kleinen Tutorials nur ein paar Erläuterungen zu YAML und WordPress Themes gegeben habe, soll es nun so langsam los gehen. Wie schon erwähnt werden wir in diesem Tutorial das Design meines Golfblogs ändern. In der heutigen Folge geht es erstmal um das grundsätzliche Layout des Blogs und wie ich [...]]]></description>
			<content:encoded><![CDATA[<p>Nachdem ich im ersten Teil meines kleinen Tutorials nur ein paar Erläuterungen zu YAML und WordPress Themes gegeben habe, soll es nun so langsam los gehen. Wie schon erwähnt werden wir in diesem Tutorial das Design meines <a href="http://blog.meingolfportal.de" target="_self" class="liexternal">Golfblogs</a> ändern.</p>
<p>In der heutigen Folge geht es erstmal um das grundsätzliche Layout des Blogs und wie ich dieses sehr schnell mit dem Mockup Tool &#8220;<a href="http://www.balsamiq.com/" target="_blank" class="liexternal">Balsamiq</a>&#8221; erstellen kann. Wenn ihr vielleicht auch dieses Tool ausprobieren wollt, stelle ich es zunächst einmal kurz vor. Anschließend gehe ich dann auf die Erstellung des neuen Golfblog Designs ein.</p>
<h3>Entwurf eines Webdesign mit Balsamiq</h3>
<div id="attachment_3520" class="wp-caption alignleft" style="width: 220px"><a href="http://www.blog-gedanken.de/wp-content/uploads/2010/01/balsamiq01.jpg" class="liimagelink" rel="lightbox[3515]"><img class="size-medium wp-image-3520 " title="Balsamiq - Webdesigns schnell erstellen" src="http://www.blog-gedanken.de/wp-content/uploads/2010/01/balsamiq01-300x293.jpg" alt="Balsamiq - Webdesigns schnell erstellen" width="210" height="205" /></a><p class="wp-caption-text">Balsamiq - Webdesigns schnell erstellen</p></div>
<p>Das Werkzeug <strong>Balsamiq </strong>ist im Prinzip ein Malwerkzeug, welches speziell auf die Erstellung von Webdesign ausgerichtet ist. Sogenannte Mockups sind quasi der Ersatz für den Entwurf, den man normalerweise mit Papier und Bleistift erstellt.</p>
<p>Nach dem Start des Programms hat man eine leere Zeichenfläche vor sich und ein Bereich mit vordefinierten Komponenten. Hierbei handelt es sich um diverse Objekte zur Darstellung verschiedenster Informationen oder Bereiche.</p>
<p>Natürlich sind das Buttons, Menüs, Scrollbars, Textbereiche, Fenster und und und. Diese sogenannten &#8220;Controls&#8221; kann man auch noch ergänzen. Damit dürfte eigentlich für jeden Anwendungsfall und für jedes Design ein Control zur Verfügung stehen.</p>
<div id="attachment_3522" class="wp-caption alignright" style="width: 208px"><a href="http://www.blog-gedanken.de/wp-content/uploads/2010/01/balsamiq02.jpg" class="liimagelink" rel="lightbox[3515]"><img class="size-medium wp-image-3522 " title="Balsamiq - Bearbeitungsdialog bei Auswahl mehrerer Objekte" src="http://www.blog-gedanken.de/wp-content/uploads/2010/01/balsamiq02-283x300.jpg" alt="Balsamiq - Bearbeitungsdialog bei Auswahl mehrerer Objekte" width="198" height="210" /></a><p class="wp-caption-text">Balsamiq - Bearbeitungsdialog bei Auswahl mehrerer Objekte</p></div>
<p>Man kann auch spezielle Controls einsetzen, um zum Beispiel mit Pfeilen auf bestimmte Stellen hinzuweisen oder Kommentare zu hinter lassen. Gedacht ist das Programm u.a. auch dafür, dass ein Webdesigner seine ersten Designentwürfe mit dem Kunden abstimmen kann.</p>
<p>Für die Anordnung und Bearbeitung der einzelnen Objekte stehen jede Menge Funktionen zu Verfügung, wie man sie auch aus Zeichenprogrammen kennt. Man kann zum Beispiel mehrere Objekte an einer Linie ausrichten, sie gruppieren oder ihre Position fixieren.</p>
<p>Auch Textformatierungen lassen sich vornehmen. Wenn man die Seite schon etwas bunter gestalten möchte, kann man auch Farben definieren oder sogar Bilder einbauen.</p>
<div id="attachment_3527" class="wp-caption alignleft" style="width: 220px"><a href="http://www.blog-gedanken.de/wp-content/uploads/2010/01/balsamiq03.jpg" class="liimagelink" rel="lightbox[3515]"><img class="size-medium wp-image-3527 " title="Balsamiq - Bearbeitungsdialog eines Objekts" src="http://www.blog-gedanken.de/wp-content/uploads/2010/01/balsamiq03-300x234.jpg" alt="Balsamiq - Bearbeitungsdialog eines Objekts" width="210" height="164" /></a><p class="wp-caption-text">Balsamiq - Bearbeitungsdialog eines Objekts</p></div>
<p>Erstellte Mockups können auf vielfältige Art und Weise ausgegeben werden. Man kann es als Bild oder PDF exportieren, eine XML-Datei erzeugen oder eben einfach abspeichern.</p>
<p>Ein Hinweis zum Testen. Es gibt eine Demoversion mit ein paar Einschränkungen. So kann man das erstellte Mockup zum Beispiel nicht speichern. Allerdings kann man seine Arbeit mit einem XML Export sichern und auch wieder einlesen. Zusätzlich sind die Dialoge etwas nervig, die einem alle paar Minuten anzeigen, dass man nur eine Demoversion hat.</p>
<p>Wenn man einen eigenen Blog hat, auf dem man <a href="http://www.balsamiq.com/products/mockups/desktop#buy" target="_blank" class="liexternal">Balsamiq </a>vorstellen kann, bekommt man kostenfrei einen Lizenzschlüssel. Hierzu muss man einfach nur eine Mail schreiben. Hat mir ohne Probleme funktioniert.</p>
<h3>Ein neues Design entwerfen</h3>
<h4>Die Vorgaben</h4>
<p>Nachdem wir nun erfahren haben, wie man sich mittels <strong>Balsamiq </strong>ein neues Design entwerfen kann, begeben wir uns nun an das Design des Golfblogs. Zunächst möchte ich ein paar Ziele und Rahmenbedingungen definieren, die ich in meinem Design berücksichtigen will:</p>
<ul>
<li>Flexibles Design mit zentraler Ausrichtung.</li>
<li>2 Spalten (breite Content Spalte und eine Sidebar auf der rechten Seite)</li>
<li>Das Design sollte bereits grob die Möglichkeit für ein paar Werbeanzeigen berücksichtigen</li>
<li>Artikel sollen zukünftig auf der Startseite als &#8220;Kurztext&#8221; erscheinen. Einerseits glaube ich, dass dadurch ein &#8220;ruhigeres&#8221; Design entsteht. Der zweite Grund ist die bessere Nachverfolgung in der Statistik, da der Artikel angeklickt werden muss, um ihn komplett zu lesen</li>
<li>Eine Menüleiste soll auf die wichtigsten Kategorien und Seiten verweisen</li>
<li>In der Fußzeile sollen einige Übersichten wie z.B. das Archiv, vielleicht die Tags usw. dargestellt werden.</li>
<li>Die Größe des Design soll sich an einen Anwender richten, der eine Auflösung von 1024 Pixeln in der Breite hat.</li>
</ul>
<div id="attachment_3529" class="wp-caption alignleft" style="width: 310px"><a href="http://www.blog-gedanken.de/wp-content/uploads/2010/01/index-mockup.jpg" class="liimagelink" rel="lightbox[3515]"><img class="size-medium wp-image-3529" title="Mockup der neues Startseite" src="http://www.blog-gedanken.de/wp-content/uploads/2010/01/index-mockup-300x270.jpg" alt="Mockup der neues Startseite" width="300" height="270" /></a><p class="wp-caption-text">Mockup der neues Startseite</p></div>
<h4>Entwurf der Startseite</h4>
<p>Mit diesen Vorgaben bin ich dann mittels Balsamiq in das Design eingestiegen. Zunächst habe ich die Startseite des Blogs entworfen. In sehr kurzer Zeit war bereits ein erster Entwurf fertig. Begonnen hatte ich mit einem Header über die gesamte Breite des Layouts. Dies habe ich dann aber wieder verworfen und aktuell die Sidebar direkt an den oberern Rand positioniert.</p>
<p>Auch mit dem Menü habe ich ein wenig gespielt und es an mehreren Stellen positioniert. Bei dem Design der Artikeldarstellung auf der Startseite habe ich mich entschlossen, keine Metainformationen darzustellen. Also keine Informationen zu Datum, Kategorie und Tags. Ich bin mir aber noch nicht ganz schlüssig, ob ich es dabei belasse. Ich denke,  dass diese Infos (bis auf das Datum vielleicht) an dieser Stelle für die Leser nicht wirklich interessant ist.</p>
<h4>Entwurf der Artikelseite</h4>
<p>Nachdem der Entwurf der Startseite fertig gestellt war, habe ich mich an den Entwurf der Seite für die Anzeige eines einzelnen Artikels begeben. Hierzu habe ich das vorhandene Mockup verwendet und angepasst.</p>
<p>Die Artikelseite habe ich im üblichen Stil entworfen. Hier werden jetzt auch die Metainformationen dargestellt.Unter dem Text soll ein Bereich für Bookmarks, eine Toolbar oder ähnliches entstehen. Damit man sich im Blog möglichst viel bewegt sollte eine Info zu ähnlichen Artikeln natürlich nicht fehlen.</p>
<p>Schließlich folgen die Kommentare mit dem Kommentarformular. Diesen Bereich und die Fußzeilen habe ich nicht mehr dargestellt. Die Fußzeile soll die der Startseite entsprechen.</p>
<div id="attachment_3531" class="wp-caption alignright" style="width: 310px"><a href="http://www.blog-gedanken.de/wp-content/uploads/2010/01/page-mockup.png" class="liimagelink" rel="lightbox[3515]"><img class="size-medium wp-image-3531" title="Mockup der Artikelseite" src="http://www.blog-gedanken.de/wp-content/uploads/2010/01/page-mockup-300x272.png" alt="Mockup der Artikelseite" width="300" height="272" /></a><p class="wp-caption-text">Mockup der Artikelseite</p></div>
<p>Damit haben wir nun einen ersten Entwurf des &#8220;neuen&#8221; Blogs. In der Regel wird man immer noch ein paar Anpassungen vornehmen. Das grundsätzliche Design steht aber nun. Interessant wird noch die Farbgestaltung, die natürlich wesentlichen Einfluss auf das Aussehen des Blogs hat.</p>
<p>Auch bei der konkreten Gestaltung der Sidebar bin ich mir noch nicht ganz sicher. Belasse ich es bei einer breiten Spalte oder gibt es Bereiche, die ich nochmals auf zwei Spalten aufteile? Dies werde ich entscheiden, wenn ich genauer weiß, welche Infos ich in der Sidebar darstellen möchte.</p>
<h3>Ausblick auf Teil 3 des Tutorials</h3>
<p>Im nächsten Teil des Tutorials soll es dann erstmals etwas konkreter werden. In Teil 3 werden wir das Design in die Hauptbereiche aufteilen und diese mittels dem YAML-Framework darstellen. Am Ende von Teil 3 sollten wir also das erste Mal das Design der Startseite im Blog sehen.</p>
<p>Bis dahin wünsche ich evtl. viel Spaß mit dem Test von <strong>Balsamiq</strong>. Vielleicht habt ihr ja Lust direkt ein eigenes Design zu entwerfen. Gerne würde ich dann demnächst auch erläutern, wie ihr eure Entwürfe mittels YAML umsetzen könnt.</p>
<p>Eigentlich könnte man daraus ja eine kleine &#8220;Mitmach-Aktion&#8221; machen. Ich überlege mir mal etwas und werde dies dann ggf. in einem eigenen Artikel bekannt geben.</p>
<p></p>
<div id="serial-posts-wrapper">
<h3 class="serial-posts-heading"><span class="serial-pre-text">Artikelserie:</span>&nbsp;<span class="serial-name">Wordpress Theme mit YAML</span></h3>
<ul class="serial-posts">
<li class="serial-posts-list-item"><a href="http://www.blog-gedanken.de/webentwicklung/eigenes-wordpress-theme-mit-yaml-erstellen/" title="Eigenes Wordpress Theme mit YAML erstellen">Eigenes Wordpress Theme mit YAML erstellen</a></li>
<li class="serial-posts-list-item current-active"><a href="http://www.blog-gedanken.de/webentwicklung/eigenes-wordpress-theme-mit-yaml-erstellen-teil-2/" title="Eigenes Wordpress Theme mit YAML erstellen - Teil 2">Eigenes Wordpress Theme mit YAML erstellen - Teil 2</a></li>
<li class="serial-posts-list-item"><a href="http://www.blog-gedanken.de/webentwicklung/eigenes-wordpress-theme-mit-yaml-erstellen-teil-3/" title="Eigenes Wordpress Theme mit YAML erstellen - Teil 3">Eigenes Wordpress Theme mit YAML erstellen - Teil 3</a></li>
<li class="serial-posts-list-item"><a href="http://www.blog-gedanken.de/webentwicklung/eigenes-wordpress-theme-mit-yaml-erstellen-teil-4/" title="Eigenes Wordpress Theme mit YAML erstellen - Teil 4">Eigenes Wordpress Theme mit YAML erstellen - Teil 4</a></li>
<li class="serial-posts-list-item"><a href="http://www.blog-gedanken.de/webentwicklung/eigenes-wordpress-theme-mit-yaml-erstellen-teil-5/" title="Eigenes Wordpress Theme mit YAML erstellen - Teil 5">Eigenes Wordpress Theme mit YAML erstellen - Teil 5</a></li>
<li class="serial-posts-list-item"><a href="http://www.blog-gedanken.de/webentwicklung/eigenes-wordpress-theme-mit-yaml-erstellen-teil-6/" title="Eigenes Wordpress Theme mit YAML erstellen - Teil 6">Eigenes Wordpress Theme mit YAML erstellen - Teil 6</a></li>
</ul>
</div>

]]></content:encoded>
			<wfw:commentRss>http://www.blog-gedanken.de/webentwicklung/eigenes-wordpress-theme-mit-yaml-erstellen-teil-2/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Blog optimieren mit dem Blogseminar</title>
		<link>http://www.blog-gedanken.de/webentwicklung/blog-optimieren-mit-dem-blogseminar/</link>
		<comments>http://www.blog-gedanken.de/webentwicklung/blog-optimieren-mit-dem-blogseminar/#comments</comments>
		<pubDate>Tue, 19 Jan 2010 19:52:18 +0000</pubDate>
		<dc:creator>Gedanken Blogger</dc:creator>
				<category><![CDATA[Tutorials]]></category>
		<category><![CDATA[Webentwicklung]]></category>
		<category><![CDATA[Blog optimieren]]></category>
		<category><![CDATA[Blogaufbau]]></category>
		<category><![CDATA[Blogseminar]]></category>

		<guid isPermaLink="false">http://www.blog-gedanken.de/?p=3466</guid>
		<description><![CDATA[Als ich die letzten Tage ein wenig im Internet gesurft habe, bin ich auf ein interessantes Projekt auf dem Blog &#8220;Gedankendeponie&#8221; aufmerksam geworden. Konstantin hat hier ein Blogseminar-Projekt gestartet. Da ich gerade dabei bin, meinen Blog ein wenig zu modifizieren und zu optimieren kommt dieses Projekt wie gerufen. So bekomme ich vielleicht noch ein paar [...]]]></description>
			<content:encoded><![CDATA[<p>Als ich die letzten Tage ein wenig im Internet gesurft habe, bin ich auf ein interessantes Projekt auf dem Blog &#8220;<a href="http://www.gedankendeponie.net" target="_blank" class="liexternal">Gedankendeponie</a>&#8221; aufmerksam geworden. Konstantin hat hier ein <a href="http://www.gedankendeponie.net/blogseminar/trackback/" target="_blank" class="liexternal">Blogseminar-Projekt</a> gestartet.</p>
<p>Da ich gerade dabei bin, meinen Blog ein wenig zu modifizieren und zu optimieren kommt dieses Projekt wie gerufen. So bekomme ich vielleicht noch ein paar weitere Anhaltspunkte, wie ich meinen Blog verbessern kann.</p>
<p>Heute ist die 3. Aufgabe von Konstantin gestellt worden. Ziel des Projekt ist es, dass man sich intensiver mit seinem Blog beschäftigt und natürlich auch messbare Verbesserungen erzielt.</p>
<h3>Das Blogseminar</h3>
<p>Die Aufgaben, die in den jeweiligen Seminaren gestellt werden, sind unterschiedlich komplex und betreffen Themen wie SEO (Suchmaschinen Optimierung), Inhalt, Design und Optimierungen im Blog-Code.</p>
<p>Für die Aufgaben hat Konstantin immer eine bestimmte Zeit vorgegeben. Weiterhin bekommt man immer ein paar Hilfestellungen zur Lösung der Aufgaben. Neben der &#8220;normalen&#8221; Aufgabe gibt es dann noch eine Bonusaufgabe, die man optional bearbeiten kann.</p>
<p>Jeder, der an dem Projekt teilnimmt, sollte über die erledigten Aufgaben und die gemachten Erfahrungen berichten. Da ich erst jetzt mit in das Projekt einsteige, hänge ich noch ein wenig mit den Aufgaben.</p>
<p>Zum Teil hatte ich die Aufgabenstellungen aber schon umgesetzt oder ich hatte nur kleine Veränderungen zu übernehmen.</p>
<h3>
<div id="attachment_3472" class="wp-caption aligncenter" style="width: 535px"><a href="http://www.gedankendeponie.net" class="liimagelink"><img class="size-full wp-image-3472" title="Blogseminar von Gedankendeponie.net" src="http://www.blog-gedanken.de/wp-content/uploads/2010/01/blogseminar-1.png" alt="Blogseminar von Gedankendeponie.net" width="525" height="132" /></a><p class="wp-caption-text">Blogseminar von Gedankendeponie.net</p></div></h3>
<h3>Aufgabe 1</h3>
<p>Die <a href="http://www.gedankendeponie.net/2010/01/03/blogseminar-sitzung-01/trackback" target="_blank" class="liexternal">erste Aufgabe des Blogseminars</a> habe ich bereits nachgeholt. Es ging darum, die Meta-Description und Meta-Keywords zu definieren bzw. zu überprüfen. Beides war bereits in meinem Blog enthalten. Da ich das Plugin &#8220;<a href="http://wordpress.org/extend/plugins/platinum-seo-pack/" target="_blank" class="liwp">Platinum SEO</a>&#8221; einsetze, sind Veränderungen möglich, ohne dass ich dafür eine Template Datei ändern muss. Ich habe meine Beschreibung nur etwas geändert, damit sie schon auf die Neuausrichtung meines Blogs passt.</p>
<p>Die Bonusaufgabe bestand darin, mindestens 5 Kommentare auf anderen Blogs zu hinter lassen.</p>
<h3>Aufgabe 2</h3>
<p>Die <a href="http://www.gedankendeponie.net/2010/01/12/blogseminar-sitzung-02/trackback/" target="_blank" class="liexternal">zweite Aufgabe des Blogseminars</a> bestand darin, eine About-Seite (&#8220;Über mich&#8221;-Seite) zu erstellen, bzw. zu überarbeiten. Bei der Lösung dieser Aufgabe habe ich mit Entsetzen festgestellt, dass diese Seite auf meinem Blog komplett fehlt. Auf meinen beiden anderen Blogs gibt es diese Seite.</p>
<p>Da kann man mal sehen, wie &#8220;betriebsblind&#8221; man auf den eigenen Seiten sein kann. Es zeigt, wie gut es ist, wenn man ein paar Tipps von außerhalb bekommt. Nun habe ich einen ersten Entwurf meiner &#8220;Über mich&#8221;-Seite erstellt. Wahrscheinlich ist das aber eine Seite, die man immer wieder mal anpassen muss.</p>
<p>Die Bonusaufgabe bestand darin die RSS-Funktion zu erläutern und eine entsprechende Hilfe-Seite zu erstellen. Dies Idee finde ich so gut, dass ich daraus sogar eine ganze Artikelreihe machen möchte. Auch bei mir kommen viele Leser über Suchmaschinen. Viele davon wissen vielleicht gar nicht, was ein RSS-Feed ist und wie man ihn nutzen kann. Überhaupt gibt es wahrscheinlich viele Dinge, die in einem Blog auftauchen, womit nicht jeder sofort etwas anfangen kann.</p>
<h3>Aufgabe 3</h3>
<p>Die heutige <a href="http://www.gedankendeponie.net/2010/01/19/blogseminar-sitzung-03/trackback/" target="_blank" class="liexternal">Aufgabe des Blogseminars</a> besteht darin, die Kategorien seines Blogs zu überprüfen. Hierbei sollten nicht zu viel und nicht zu wenig verwendet werden und natürlich sollten sie aussagekräftig sein. Für die Aufgabe hat Konstantin 13 Tage veranschlagt.</p>
<p>In der Tat ist die Aufgabe nicht so ganz leicht. Eine Überprüfung bzw. Anpassung ist auf meinem Blog, auf Grund der Neuausrichtung, auf jeden Fall erforderlich.</p>
<p>Zuvor muss ich aber nochmal prüfen, was zusätzlich zu tun ist. Einfach Kategorien umbenennen kann zu ein paar Problemen führen. Da die Links zu Artikeln bei mir in Verbindung mit der Kategorie gebildet werden, gibt dies Probleme mit Suchmaschinen.</p>
<p>Dort werden noch eine ganze Weile die alten Links vorhanden sein. Klickt dann jemand ein Suchergebnis zu meinem Blog an, wird die Seite nicht mehr gefunden. Ich muss also dafür sorgen, dass der  alte Link mit der alten Kategorie nun auf den neuen Link umgeleitet wird.</p>
<p>Hierzu muss ich mich erst noch mal schlau machen, bevor ich meine Kategorien überarbeite.</p>
<p>Dafür habe ich die Bonusaufgabe bereits in den letzten Tagen umgesetzt. Hierbei geht es darum, seinen Blog über Social Networks zu &#8220;vermarkten&#8221;. Schon seit einer Weile wird jeder Artikel von mir über meinen <a href="http://twitter.com/GedankenBlogger" target="_blank" class="liexternal">Twitter Account</a> gezwitschert. Vor ein paar Tagen habe ich mir bereits eine <a href="http://www.facebook.com/pages/Meine-Blog-Gedanken/300318090920" target="_blank" class="liexternal">Fan-Seite bei Facebook</a> angelegt.</p>
<p>Also habe ich die aktuellen Aufgaben schon ganz gut nach gearbeitet. Wenn ich das Problem mit den Kategorien gelöst habe, werde ich auch nochmals darüber berichten. Dürfte evtl. noch mehr Blogger interessieren. Vielleicht hat jemand auch einen Tipp für mich (muss wahrscheinlich über htaccess oder ein Plugin gelöst werden).</p>
<p>Ich bin gespannt, wie es weiter geht und wie dieses Blogseminar meinem Blog hilft.</p>
<p><a href='http://www1.belboon.de/adtracking/02bd4208087601db950004da.html' target='_blank'><img src='http://www1.belboon.de/adtracking/02bd4208087601db950004da.img' border='0' width='468' height='60' alt='' /></a>
]]></content:encoded>
			<wfw:commentRss>http://www.blog-gedanken.de/webentwicklung/blog-optimieren-mit-dem-blogseminar/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Eigenes WordPress Theme mit YAML erstellen</title>
		<link>http://www.blog-gedanken.de/webentwicklung/eigenes-wordpress-theme-mit-yaml-erstellen/</link>
		<comments>http://www.blog-gedanken.de/webentwicklung/eigenes-wordpress-theme-mit-yaml-erstellen/#comments</comments>
		<pubDate>Wed, 13 Jan 2010 11:00:12 +0000</pubDate>
		<dc:creator>Gedanken Blogger</dc:creator>
				<category><![CDATA[Tutorials]]></category>
		<category><![CDATA[Webentwicklung]]></category>
		<category><![CDATA[CSS]]></category>
		<category><![CDATA[Mockup]]></category>
		<category><![CDATA[Template]]></category>
		<category><![CDATA[Wordpress Theme]]></category>
		<category><![CDATA[YAML]]></category>

		<guid isPermaLink="false">http://www.blog-gedanken.de/?p=3321</guid>
		<description><![CDATA[Wie bereits angekündigt möchte ich die Umgestaltung meines Golfblogs mit einer kleinen Artikelserie begleiten. Ich werde versuchen, jeden einzelnen Schritt in loser Reihenfolge zu kommentieren. Ziel ist es, zu beschreiben, wie man an ein neues Layout für einen Blog gelangt und dabei das CSS Framework YAML nutzt. In der Regel beginnt dies damit, sich Gedanken [...]]]></description>
			<content:encoded><![CDATA[<p>Wie bereits angekündigt möchte ich die Umgestaltung meines Golfblogs mit einer kleinen Artikelserie begleiten. Ich werde versuchen, jeden einzelnen Schritt in loser Reihenfolge zu kommentieren. Ziel ist es, zu beschreiben, wie man an ein neues Layout für einen Blog gelangt und dabei das CSS Framework <a href="http://www.yaml.de/" target="_blank" class="liexternal">YAML </a>nutzt.</p>
<p>In der Regel beginnt dies damit, sich Gedanken zu machen, wie der Blog gestaltet werden soll. Welches Grundlayout möchte man verwenden, welche Informationen sollen dargestellt und wie sollen diese Informationen angeordnet werden. Ein Thema, mit dem ich mich persönlich immer besonders schwer tue, betrifft dann die Farbgestaltung des Blogs. Schließlich geht es dann an die Umsetzung eines konkreten WordPress Themes und die Integration von WordPress Plugins und weiteren Funktionen.</p>
<p>Da ich ein großer Fan des CSS Framework &#8220;YAML&#8221; bin, werde ich dieses Framework als Basis für die Entwicklung des WordPress Themes nutzen. Für eine erste Skizze meines Layouts habe ich mir diverse Mockup-Tools angesehen und mich entschieden, dass Programm &#8220;<a href="http://www.balsamiq.com/" target="_blank" class="liexternal">Balsamiq</a>&#8221; zu verwenden. Diese Tools dienen dazu, eine erste Anordnung von Seitenelementen zu skizzieren und ersetzen quasi die erste Zeichnung mit Papier und Bleistift.</p>
<p>In der Artikelreihe werde ich in erster Linie auf die Nutzung von YAML und die Erläuterung der Theme Entwicklung mit WordPress eingehen. An Hand des praktischen Beispiel meines Golfblogs werde ich schrittweise erläutern, wie ich die einzelnen Komponenten umgesetzt habe.</p>
<p>Die Artikelserie soll kein ausführlicher Workshop zu den Themen YAML und WordPress Themes werden. Dafür sind diese Themen einfach zu komplex. Ziel soll es aber schon sein, dass man mit Hilfe meiner Artikelreihe in die Lage versetzt wird, ein eigenes WordPress Theme zu erstellen. Idealerweise hat man bereits Erfahrungen mit der Webentwicklung und kennt sich ein wenig mit CSS aus.</p>
<p>Da ich versuche, die Artikel parallel zu den tatsächlichen Umstellungsaktivitäten zu erstellen, wird es keine festen Zeiträume geben, wann ein neuer Artikel zu der Serie erscheinen wird. Auch die genauen Inhalte von jedem Artikel stehen daher noch nicht fest. Als kleine Einleitung werde ich nun noch kurz YAML und WordPress Themes ein wenig erläutern.</p>
<h3>Was ist YAML ?</h3>
<div class="float_right werbehinweis">[Anzeige]</div>
<p>Die Basis des heutigen <strong>YAML</strong> in der aktuellen Version 3.2.1 wurde von Dirk Jesse im März 2005 entwickelt. YAML steht für &#8220;<strong>Y</strong>et <strong>A</strong>nother <strong>M</strong>ulticolumn <strong>L</strong>ayout&#8221;. Dirk Jesse beschreibt YAML auf seiner Webseite wie folgt:</p>
<blockquote><p>YAML ist ein (X)HTML/CSS Framework zur Erstellung moderner, flexibler Layouts auf Grundlage von <em>float</em>-Umgebungen. Dabei stehen ein Höchstmaß an Flexibilität für den Webdesigner und Zugänglichkeit für die Nutzer im Vordergrund.</p>
<ul class="icon">
<li>Basierend auf Webstandards</li>
<li>Ausgerichtet auf zugängliche Webseiten</li>
<li>Robustes, flexibles Layoutkonzept</li>
<li>Modularer Aufbau, anwenderorienterte Funktionaliät</li>
<li>Umfassende, mehrsprachige Dokumentation</li>
</ul>
</blockquote>
<p>Seit einiger Zeit existiert zu diesem <strong>Framework</strong>, welches im Prinzip aus diversen CSS-Dateien besteht, auch ein Generator zur Erzeugung von Basislayouts und dem entsprechenden Source Code in Form von HTML- und CSS-Dateien. Wer etwas tiefer in YAML einsteigen möchte, dem kann ich auch das ausgezeichnete Buch &#8220;CSS-Layouts &#8211; Praxislösungen mit YAML&#8221; sehr empfehlen.</p>
<h3>Was ist ein WordPress Theme ?</h3>
<p>Damit die Fragen zu Beginn alle geklärt sind, kommen nun noch ein paar kurze Infos zu <strong>WordPress Themes</strong>. Als Theme wird in WordPress quasi das gesamte Layout bezeichnet, in der der Blog dargestellt wird. Hierzu gehören die verwendeten CSS-Dateien sowie alle <strong>Template</strong> Dateien. Womit wir auch gleich beim nächsten Begriff sind.</p>
<p>Beide schmeißt man gerne mal durcheinander. Ein <strong>Template</strong> ist ein Ausschnitt bzw. eine Komponente eines <strong>Themes</strong> und bildet das Musteraussehen eines bestimmten Bereichs. Jedes WordPress Theme hat mindestens zwei Dateien. Die Datei &#8220;<strong>style.css</strong>&#8221; und die Template-Datei &#8220;<strong>index.php</strong>&#8220;. In der Datei &#8220;style.css&#8221; sind alle CSS-Formatierungen untergebracht und in der &#8220;index.php&#8221; wird das Layout der Seite beschrieben.</p>
<p>Normalerweise gibt es aber noch mehr Template Dateien. So werden mindestens die Templates &#8220;header.php&#8221;, &#8220;footer.php&#8221; und &#8220;sidebar.php&#8221; verwendet. Aber auch &#8220;post.php&#8221; oder &#8220;comment.php&#8221; sind häufig zu finden. Ich denke, die Namen der Dateien sagen genug aus, wofür die jeweiligen Template-Dateien zuständig sind. In den folgenden Teilen der Serie gehe noch etwas detaillierter auf die Strukturierung von WordPress Themes ein.</p>
<p>Eine besondere Rolle spielt auch noch die Datei &#8220;functions.php&#8221;. Hier werden die Theme spezifischen Funktionen hinterlegt. So ist hier zum Beispiel häufig der Funktionsaufruf zur Definition der <strong>Sidebar</strong> als <em>widgetable</em> zu finden.</p>
<p>Weitere wichtige Komponenten eine WordPress Themes sind die sogenannten <strong>Template Tags</strong>. Sie dienen dazu, dynamische Informationen eines Blogs anzuzeigen. Mit dem Template Tag &#8220;the_title&#8221; wird zum Beispiel der Titel eines Blogartikels ausgegeben. Über Parameter kann die Ausgabe der jeweiligen Infos noch gesteuert werden. Eine Übersicht über alle <a href="http://codex.wordpress.org/Template_Tags" target="_blank" class="liwp">Template Tags von WordPress</a> findet man u.a. auf den <a href="http://codex.wordpress.org" target="_blank" class="liwp">CODEX Seiten von WordPress</a>. Auf diesen Seiten findet man auch umfangreiche Infos zu Erstellung bzw. Verwendung von Themes.</p>
<p>Im nächsten Artikel dieses Tutorials geht es dann los mit den ersten Ideen zur Gestaltung des Golfblogs und der Verwendung des Mockup Tools &#8220;<a href="http://www.balsamiq.com/" target="_blank" class="liexternal">Balsamiq</a>&#8220;.</p>
<p><a href='http://www1.belboon.de/adtracking/02bd4208087601db950004da.html' target='_blank'><img src='http://www1.belboon.de/adtracking/02bd4208087601db950004da.img' border='0' width='468' height='60' alt='' /></a></p>
<div id="serial-posts-wrapper">
<h3 class="serial-posts-heading"><span class="serial-pre-text">Artikelserie:</span>&nbsp;<span class="serial-name">Wordpress Theme mit YAML</span></h3>
<ul class="serial-posts">
<li class="serial-posts-list-item current-active"><a href="http://www.blog-gedanken.de/webentwicklung/eigenes-wordpress-theme-mit-yaml-erstellen/" title="Eigenes Wordpress Theme mit YAML erstellen">Eigenes Wordpress Theme mit YAML erstellen</a></li>
<li class="serial-posts-list-item"><a href="http://www.blog-gedanken.de/webentwicklung/eigenes-wordpress-theme-mit-yaml-erstellen-teil-2/" title="Eigenes Wordpress Theme mit YAML erstellen - Teil 2">Eigenes Wordpress Theme mit YAML erstellen - Teil 2</a></li>
<li class="serial-posts-list-item"><a href="http://www.blog-gedanken.de/webentwicklung/eigenes-wordpress-theme-mit-yaml-erstellen-teil-3/" title="Eigenes Wordpress Theme mit YAML erstellen - Teil 3">Eigenes Wordpress Theme mit YAML erstellen - Teil 3</a></li>
<li class="serial-posts-list-item"><a href="http://www.blog-gedanken.de/webentwicklung/eigenes-wordpress-theme-mit-yaml-erstellen-teil-4/" title="Eigenes Wordpress Theme mit YAML erstellen - Teil 4">Eigenes Wordpress Theme mit YAML erstellen - Teil 4</a></li>
<li class="serial-posts-list-item"><a href="http://www.blog-gedanken.de/webentwicklung/eigenes-wordpress-theme-mit-yaml-erstellen-teil-5/" title="Eigenes Wordpress Theme mit YAML erstellen - Teil 5">Eigenes Wordpress Theme mit YAML erstellen - Teil 5</a></li>
<li class="serial-posts-list-item"><a href="http://www.blog-gedanken.de/webentwicklung/eigenes-wordpress-theme-mit-yaml-erstellen-teil-6/" title="Eigenes Wordpress Theme mit YAML erstellen - Teil 6">Eigenes Wordpress Theme mit YAML erstellen - Teil 6</a></li>
</ul>
</div>

]]></content:encoded>
			<wfw:commentRss>http://www.blog-gedanken.de/webentwicklung/eigenes-wordpress-theme-mit-yaml-erstellen/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>WordPress Theme mit YAML erstellen &#8211; Teil 1</title>
		<link>http://www.blog-gedanken.de/tutorials/wordpress-theme-mit-yaml-erstellen-teil-1/</link>
		<comments>http://www.blog-gedanken.de/tutorials/wordpress-theme-mit-yaml-erstellen-teil-1/#comments</comments>
		<pubDate>Fri, 27 Feb 2009 20:18:24 +0000</pubDate>
		<dc:creator>Gedanken Blogger</dc:creator>
				<category><![CDATA[Tutorials]]></category>
		<category><![CDATA[Theme]]></category>
		<category><![CDATA[Tutorial]]></category>
		<category><![CDATA[Wordpress]]></category>
		<category><![CDATA[YAML]]></category>

		<guid isPermaLink="false">http://www.blog-gedanken.de/?p=734</guid>
		<description><![CDATA[Heute starte ich nun mit dem versprochenen Tutorial &#8220;WordPress Theme mit YAML&#8221; erstellen. Ursprünglich hatte ich ja vor, das Tutorial an Hand meines eigenen Themes durchzuführen. Nun habe ich mich aber entschieden, zunächst ein allgemeines Tutorial zu erstellen und auf spezielle Layoutanpassungen gesondert einzugehen. Weiterhin habe ich mich gefragt, wie ich die Serie starte. Soll [...]]]></description>
			<content:encoded><![CDATA[<p>Heute starte ich nun mit dem versprochenen <strong>Tutorial</strong> &#8220;<strong>WordPress Theme mit YAML</strong>&#8221; erstellen. Ursprünglich hatte ich ja vor, das Tutorial an Hand meines eigenen <strong>Themes</strong> durchzuführen. Nun habe ich mich aber entschieden, zunächst ein allgemeines <strong>Tutorial</strong> zu erstellen und auf spezielle <strong>Layoutanpassungen</strong> gesondert einzugehen. Weiterhin habe ich mich gefragt, wie ich die Serie starte. Soll ich erst etwas zur allgemeinen Theme-Erstellung in WordPress schreiben oder setze ich diese Kentnisse voraus ? Genauso bei <strong>YAML</strong>, wie detailliert sollte ich darauf eingehen?</p>
<p>Da wahrscheinlich jeder, der sich für die Erstellung von WordPress Themes interessiert, bereits erste Erfahrungen gesammelt und weil YAML nicht in drei Sätzen zu beschreiben ist und es eine sehr ausführliche Dokumentation gibt, verzichte ich auf eine einleitende detaillierte Erläuterung beider Themen.</p>
<p>Ich werde versuchen, an den Stellen, wo man etwas tiefer in die Thematik einsteigen muss, entsprechende Erläuterungen zu geben. Diese Vorgehensweise hat auch einen netten Nebeneffekt. So hoffe ich, dass ich mit dem Tutorial schnelle Ergebnisse erziele, die man möglichst nach jedem Serienteil selbst testen kann. Bei einer längeren Einleitung würde es wahrscheinlich drei bis vier Teile dauern, bis endlich ein erstes Theme-Gerüst entstanden ist.</p>
<p>Wollen wir also beginnen.</p>
<h3>Was ist YAML ?</h3>
<p>Ein paar Worte muss ich natürlich über <strong>YAML</strong> verlieren. Die Basis des heutigen <strong>YAML</strong> in der aktuellen Version 3.1 wurde von Dirk Jesse im März 2005 entwickelt. YAML steht für &#8220;<strong>Y</strong>et <strong>A</strong>nother <strong>M</strong>ulticolumn <strong>L</strong>ayout&#8221;. Dirk Jesse beschreibt YAML auf seiner Webseite wie folgt:</p>
<blockquote><p>YAML ist ein (X)HTML/CSS Framework zur Erstellung moderner, flexibler Layouts auf Grundlage von <em>float</em>-Umgebungen. Dabei stehen ein Höchstmaß an Flexibilität für den Webdesigner und Zugänglichkeit für die Nutzer im Vordergrund.</p>
<ul class="icon">
<li>Basierend auf Webstandards</li>
<li>Ausgerichtet auf zugängliche Webseiten</li>
<li>Robustes, flexibles Layoutkonzept</li>
<li>Modularer Aufbau, anwenderorienterte Funktionaliät</li>
<li>Umfassende, mehrsprachige Dokumentation</li>
</ul>
</blockquote>
<div class="float_right werbehinweis">[Anzeige]<br/><br />
<iframe src="http://rcm-de.amazon.de/e/cm?t=meibloged-21&#038;o=3&#038;p=8&#038;l=as1&#038;asins=3836211351&#038;md=1M6ABJKN5YT3337HVA02&#038;fc1=000000&#038;IS2=1&#038;lt1=_blank&#038;m=amazon&#038;lc1=0000FF&#038;bc1=000000&#038;bg1=FFFFFF&#038;f=ifr" style="width:120px;height:240px;" scrolling="no" marginwidth="0" marginheight="0" frameborder="0"></iframe></div>
<p>Seit einiger Zeit existiert zu diesem <strong>Framework</strong>, welches im Prinzip aus diversen CSS-Dateien besteht, auch ein Generator zur Erzeugung von Basislayouts und dem entsprechenden Source Code in Form von HTML- und CSS-Dateien. Wer etwas tiefer in YAML einsteigen möchte, dem kann ich auch das ausgezeichnete Buch &#8220;CSS-Layouts &#8211; Praxislösungen mit YAML&#8221; sehr empfehlen.</p>
<h3>Was ist ein WordPress Theme ?</h3>
<p>Damit die Fragen zu Beginn alle geklärt sind, kommen nun noch ein paar kurze Infos zu <strong>WordPress Themes</strong>. Als Theme wird in WordPress quasi das gesamte Layout bezeichnet, in der der Blog dargestellt wird. Hierzu gehören die verwendeten CSS-Dateien sowie alle <strong>Template</strong> Dateien. Womit wir auch gleich beim nächsten Begriff sind.</p>
<p>Beide schmeißt man gerne mal durcheinander. Ein <strong>Template</strong> ist ein Ausschnitt bzw. eine Komponente eines <strong>Themes</strong> und bildet das Musteraussehen eines bestimmten Bereichs. Jedes WordPress Theme hat mindestens zwei Dateien. Die Datei &#8220;<strong>style.css</strong>&#8221; und die Template-Datei &#8220;<strong>index.php</strong>&#8220;. In der Datei &#8220;style.css&#8221; sind alle CSS-Formatierungen untergebracht und in der &#8220;index.php&#8221; wird das Layout der Seite beschrieben.</p>
<p>Normalerweise gibt es aber noch mehr Template Dateien. So werden mindestens die Templates &#8220;header.php&#8221;, &#8220;footer.php&#8221; und &#8220;sidebar.php&#8221; verwendet. Aber auch &#8220;post.php&#8221; oder &#8220;comment.php&#8221; sind häufig zu finden. Ich denke, die Namen der Dateien sagen genug aus, wofür die jeweiligen Template-Dateien zuständig sind. Im nächsten Teil der Serie gehe noch etwas detaillierter auf die Strukturierung von WordPress Themes ein.</p>
<p>Eine besondere Rolle spielt auch noch die Datei &#8220;functions.php&#8221;. Hier werden die Theme spezifischen Funktionen hinterlegt. So ist hier zum Beispiel der Funktionsaufruf zur Definition der <strong>Sidebar</strong> als <em>widgetable</em> zu finden.</p>
<p>So, für den Start sollten die Erläuterungen zunächst genügen. Kommen wir nun zu der <strong>Vorbereitung</strong> unserer <strong>Umgebung</strong>, damit wir das Theme direkt in WordPress ausprobieren und weiterentwickeln können.</p>
<h3>Vorbereitung der Theme-Entwicklungsumgebung</h3>
<p><a href="http://www.blog-gedanken.de/wp-content/uploads/2009/02/tutorial_theme_pic0011.jpg" class="liimagelink" rel="lightbox[734]"><img class="alignright size-full wp-image-738" title="Tutorial Theme Erstellung - Theme Verzeichnis anlegen" src="http://www.blog-gedanken.de/wp-content/uploads/2009/02/tutorial_theme_pic0011.jpg" alt="Tutorial Theme Erstellung - Theme Verzeichnis anlegen" width="220" height="261" /></a></p>
<h4>Theme-Verzeichnis anlegen</h4>
<p>Eifrige Leser meines Blogs werden sich hoffentlich an meinen Artikel &#8220;<a href="http://www.blog-gedanken.de/webentwicklung/wordpress-testversion-auf-usb-stick-installieren/" class="liinternal">WordPress Testversion auf USB-Stick installieren</a>&#8221; erinnern. Nun ist die Zeit gekommen, dass wir diese Installation benötigen. Natürlich muss man WordPress nicht auf dem USB Stick nutzen. Eine lokale Installation entsprechend der Anleitung geht natürlich auch.</p>
<p>Zuerst erstellen wir uns einen neuen Theme-Ordner &#8220;<strong>ThemeTutorial</strong>&#8221; (oder wie immer ihr ihn nennen wollt). Dieser Ordner gehört in das Verzeichnis &#8220;?:/xampplite/htdocs/<em>testblog</em>/wp-content/themes&#8221;. Wobei das &#8220;?&#8221; für euren Laufwerksbuchstaben steht und &#8220;testblog&#8221; für euer WordPress Verzeichnis steht. Rechts im Bild ist die Verzeichnisstruktur zu sehen.</p>
<p>Nun haben wir ein <strong>Entwicklungsverzeichnis</strong> angelegt, welches genau dem Platz entspricht, wo normalerweise die fertigen Themes hin gehören. Aber Vorsicht ! So lange wir noch keine Dateien mit sinnvollem Inhalt in dem Template Verzeichnis haben, sollte man in WordPress nicht auf dieses Theme umschalten. &#8211; Man sieht nämlich nur einen leeren Browser und kann sich somit auch nicht mehr in die Admin-Oberfläche einloggen.</p>
<p>Allerdings funktioniert ein Umschalten erst, wenn alle Basisdateien vorhanden sind. Wer es trotzdem nicht sein lassen kann, hier die URL für das Admin-Login &#8220;http://localhost/<em>testblog</em>/wp-admin/&#8221;.</p>
<h4>Installation der YAML Dateien</h4>
<p>Nun benötigen wir noch die <strong>YAML-Dateien</strong>. Diese können wir natürlich auf der Internetseite von YAML direkt <a href="http://www.yaml.de/fileadmin/download/release_31/yaml_31_090120.zip" class="lizip">herunterladen</a>. Hier sollte man sich auch die <a href="http://www.yaml.de/fileadmin/download/release_31/ydoc_31_de_090120.zip" class="lizip">Dokumentation</a> besorgen.</p>
<p>Ein Wort noch zu den <strong>Lizenzbestimmungen</strong> von YAML. Das Framework ist unter der <span class="external-link-new-window"><a href="http://creativecommons.org/licenses/by/2.0/de/" target="_blank" class="liexternal">Creative Commons Attribution 2.0 Lizenz (CC-A 2.0)</a> veröffentlicht. Somit ist das Framework sowohl <em>kommerziell</em> als auch <em>nicht-kommerziell</em> einsetzbar. Einzige Bedingung ist die Verlinkung auf &#8220;www.yaml.de&#8221;. </span></p>
<p><span class="external-link-new-window">Auch das Theme, welches im Rahmen dieses Tutorials entsteht und welches ich als Download anbieten werde, entspricht somit dieser Lizenz. Bei Verwendung des Themes muss auch ein Link auf meinen Blog gesetzt werden.</span></p>
<p><span class="external-link-new-window">Nach dem Herunterladen von <strong>YAML</strong> sollte das ZIP-File erstmal entpackt werden. Hier sind einige Dateien zu finden, die wir im Moment nicht benötigen. Der wichtigste Ordner ist &#8220;yaml&#8221;, den wir nun auch in unser Theme-Verzeichnis kopieren. </span></p>
<p><span class="external-link-new-window">Während unseres Tutorials werden wir Dateien in diesem Verzeichnis nicht verändern. Wenn eine neue YAML Version erscheint, kann man das entsprechende Verzeichnis einfach mit der neuen Version überschreiben, ohne dass eigene Änderungen davon betroffen sind. Also &#8220;Finger weg&#8221; von diesem Ordner.</span></p>
<p><span class="external-link-new-window">Die eigentliche Vorbereitung ist damit abgeschlossen. Nun können wir uns an die Erstellung des Themes begeben. Ich hoffe, es nicht bereits zu viel für den ersten Teil ? Aber wir wollen doch möglichst ein erstes Ergebnis haben &#8211; oder ?</span></p>
<h3><span class="external-link-new-window">Das Layout</span></h3>
<h4>Fragen zum Layout</h4>
<p><span class="external-link-new-window">Die wichtigste Frage, die wir uns nun stellen müssen, ist die des <strong>Basis Layouts</strong>. Soll es ein Zweispalter werden, die Sidebar links oder rechts. Soll die Sidebar evtl. geteilt werden ? Mit diesen und weiteren Fragen beginnt in der Regel ein <strong>Theme-Projekt</strong>. </span></p>
<p><span class="external-link-new-window">Da wir ja heute jedoch nur ein erstes einfaches Theme testen wollen, werde ich mich zunächst auf ein möglichst simples Beispiel Theme beschränken. Dieses soll auch nur dazu dienen, ein erstes Theme zu haben, mit dem man vielleicht schon ein wenig herumspielen kann.</span></p>
<h4>Euer Wunschlayout</h4>
<p><span class="external-link-new-window">In die Erstellung des eigentlichen Themes würde ich euch gerne mit einbinden. Interessiert euch die Erstellung eines bestimmten Layouts (möglichst nicht zu kompliziert). Oder hat jemand eine Vorstellung von einem Layout, welches er einmal für seinen Blog umsetzen wollte?</span></p>
<p><span class="external-link-new-window">Sendet mir eure Vorschläge einfach per Mail oder besser noch, beschreibt sie als Kommentare. Dann haben alle etwas davon und vielleicht entsteht so ein gemeinsames &#8220;Wunschlayout&#8221;. Ich versuche dann ein geeignetes Layout aus den Vorstellungen zu entwickeln, welches ich in den nächsten Teilen nutzen werde.</span></p>
<h4>Ein simples Mini Layout</h4>
<p><span class="external-link-new-window">Also das heutige Layout wird zunächst komplett ohne Spalten auskommen und dient nur dazu, die Artikel anzuzeigen. Wir verzichten auch auf Header, Footer und die Navigationsleiste. </span></p>
<p><span class="external-link-new-window">Damit wir auch den Generator von YAML kennen lernen, werden wir zur Erstellung der beenötigten Dateien den &#8220;<a href="http://builder.yaml.de/" target="_blank" class="liexternal">YAML Builder</a>&#8221; verwenden. Dieser stellt sich nach dem Aufruf wie folgt dar:</span></p>
<p><span class="external-link-new-window"><a href="http://www.blog-gedanken.de/wp-content/uploads/2009/02/tutorial_theme_pic002.jpg" class="liimagelink" rel="lightbox[734]"><img class="aligncenter size-medium wp-image-739" title="Screenshot vom YAML Builder" src="http://www.blog-gedanken.de/wp-content/uploads/2009/02/tutorial_theme_pic002-300x130.jpg" alt="Screenshot vom YAML Builder" width="300" height="130" /></a></span></p>
<p><span class="external-link-new-window">Für unser Layout nehmen wir nun folgende Einstellungen vor:</span></p>
<ul>
<li><span class="external-link-new-window">Reiter &#8220;Basics&#8221;: Layout Preset auf &#8220;Freestyle&#8221; einstellen</span></li>
<li><span class="external-link-new-window">Reiter &#8220;Extended&#8221;: Optional Layout Elements: &#8220;header&#8221;, &#8220;footer&#8221; und &#8220;nav&#8221; ausschalten</span></li>
</ul>
<p>Das Ergebnis sieht wie folgt aus:</p>
<p><a href="http://www.blog-gedanken.de/wp-content/uploads/2009/02/tutorial_theme_pic003.jpg" class="liimagelink" rel="lightbox[734]"><img class="aligncenter size-medium wp-image-740" title="YAML Builder - Einfaches Layout" src="http://www.blog-gedanken.de/wp-content/uploads/2009/02/tutorial_theme_pic003-300x200.jpg" alt="YAML Builder - Einfaches Layout" width="300" height="200" /></a></p>
<p><span class="external-link-new-window">Jetzt können wir uns den Code mit dem Button &#8220;Get Code&#8221; besorgen. Zunächst kopieren wir uns den XHTML-Code (hierzu auf &#8220;views plan text&#8221; gehen). Den HTML-Code fügen wir in eine leere Datei ein und speichern diese unter dem Namen &#8220;index.php&#8221; in unser Theme Verzeichnis. </span></p>
<p><span class="external-link-new-window">Wir erinnern uns, mindestens diese Template-Datei brauchen wir für ein WordPress <a href="http://www.blog-gedanken.de/wp-content/uploads/2009/02/tutorial_theme_pic004.jpg" class="liimagelink" rel="lightbox[734]"><img class="alignright size-full wp-image-741" title="Tutorial Theme Erstellung - Die Basisdateien" src="http://www.blog-gedanken.de/wp-content/uploads/2009/02/tutorial_theme_pic004.jpg" alt="Tutorial Theme Erstellung - Die Basisdateien" width="172" height="104" /></a>Theme. Gleiches machen wir nun mit der CSS-Datei aus dem <strong>YAML-Builder</strong>. Den  Code in eine neue Datei kopieren und unter dem Namen &#8220;style.css&#8221; in das Theme Verzeichnis speichern (dies war die andere wichtige Datei). Nun noch genauso mit den beiden Dateien &#8220;basemod.css&#8221; und &#8220;patch_my_layout.css&#8221; verfahren. Diese Dateien nennen wir genauso, wie der YAML Builder dies vorgegeben hat. Die Datei &#8220;basemod.css&#8221; enthält die CSS-Tags, die für die Seiten Struktur benötigt werden. Die Datei &#8220;patch_my_layouts.css&#8221; enthält spezielle Hacks, damit das Layout insbesondere auch in älteren Microsoft Browsern läuft.</span></p>
<p><span class="external-link-new-window">Unser Theme Verzeichnis sollte nun aussehen, wie rechts abgebildet.</span></p>
<h3><span class="external-link-new-window">Das erste Basis Theme<br />
</span></h3>
<p>Einmal tief Luft holen, wir nähern uns dem heutigen Ziel. Nachdem nun alle Dateien vorliegen, die wir für ein erstes einfaches Theme benötigen, müssen wir nun noch ein wenig <strong>WordPress Code</strong> einfügen. Denn irgendwie müssen die Artikel auch angezeigt werden.</p>
<h4>Die Datei style.css</h4>
<p>Wie bereits mehrfach erwähnt, wird die Datei &#8220;style.css&#8221; in jedem WordPress Theme benötigt. Aus dieser Datei liest WordPress auch die Beschreibung aus, die im Theme-Bereich angezeigt wird. Damit der Code in unserer Datei &#8220;style.css&#8221; für unsere Verzeichnisstruktur richtig funktioniert, müssen wir noch ein paar Änderungen vornehmen.</p>
<p>Zunächst können wir die &#8220;Import&#8221;-Zeile für das Drucklayout löschen. Die benötigen wir nicht. Auch die Zeile mit dem Import der Datei &#8220;content.css&#8221; können wir löschen. Nun ersetzen wir noch die Zeichen &#8220;..&#8221; durch &#8220;core&#8221; in der Zeile für den Import der &#8220;base.css&#8221;. Schliesslich soll ja die richtige Datei aus dem &#8220;core&#8221;-Verzeichnis geladen werden. In der Zeile für den Import der Datei &#8220;basemod.css&#8221; entfernen wir einfach den Pfad, da die Datei &#8220;basemod.css&#8221; im gleichen Verzeichnis liegt, wie die Datei &#8220;style.css&#8221;. Nun sollte die Datei &#8220;style.css&#8221; wie folgt aussehen:<br />
<code>/* import core styles | Basis-Stylesheets einbinden */<br />
@import url(yaml/core/base.css);<br />
/* import screen layout | Screen-Layout einbinden */<br />
@import url(basemod.css);</code></p>
<p>Wo wir gerade dabei sind, die Pfade richtig zu setzen, sollten wir das auch in der Datei &#8220;patch_my_layout.css&#8221; machen. Hier muss in der Zeile mit dem Import alles bis zu &#8220;yaml&#8221; entfernt werden. Die Zeile sollte dann so aussehen: &#8220;@import url(yaml/core/iehacks.css);&#8221;</p>
<h3>WordPress Template Tags</h3>
<h4>Vorbereitung der Datei index.php</h4>
<p>Nun kommen wir langsam dazu, die Funktionen zur Anzeige von Artikeln in unser Basis Template einzubauen. Normalerweise strukturiert man das Theme in mehrere Template Dateien, wie oben bereits erwähnt. Wir belassen es aber heute bei einer Datei (index.php), da ich nur das Grundprinzip darstellen will und eine erste Anzeige von Artikeln umgesetzt werden soll.</p>
<p>Damit Daten in einem Theme angezeigt werden, benötigt man unter anderem die <strong>Template Tags</strong> von WordPress. Hierbei handelt es sich quasi um &#8220;Funktionen&#8221;, die Daten z.B. aus der Datenbank ermitteln und die Werte im Template an der Stelle positionieren, wo das Tag zu finden ist. Bei Template Tags können auch Parameter übergeben werden. Der Aufruf erfolgt quasi als php-Code.</p>
<p>Gehen wir also nun in unsere Datei &#8220;index.php&#8221; und schauen uns diese etwas genauer an. Neben allgemeinen Header-Definitionen für eine XHTML-Seite finden wir hier auch zwei Zeilen, die unsere Stylesheet Dateien einbinden. Hier müssen wir wieder Hand anlegen, da natürlich nicht die richtien Verzeichnisse angesprochen werden. Die erste &#8220;&lt;link&gt;&#8221;-Zeile soll unsere Datei &#8220;style.css&#8221; einbinden. Hierzu ersetzen wir diese Zeile durch folgende Zeile<br />
<code>&lt;link href="&lt;?php bloginfo('stylesheet_url'); ?&gt;" rel="stylesheet" type="text/css"/&gt;</code><br />
Dann kommt noch eine Zeile, die nur zum Tragen kommt, wenn ein Explorer vor Version 7 verwendet wird. Die Zeile ersetzen wir durch folgende Zeile:<br />
<code>&lt;link href="&lt;?php bloginfo('stylesheet_directory');?&gt;/patch_my_layout.css" rel="stylesheet" type="text/css" /&gt;</code></p>
<h4>Einbau der &#8220;Artikel&#8221;-Loop</h4>
<p>Nun kommen wir zur Defnition der eigentlichen Seitenstruktur. In diesem Teil möchte ich noch nicht näher darauf eingehen. Wir kämpfen uns vor bis zum Eintrag &#8220;&lt;div id=&#8221;main&#8221;&gt;&#8221;. Dies div-Container umschliesst den Hauptbereich der Seite, in dem der eigentliche Inhalt platziert werden solltee.</p>
<p>An dieser Stelle fügen wir nun die sogenannte &#8220;<strong>Loop</strong>&#8221; von WordPress ein. Hierbei handelt es sich um die Schleifenanweisung mit den Tags zur Darstellung aller Artikel. Diese &#8220;Loop&#8221; ist daher in jedem WordPress Theme zu finden. Dieser Code sollte danach in an der entsprechenden Stelle stehen</p>
<p><code>&lt;div id="main"&gt;<br />
&lt;?php if (have_posts()) : while (have_posts()) : the_post(); ?&gt;<br />
&lt;?php the_date('','&lt;h2&gt;','&lt;/h2&gt;'); ?&gt;<br />
&lt;h3&gt;&lt;a href="&lt;?php the_permalink() ?&gt;"&gt;&lt;?php the_title(); ?&gt;&lt;/a&gt;&lt;/h3&gt;<br />
&lt;?php the_content(); ?&gt;<br />
&lt;?php endwhile; ?&gt;<br />
&lt;?php endif; ?&gt;<br />
&lt;/div&gt;</code></p>
<p>In dieser &#8220;Loop&#8221; geben wir nun alle Artikel aus. Zu jedem Artikel wird das Datum mit dem Tag &#8220;the_date&#8221; asugegeben. Mit dem Tag &#8220;the_permalink&#8221; wird die URL zum Artikel ausgegeben. Der Titel eines Artikels wird dem Tag &#8220;the_title&#8221; ausgegeben. Schließlich wird noch mit dem Tag &#8220;the_content&#8221; der eigentliche Inhalt dess jeweilgen Artikels ausgegeben. Nähere Erläuterungen zu den Tags im nächsten Teil.</p>
<p>Bevor wir nun das Theme erstmals testen sollten wir noch den Link zum Admin-Login einfügen. Sonst kommen wir nicht mehr so einfach in die Admin-Oberfläche von WordPress zurück.</p>
<p>Hierzu nutzen wir den Link &#8220;login&#8221; der im Bereich der &#8220;Navigation&#8221; als Beispiel bereits vorhanden ist. Hier ersetzen wir das &#8220;#&#8221; durch &#8220;/testblog/admin&#8221;. Damit haben wir das erste simple Theme auf Basis von YAML erstellt. Nachdem wir das Theme in WordPress ausgewählt haben, sollte die Ausgabe wie folgt aussehen:</p>
<p style="text-align: center;"><a href="http://www.blog-gedanken.de/wp-content/uploads/2009/02/tutorial_theme_pic005.jpg" class="liimagelink" rel="lightbox[734]"><img class="size-medium wp-image-745 aligncenter" title="Tutorial Theme Erstellung - Erstes Basis Layout" src="http://www.blog-gedanken.de/wp-content/uploads/2009/02/tutorial_theme_pic005-300x34.jpg" alt="Tutorial Theme Erstellung - Erstes Basis Layout" width="300" height="34" /></a></p>
<p>Der bisher einzige Artikel nach einer WordPress Installation wird angezeigt. Ihr könnt ja noch ein paar Beispielartikel erstellen, damit ihr seht, dass die Loop auch wirklich funktioniert.</p>
<p>Ich hoffe, dass euch dieser erste Einstieg in die Theme-Erstellung mit YAML gefallen hat und freue mich auf entsprechende Kommentare und auch Hinweise auf Unklarheiten oder Fehler. Wie bereits erwähnt, Ideen für ein Layout, welches wir hier in den nächsten Serienteilen entwickeln wollen, sind gerne gesehen.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.blog-gedanken.de/tutorials/wordpress-theme-mit-yaml-erstellen-teil-1/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>

