<?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>faebulicious strikes back &#187; Web Entwicklung</title>
	<atom:link href="http://www.faebu.ch/category/webdev/feed" rel="self" type="application/rss+xml" />
	<link>http://www.faebu.ch</link>
	<description></description>
	<lastBuildDate>Tue, 27 Apr 2010 07:51:42 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>de</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Integration von WP Calendar</title>
		<link>http://www.faebu.ch/webdev/wp/integration-von-wp-calendar</link>
		<comments>http://www.faebu.ch/webdev/wp/integration-von-wp-calendar#comments</comments>
		<pubDate>Sat, 07 Nov 2009 15:58:51 +0000</pubDate>
		<dc:creator>faebu</dc:creator>
				<category><![CDATA[Wordpress]]></category>

		<guid isPermaLink="false">http://www.faebu.ch/?p=60</guid>
		<description><![CDATA[WP Calendar ist ein sehr flexibles Wordpress Kalender Plug-In. W&#228;hrend die Administrationsoberfl&#228;che dem Wordpress &#8220;Standard&#8221; entspricht und sich ein Benutzer ohne weitere Hilfe darin zu Recht findet, erfordert die Integration in den eigenen Blog schon etwas mehr Know-How &#8211; nicht zuletzt wegen den vielen verschiedenen Integrationsm&#246;glichkeiten.
Die Integration von WP Calender in einen Blog kann auf [...]]]></description>
			<content:encoded><![CDATA[<p>WP Calendar ist ein sehr flexibles Wordpress Kalender Plug-In. W&#228;hrend die Administrationsoberfl&#228;che dem Wordpress &#8220;Standard&#8221; entspricht und sich ein Benutzer ohne weitere Hilfe darin zu Recht findet, erfordert die Integration in den eigenen Blog schon etwas mehr Know-How &#8211; nicht zuletzt wegen den vielen verschiedenen Integrationsm&#246;glichkeiten.</p>
<p><span id="more-60"></span>Die Integration von WP Calender in einen Blog kann auf verschiedene Weise erfolgen. Die Integration in ein Theme (z.B. in die Sidebar) erfolgt normalerweise &#252;ber die mitgelieferten Funktionen. Wer seine Kalendardaten jedoch einfach in Seiten oder Artikel einbinden m&#246;chte, der ben&#246;tigt keine Programmierkenntnisse, sondern verwendet sog. <em>Tags</em>. Tags werden direkt innerhalb von Artikel und Seiten notiert und stehen im Falle von WP Calendar immer in geschweiften Klammern &#8220;{&#8221; bzw. &#8220;}&#8221;.</p>
<p>Die nachfolgende Beschreibung mit einigen Beispielen erkl&#228;rt nicht jedes zu verwendende Feld im Details, da s&#228;mtliche Funktionen und Tags in der Dokumentation des Plug-Ins bereits ausf&#252;hrlich beschrieben sind. Vielmehr wird anhand ganz einfacher Beispiele aufgezeigt, wie die Grundbed&#252;rfnisse abzudecken und die einzelnen Tags zu verwenden sind.</p>
<p><strong>Nachfolgend werden an diverser Stellen Tags definiert, welche zwischen der &#246;ffnenden geschweiften Klammer und dem nachfolgenden Inhalt ein Leerzeichen enthalten (z.B. { event_subject}). Dieses Leerzeichen wird nur hier verwendet, da ansonsten der Tag ausgewertet w&#252;rde. In den eigenen Seiten und Artikel ist dieser Leerzeichen zu <span style="text-decoration: underline;">entfernen</span>.</strong></p>
<h4>Eine Auflistung von Kalendereintr&#228;gen erstellen</h4>
<p>F&#252;r das generieren einer Auflistung stehen zwei Tags zu Verf&#252;gung: Der Tag { events_print } generiert eine einfache Auflistung, der Tag { events_printlist } erzeugt eine hierarchische unsortierte Liste (HTML-Tag &lt;UL&gt;&lt;/UL&gt;). Der wesentliche Unterschied dieser Tags liegt darin, dass bei einer hierarchischen Liste eine datumsbezogene Gruppierung stattfinden kann. Untenstehend sieht man die beiden Tags in Aktion:</p>
<blockquote><p>Auflistung mit { events_print } ohne irgendwelche weitere Parameter:{events_print; datefrom=1230789600}</p></blockquote>
<blockquote><p>Auflistung mit { events_printlist} ohne irgendwelche weitere Parameter:{events_printlist; datefrom=1230789600}</p></blockquote>
<p>Beide Varianten stellen in ihrer Grundvariante nur Termine aus der Zukunft darf. Aus den Einstellungen von WP Calendar wird zudem die maximale Anzahl Events sowie eine Ausgabevorlage ermittelt, wobei f&#252;r die flache wie auch f&#252;r die hierarchische Ausgabe eine separate Vorlage definiert werden kann. F&#252;r die hierarchische Ausgabe wird zudem in den Einstellungen festgelegt, ob und wie gruppiert werden soll, und welches Datumsformat f&#252;r die entsprechende &#220;berschrift verwendet werden soll. Die nachfolgenden Einstellungen entsprechen den Standardeinstellungen, wie sie nach der Installation vorbelegt sind und erzeugen das oben gezeigt Resultat.</p>
<p><img class="aligncenter size-full wp-image-61" title="WP Calendar Einstellungen: Ausgabe" src="http://www.faebu.ch/wp-content/uploads/2009/11/optionen_ausgabe.jpg" alt="WP Calendar Einstellungen: Ausgabe" width="715" height="470" /></p>
<p>Beide dieser Tags k&#246;nnen aber auch mit Parametern erweitert werden, um die Ausgabe zu ver&#228;ndern. Grunds&#228;tzlich k&#246;nnen mit den Parameter s&#228;mtliche Einstellungen &#252;bersteuert werden. Zudem kann die Selektion mit Hilfe von Filtern &#252;ber Start-/Endezeitpunkt, Kategorie, Autor und Status die Ausgabe  gefiltert werden. Alle Parameter sind in der Verwendungsdokumentation in den WP Calender Einstellungen detailliert beschrieben. Zudem sind dort auch die Standard-Werte ersichtlich.</p>
<p>Eine Auflistung, welche maximal 50 Anl&#228;sse f&#252;r das Jahr 2009 der Kategorien 30 und 31 vom Autor 3 ausgibt, jedoch die Events 544 und 923 explizit ausschliesst und auch solche Events ber&#252;cksichtigt, die zwar im Jahr 2008 bereits beginnen, aber im Jahr 2009 oder sp&#228;ter zu ende gehen, und zudem noch nach Subjekt (anstelle vom Datum) sortiert ist, w&#252;rde dann wie folgt aussehen:</p>
<blockquote><p>{ events_print; number=50; datefrom=1230789600; dateend=1262325599; datemode=1; categories=30,31; author=3; exclude=923,544; orderby=subject }</p></blockquote>
<p>Mit dem obenstehenden Beispiel wird eine Vielzahl der Parameter verwendet, in der Dokumentation sind noch weitere Parameter beschreiben, auf die an dieser Stelle nicht weiter eingegangen wird.</p>
<p>Denjenigen, die beim Parameter datefrom und dateend nicht wirklich etwas erkennen k&#246;nnen, sei gesagt, dass hier nicht ein Datum und eine Uhrzeit in einfach leserlicher Form, sondern ein<em> Unix-Timestamp</em> verwendet werden muss. Einen einfachen Konverter findet man <a href="http://www.unixtimestamp.com" target="_blank">hier</a>.</p>
<h4>Details zu einem einzelnen Anlass ausgeben</h4>
<p>Mit Tags, welche mit { event_ beginnen (im Gegensatz zu den Auflistungen, die mit { event<strong><span style="text-decoration: underline;">s</span></strong>_ beginnen), k&#246;nnen s&#228;mtliche Daten von einem Event ausgegeben werden. Da es sich um einen spezifischen Event handelt, der nur &#252;ber eine Id eindeutig identifiziert wird, muss die Id bekannt gemacht werden. Dies ist entweder &#252;ber die URL m&#246;glich oder &#252;ber den speziellen Tag { event_id; id=312 }.</p>
<p>Die beiden Varianten werden jedoch f&#252;r unterschiedliche Szenarien verwendet. Habe ich einen Artikel, in welchem ich explizit Daten von einem Event einbinden m&#246;chte, macht es nicht sonderlich Sinn die Id &#252;ber die URL mitzugeben, zumal Wordpress grunds&#228;tzlich in seinen Permalink keine Event Id vorsieht.</p>
<h5>Statische &#8220;Inline&#8221; Deklaration</h5>
<p>Vielmehr macht es an dieser Stelle Sinn, die Daten explizit durch die Angabe der Id im Tag { event_id } zu laden. Auf diese Weise k&#246;nnen auch mehrere Events in einer sequentiellen Reihenfolge ausgegeben werden, allerdings macht es in diesem Fall unter Umst&#228;nden mehr Sinn, eine Auflistung zu verwenden und mit Filtern zu arbeiten.</p>
<blockquote><p>{ event_id; id=1}<br />
&lt;p&gt;{ event_subject} @ { event_location}&lt;br /&gt;{ event_startdate} { event_starttime}  &#8211; { event_enddate} { event_endtime}&lt;/p&gt;</p>
<p>{ event_id; id=2}<br />
&lt;p&gt;{ event_subject} @ { event_location} geschrieben von { event_author}, ver&#246;ffentlicht am { event_publishdate}&lt;/p&gt;</p></blockquote>
<p>ergibt die folgende Ausgabe:</p>
<blockquote><p>{event_id; id=1}{event_subject} @ {event_location}<br />
{event_startdate} {event_starttime}  &#8211; {event_enddate} {event_endtime}</p>
<p>{event_id; id=2}{event_subject} @ {event_location} geschrieben von {event_author}, ver&#246;ffentlicht am {event_publishdate}</p></blockquote>
<p>Es f&#228;llt beim genauen Hinschauen auf, dass beim ersten Event keine Ausgabe f&#252;r den Tag { event_enddate } stattfindet. Auch das liegt an den Einstellungen (Siehe Bild oben), welche grunds&#228;tzlich so eingestellt sind, dass das Enddatum (und auch die Endzeit) nur dann ausgegeben werden, wenn sie vom Startzeitpunkt abweichen. Durch das Hinzuf&#252;gen des Parameters <em>alwaysshowenddate </em>mit dem Wert <em>1</em>, kann die Ausgabe aber dennoch erzwungen werden:</p>
<blockquote><p>{ event_id; id=1}<br />
&lt;p&gt;{ event_subject} @ { event_location}&lt;br /&gt;{ event_startdate} { event_starttime}  &#8211; { event_enddate; alwaysshowenddate=1} { event_endtime}&lt;/p&gt;</p></blockquote>
<p>ergibt jetzt</p>
<blockquote><p>{event_id; id=1}{event_subject} @ {event_location}<br />
{event_startdate} {event_starttime}  &#8211; {event_enddate; alwaysshowenddate=1} {event_endtime}</p></blockquote>
<h4>Dynamische Ausgabe und die &#8220;Seite f&#252;r Einzelanzeige&#8221;</h4>
<p>Um eine Seite dynamische mit Event Details zu bef&#252;llt, sollte die Event Id als URL Parameter <em>event</em> &#252;bergeben werden (z.B. www.meinblog.ch/2009/12/31/mein-artikel?event=681). Mit diesem Prinzip l&#228;sst sich eine Seite (nennen wir Sie doch auch gleich <em>Events </em>und vergeben wir den Permalink<em> http://ww.meinblog.ch/events</em>) anlegen, die nur dazu verwendet wird um die Details von einzelnen Events darzustellen. Diese Seite k&#246;nnten wir doch nun bei der Aufliste hervorragend integrieren, wenn wird die Vorlage f&#252;r die Listausgabe wie folgt anpassen w&#252;rden:</p>
<blockquote><p>&lt;p&gt;&lt;strong&gt;&lt;a href=&#8221;<em>http://www.meinblog.ch/events?event={ event_id}</em>&#8221; title=&#8221;{ event_subject}&#8221;&gt;{ event_subject}&lt;/a&gt;&lt;/strong&gt;&lt;br /&gt;{ event_startdate} { event_starttime} &#8211; { event_enddate} { event_endtime} @ { event_location}&lt;/p&gt;</p></blockquote>
<p>Verwenden wir also diese Vorlage in einer Auflistung, erhalten wir eine Auflistung von Events, mit einer URL auf unsere erstellte Seite, die dann die Details anzeigen kann, in dem man dort vielleicht etwas in dieser Art einbauen w&#252;rde:</p>
<blockquote><p>{ event_subject}<br />
Wo: { event_location}<br />
Wann: { event_startdate} { event_starttime} &#8211; { event_enddate} { event_endtime}</p>
<p>{ event_description}</p>
<p>Ver&#246;ffentlicht am { event_publishdate} von { event_publisher}</p></blockquote>
<p>Damit unsere Seite <em>Events </em>jedoch nicht einfach <em>Events </em>im Titel von Wordpress darstellt oder ich gar im meinem Theme den Seitentitel ausgebe und somit bei jedem Event zus&#228;tzlich noch ein Titel <em>Event </em>erscheint, kann man auch im Titel der Seite solche Tags verwenden. Anstatt die Seite <em>Events </em>zu benennen, k&#246;nnte man die Seite einfach in<em> { event_subject} @ { event_location} </em>benennen.</p>
<h5>F&#252;r was ist die &#8220;Seite f&#252;r Einzelanzeige&#8221;</h5>
<p>In den Einstellungen kann eine <em>Seite f&#252;r Einzelanzeige</em> ausgew&#228;hlt werden. Dies ist jedoch optional, damit dem oben beschriebenen Ansatz ohne Probleme auch auf die Seite f&#252;r die Detailanzeige gesprungen werden kann. Dieser Ansatz einer statischen Verwendung einer URL hat jedoch den grossen Nachteil, dass ich unter Umst&#228;nden beim Anpassen des Permalink (z.B. durch eine Reorganisation, oder durch das &#196;ndern einer URL) &#252;berall die URL anpassen muss. Zudem hat diese Seite Events eigentlich gar keinen Inhalt, erscheint aber dennoch bei jeder Seiten-Auflistung, welche mit Wordpress Bordmitteln erzeugt wird.</p>
<p>An dieser Stelle kommt nun die <em>Seite f&#252;r Einzelanzeige</em> ins Spiel. Wenn n&#228;mlich nun die erzeugte Seite <em>Events </em>bzw. <em>{ event_subject} @ { event_location} </em>als die <em>Seite f&#252;r Einzelanzeige </em>ausgew&#228;hlt wird, kann in den Einstellungen nun definiert werden, dass die Seite in keiner Auflistung mehr erscheinen soll und Sie kann zudem in der Administrationsoberfl&#228;che der Seite entsprechend markiert und hervorgehoben werden. Der grosse Vorteil ergibt sich aber in der Vorlage. W&#228;hrend wird vorhin noch</p>
<blockquote><p>&lt;p&gt;&lt;strong&gt;&lt;a href=&#8221;<em>http://www.meinblog.ch/events?event={ event_id}</em>&#8221; title=&#8221;{ event_subject}&#8221;&gt;{ event_subject}&lt;/a&gt;&lt;/strong&gt;&lt;br /&gt;{ event_startdate} { event_starttime} &#8211; { event_enddate} { event_endtime} @ { event_location}&lt;/p&gt;</p></blockquote>
<p>notierten, k&#246;nnen wir nun die ganze URL ersetzten und folgendes notieren:</p>
<blockquote><p>&lt;p&gt;&lt;strong&gt;&lt;a href=&#8221;<em>{event_url}</em>&#8221; title=&#8221;{ event_subject}&#8221;&gt;{ event_subject}&lt;/a&gt;&lt;/strong&gt;&lt;br /&gt;{ event_startdate} { event_starttime} &#8211; { event_enddate} { event_endtime} @ { event_location}&lt;/p&gt;</p></blockquote>
]]></content:encoded>
			<wfw:commentRss>http://www.faebu.ch/webdev/wp/integration-von-wp-calendar/feed</wfw:commentRss>
		<slash:comments>8</slash:comments>
		</item>
		<item>
		<title>Neues Wordpress Plug-In &#8220;Post and Page Counter for Admin Menu&#8221; freigegeben</title>
		<link>http://www.faebu.ch/webdev/neues-wordpress-plug-in-post-and-page-counter-for-admin-menu-freigegeben</link>
		<comments>http://www.faebu.ch/webdev/neues-wordpress-plug-in-post-and-page-counter-for-admin-menu-freigegeben#comments</comments>
		<pubDate>Fri, 25 Sep 2009 08:52:52 +0000</pubDate>
		<dc:creator>faebu</dc:creator>
				<category><![CDATA[Web Entwicklung]]></category>
		<category><![CDATA[Wordpress]]></category>

		<guid isPermaLink="false">http://www.faebu.ch/?p=56</guid>
		<description><![CDATA[Heute wurde die Version 1.0.0 des Wordpress Plug-Ins Post and Page Counter for Admin Menu offiziell publiziert. Mit dem schlanken Plug-In k&#246;nnen direkt im Admin Men&#252; die Anzahl von Artikeln und/oder Seiten in einem bestimmten Status dargestellt werden. In erster Linie habe ich das Plug-In entwickelt um auf einen Blick zu sehen, wieviele Entw&#252;rfe noch [...]]]></description>
			<content:encoded><![CDATA[<p>Heute wurde die Version 1.0.0 des Wordpress Plug-Ins <em>Post and Page Counter for Admin Menu</em> offiziell publiziert. Mit dem schlanken Plug-In k&#246;nnen direkt im Admin Men&#252; die Anzahl von Artikeln und/oder Seiten in einem bestimmten Status dargestellt werden. In erster Linie habe ich das Plug-In entwickelt um auf einen Blick zu sehen, wieviele Entw&#252;rfe noch vorhanden sind, mit dem Plug-In kann jedoch jeder Status dargestellt werden.</p>
<p>Weiter Informationen gibt es auf der <a href="http://www.faebu.ch/downloads/post-and-page-counter-for-admin-menu">offiziellen Plug-In Seite</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.faebu.ch/webdev/neues-wordpress-plug-in-post-and-page-counter-for-admin-menu-freigegeben/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
