<?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>Der Interaktionsdesigner - PHP, jQuery und CSS &#187; Kiwi Teaser</title>
	<atom:link href="http://www.interaktionsdesigner.de/category/kiwi-teaser/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.interaktionsdesigner.de</link>
	<description>Pauls Blog beschäftigt sich mit Webentwicklungsthemen, im Focus stehen jQuery, TYPO3, CSS und PHP.</description>
	<lastBuildDate>Sat, 05 Jun 2010 21:13:53 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Kiwi Teaser Version 1.1.0</title>
		<link>http://www.interaktionsdesigner.de/2010/03/04/kiwi-teaser-version-1-1-0/</link>
		<comments>http://www.interaktionsdesigner.de/2010/03/04/kiwi-teaser-version-1-1-0/#comments</comments>
		<pubDate>Thu, 04 Mar 2010 11:17:22 +0000</pubDate>
		<dc:creator>Paul</dc:creator>
				<category><![CDATA[Kiwi Teaser]]></category>

		<guid isPermaLink="false">http://www.interaktionsdesigner.de/?p=664</guid>
		<description><![CDATA[Seit gestern steht die neue Version meiner Extension Kiwi Teaser im Repository bereit. Neben einem Icon für die Teaser Inhaltselemente ist auch ein kleiner Fehler in den generierten Pfaden zu den Ressourcen behoben. Die wirklich interessante, und diesen Post rechtfertigende Neuerung ist die komplette Konfigurationsmöglichkeit über Typoscript.
Dadurch ist es möglich einen Teaserport direkt per Typoscript [...]]]></description>
			<content:encoded><![CDATA[<p>Seit gestern steht die neue Version meiner Extension Kiwi Teaser im <a title="Kiwi Teaser im TYPO3 Repository" href="http://typo3.org/extensions/repository/view/kiwi_teaser/current/" target="_blank">Repository</a> bereit. Neben einem Icon für die Teaser Inhaltselemente ist auch ein kleiner Fehler in den generierten Pfaden zu den Ressourcen behoben. Die wirklich interessante, und diesen Post rechtfertigende Neuerung ist die <strong>komplette Konfigurationsmöglichkeit über Typoscript</strong>.</p>
<p>Dadurch ist es möglich einen Teaserport direkt per Typoscript einzubinden und zum Beispiel einem Marker zuzuweisen. Außerdem kann man mit dieser praktischen Extension <strong>jede beliebige Tabelle</strong> auslesen!</p>
<p><span id="more-664"></span></p>
<h2>Einbindung über Typoscript</h2>
<p>Nach der Installation steht im Typoscript das Objekt <strong>plugin.tx_kiwiteaser_pi1</strong> bereit. Das kann einem Marker zugewiesen werden und über die Eigenschaften <strong>content</strong> und <strong>ports</strong> mit Inhalt befüllt werden.</p>
<pre><code class=''>page.10.marks.CONTENT &lt; plugin.tx_kiwiteaser_pi1<br />
page.10.marks.CONTENT {<br />
&nbsp;&nbsp;content = pages_21, tt_content_123, pages_22, tx_kiwiteaser_content_2<br />
&nbsp;&nbsp;ports = 4<br />
}</code></pre>
<p>Und zack findet sich im Frontend statt ###CONTENT### ein cooler Kiwi Teaser mit vier Slots und den ausgelesenen Datensätzen, angegeben in <strong>content</strong>. Das Format ist simpel: Name der Datenbank - Unterstrich - UID des Datensatzes. Extra angelegten Teaserinhalte befinden sich in der Datenbank <strong>tx_kiwiteaser_content</strong>.</p>
<h2>Ansprechen von beliebigen Datenbanken</h2>
<p>Wenn man die Inhalte einfach per Typoscript beschreibt, lässt sich natürlich jede beliebige Datenbank ansprechen. Ja, das funktioniert! Damit die Extension weiß, welche Spalten sie auslesen soll, muss man diese per Typoscript bekannt geben. Zum Beispiel könnte man die besten Frontend Benutzer teasern:</p>
<pre><code class=''>plugin.tx_kiwiteaser_pi1 {<br />
tables.fe_users {<br />
&nbsp;&nbsp;title = name<br />
&nbsp;&nbsp;content = address<br />
&nbsp;&nbsp;image = image<br />
}<br />
}</code></pre>
<p>Das Format sollte eigentlich selbsterklärend werden. Der Inhalt aus der Spalte name landet im Marker ###TITLE### usw. Anschließend muss der Datensatz nur noch dem Teaser zugewiesen werden. Dem Beispiel von oben folgend so:</p>
<pre><code class=''>page.10.marks.CONTENT.content = fe_users_1, fe_users_3, pages_12, tt_content_21</code></pre>
<p>Nett, oder?</p>
<h2>Mehr Komfort für Redakteure</h2>
<p>Um <strong>weitere Tabellen</strong> im Teaser zu erlauben, und diese vorallem im Backend auszuwählen muss man im Moment leider noch hart an den Quelltext ran. In der Datei <strong>typo3conf/ext/kiwi_teaser/ext_tables.php</strong> wird im Array <strong>$tempColumns</strong> ab Zeile 33 das Feld <strong>tx_kiwiteaser_teasers</strong> als Datenbankrelationsfeld definiert. In Zeile 41 werden unter dem Schlüssel <strong>allowed</strong> alle erlaubten Datenbanknamen aufgezählt. Um den Redakteuren die Auswahl von Benutzern zu erlauben, muss der Eintrag erweitert werden:</p>
<pre><code class=''>$tempColumns['tx_kiwiteaser_teasers']['allowed'] = 'tx_kiwiteaser_content,pages,tt_content,fe_users';</code></pre>
<h2>Ausblick und Weiterentwicklung</h2>
<p>Der aufmerksame Betrachter wird die auskommentierte Zeile 40 bemerken, in der tt_news noch erlaubt war. Daran arbeiten wir im Moment. Verbessert werden muss die <strong>Verlinkung auf ausgewählte Inhalte</strong>.</p>
<p>Außerdem auf der Liste steht eine <strong>dynamische Darstellung von Teaserinhalten</strong>. Das bedeutet zum Beispiel das auslesen aller Seiten ab einem Einstiegspunkt, oder die Angabe von verschiedenen Bedingungen.</p>
<p>Wer diese Funktionen für sein Projekt gut gebrauchen kann oder mehr Ideen hat, ist natürlich herzlich eingeladen mit <a title="Webentwicklung aus Berlin" href="http://www.apeunit.com" target="_blank">uns</a> darüber zu reden.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.interaktionsdesigner.de/2010/03/04/kiwi-teaser-version-1-1-0/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Auf Inhalte aufmerksam machen: Kiwi Teaser</title>
		<link>http://www.interaktionsdesigner.de/2009/12/17/auf-inhalte-aufmerksam-machen-kiwi-teaser/</link>
		<comments>http://www.interaktionsdesigner.de/2009/12/17/auf-inhalte-aufmerksam-machen-kiwi-teaser/#comments</comments>
		<pubDate>Thu, 17 Dec 2009 19:58:14 +0000</pubDate>
		<dc:creator>Paul</dc:creator>
				<category><![CDATA[Kiwi Teaser]]></category>
		<category><![CDATA[TYPO3]]></category>

		<guid isPermaLink="false">http://www.interaktionsdesigner.de/?p=647</guid>
		<description><![CDATA[Darf ich vorstellen? Meine neuste Extension, der Kiwi Teaser. Mit dessen Hilfe präsentiert man ganz einfach vorhandene Inhalte auf der einen Seite. Dazu legt man eine Teaseranzeige an und bestimmt wieviele Teaser sie anzeigen soll.
Die Teaser sind entweder Teaserdatensätze (mit Titel, Inhalt, Bild und Link), ganze Seiten oder einzelne Inhaltselemente. Fertig! Auf der Startseite kann [...]]]></description>
			<content:encoded><![CDATA[<p>Darf ich vorstellen? Meine neuste Extension, der <strong>Kiwi Teaser</strong>. Mit dessen Hilfe präsentiert man ganz einfach vorhandene Inhalte auf der einen Seite. Dazu legt man eine Teaseranzeige an und bestimmt wieviele Teaser sie anzeigen soll.</p>
<p>Die Teaser sind entweder <strong>Teaserdatensätze</strong> (mit Titel, Inhalt, Bild und Link), <strong>ganze Seiten</strong> oder einzelne <strong>Inhaltselemente</strong>. Fertig! Auf der Startseite kann der Redakteur jetzt ganz genau bestimmen, auf welche Inhalte die Benutzer aufmerksam gemacht werden sollen und in welcher Reihenfolge.</p>
<p>Die Extension gibts im <a title="Kiwi Teaser im TYPO3 Repositorie" href="http://typo3.org/extensions/repository/view/kiwi_teaser/current/" target="_blank">TYPO3 Repository</a> oder auf <a title="Kiwi Teaser auf GitHub" href="http://github.com/kiwi-service/Kiwi-Teasers" target="_blank">GitHub</a> - live im Einsatz bisher auf unserer <a title="Kiwi Service" href="http://www.kiwi-service.de" target="_blank">Firmenpräsenz</a>.</p>
<p><span id="more-647"></span></p>
<h2>Berechtigung</h2>
<p>Es liegt natürlich nahe tt_news einzusetzen. Aber erst sagt der Redakteur mir, ich soll das Datum ausblenden, denn regelmäßige News gibt es  gar nicht. Als nächstes will er die Reihenfolge ändern und ich sage, pass doch einfach das Datum entsprechend der Reihenfolge an. Klar, das geht aber so richtig genial ist das nicht.</p>
<p>Zumal die meisten Hinweise sich auf entsprechende Seiten in der Präsenz beziehen, auf externe Links oder einfach nur einen kurzen Hinweis darstellen. Das geht jetzt eleganter.</p>
<h2>Inhalte</h2>
<p>Es können verschiedene Inhalte vorgestellt werden. Die Extension bringt eigene Datensätze mit welche Titel, Inhalt, Bild und einen Link aufnehmen. Es können aber auch Seiten oder Seiteninhalte angeteast werden.</p>
<h2>Installation</h2>
<p>Entweder man holt sich die stabile Version aus dem Repository oder die aktuellste, brandheiße aus meinem ersten Projekt auf <a title="Kiwi Teaser auf GitHub" href="http://github.com/kiwi-service/Kiwi-Teasers">GitHub</a>. Ein großartiges Portal!</p>
<p>Die restliche Installation ist alt bekannt und ganz normal. Der Kiwi Teaser <strong>bindet standardmäßig jQuery ins Projekt ein</strong> um ein paar coole Extras zu ermöglichen.</p>
<h2>Konfiguration</h2>
<p>Über Typoscript hat man viele Einstellungsmöglichkeiten. Alles natürlich unter <strong>plugin.tx_kiwiteaser_pi1</strong> im Template - das schreibe ich jetzt nicht jedesmal mit auf. Die angegebenen Typoscriptschnipsel stellen jeweils die Standardeinstellung dar.</p>
<pre><code class=''>include.css.standard = 1</code></pre>
<p>Mit dieser Anweisung wird ein minimales Stylesheet geladen welches dafür sorgt das die Boxen nebeneinander stehen und einen Abstand zueinander haben.</p>
<pre><code class=''>include.javascript.jquery = 1</code></pre>
<p>Bindet die aktuelle jQuery Version ein. Hat man diese schon im Projekt sollte man diese Eigenschaft unbedingt mit <strong>include.javascript.jquery &gt;</strong> löschen (auf diese Art kann man jeden include verhindern).</p>
<pre><code class=''>include.javascript.clickbox = 1</code></pre>
<p>Holt mein Plugin Clickbox ins Projekt, welches <strong>die komplette Teaserbox klickbar</strong> macht und nicht nur den kleinen Link. <a title="Clickbox" href="http://www.interaktionsdesigner.de/2008/04/22/mein-jquery-plugin-clickbox/" target="_blank">Mehr zur Clickbox gibts hier</a>.</p>
<pre><code class=''>include.javascript.height = 1</code></pre>
<p>Bindet ein Script ein, welches dafür sorgt das <strong>alle Teaserboxen die gleiche Höhe</strong> haben. Besonders praktisch wenn man einen Rahmen oder eine Hintergrundfarbe gesetzt hat.</p>
<pre><code class=''>template.file = EXT:kiwi_teaser/res/html/template.html</code></pre>
<p>Der Pfad zum HTML Template. Das Standardtemplate sollte man sich unbedingt angucken und die Klassennamen beibehalten, denn sonst kriegen die oben erwähnten Scripte Schwierigkeiten.</p>
<pre><code class=''>stdWrap</code></pre>
<p>Der StandardWrap ist eine richtig schöne Sache! Damit kann man <strong>jeden Inhalt mit Typoscript bearbeiten</strong> bevor er ausgegeben wird. Dieser kann auf alle Felder angewendet werden: <strong>title, image, link</strong> und <strong>content</strong>. Zum Beispiel:</p>
<pre><code class=''>stdWrap.title.wrap = &lt;b&gt;|&lt;/b&gt;</code></pre>
<p>Außerdem kann man für verschiedene Quellen verschiedene Optionen angeben. Seiten kommen aus der Tabelle <strong>pages</strong>, Seiteninhalte aus <strong>tt_content</strong> und die Standardinhalte aus <strong>tx_kiwiteaser_content</strong>. Mit diesem Wissen kann man die Ausgabe je nach Datenbank bestimmen. Möchte man also die Überschriften von Seiten nicht fett sondern kursiv darstellen, reicht folgende Anweisung:</p>
<pre><code class=''>stdWrap.title.pages.wrap = &lt;i&gt;|&lt;/i&gt;</code></pre>
<p>Besonders wichtig ist diese Möglichkeit für <strong>den Linktext</strong>. Dieser wird über die Eigenschaft <strong>link.value</strong> gesetzt.</p>
<pre><code class=''>stdWrap.link.value = Mehr...</code></pre>
<p>Die Extension setzt den generierten oder angegebenen Wert vor der Verarbeitung in das Feld <strong>stdWrap.link.typolink.parameter</strong>. Das typolink Objekt lässt sich natürlich trotzdem noch erweitern. Will man alle Teaserlinks in einem neuen Fenster öffnen geht das ganz einfach:</p>
<pre><code class=''>stdWrap.link.typolink.target = _blank</code></pre>
<h2>Mapping der Inhalte</h2>
<p>Um zu entscheiden, welche Daten aus einem Datensatz den Titel und welche z.B. den Inhalt darstellen, gibt es eine <strong>Mappingtabelle im Typoscript</strong>. In der Standardkonfiguration wird der Untertitel einer Seite als Inhalt benutzt. Das passiert über folgende Angabe:</p>
<pre><code class=''>tables.pages.content = subtitle</code></pre>
<p>Dabei bezeichnet der Schlüssel das Feld im Teaser und der Wert das Feld in der Zieltabelle. Das lässt sich je nach Anforderung beliebig anpassen. Wenn die Eigenschaft link leer ist, erzeugt die Extension den Link je nach Tabelle automatisch.</p>
<h2>Template</h2>
<p>Im Template stehen verschiedene Marker zur Verfügung:</p>
<ul>
<li><strong>###TITLE### </strong>Ein Beispieltitel</li>
<li><strong>###IMAGE### </strong>uplodas/media/picture.jpg</li>
<li><strong>###CONTENT### </strong>Das ist je nach eingabe verschieden.</li>
<li><strong>###LINK### </strong>&lt;a href="index.php?id=123"&gt;Mehr...&lt;/a&gt;</li>
<li><strong>###CLASS### </strong>teaser-first port1</li>
</ul>
<p><strong>Image</strong> beinhaltet den originalen Inhalt aus der Datenbank, also im Idealfall den Pfad zum Bild, sollte also noch mit einem &lt;img&gt; Tag gewrappt oder per Javascript weiter verarbeitet werden.</p>
<p><strong>Link</strong> ist ein kompletter &lt;a&gt; Tag - generiert über Typoscript.</p>
<p><strong>Class</strong> wird automatisch gesetzt, je nach Position des Teasers steht da <strong>first-teaser</strong> oder <strong>last-teaser</strong> drin. Außerdem kriegt jeder Teaser die Klasse <strong>portX</strong> wobei das X für die aktuelle Position steht. So kann man also den zweiten Teaser gezielt ansprechen:</p>
<pre><code class=''>.tx-kiwiteaser-pi1 .port2 {<br />
&nbsp;&nbsp;font-size:200%;<br />
}</code></pre>
<h2>Alpha</h2>
<p>Heute, am 17.12.2009 habe ich die erste Version fertig gestellt und in meinem Projekt eingesetzt. Als nächstes wird sie in Kundenprojekt eingesetzt und die Redakteure darauf losgelassen. Dabei werde ich sicher noch die eine oder andere Erweiterung entwickeln, <strong>mit mehreren Updates ist also zu rechnen</strong>. <a title="Der Interaktionsdesigner auf Twitter" href="http://twitter.com/paul_lunow/" target="_blank">Auf dem neusten Stand ist man natürlich bei Twitter</a>.</p>
<h2>Ausblick</h2>
<p>Der wichtigeste Punkt auf meiner Liste ist die <strong>Unterstützung von tt_news</strong>. Damit ist es dann auch möglich eine schön ausgearbeitete Nachricht zu teasern. Natürlich muss sich das nicht auf tt_news beschränken, <strong>sondern kann im Prinzip jeden beliebigen Datensatz beinhalten</strong>!</p>
<p>Darüber hinaus sind die Pläne natürlich groß und die Möglichkeiten auch. Ich denke an jQuery Effekte wie das faden von Inhalten, die Integration vom <a title="Der Kiwi Slider" href="http://www.interaktionsdesigner.de/category/kiwi-slider/" target="_blank">Kiwi Slider</a> oder das dynamische Anpassen der Inhalte.</p>
<p><strong>Da wird noch einiges passieren!</strong></p>
<h2>Fazit</h2>
<p>Ich möchte kein zweites tt_news programmieren, hier geht es wirklich nur um das Teasern von eigenen und fremden Inhalten. So bequem und einfach für die Redakteure wie möglich.</p>
<p>Ich hoffe ihr könnt die Extension gut einsetzen - über Ideen, Fragen und Anregungen in den Kommentaren freue ich mich natürlich. Und wenn jemand per GitHub mitarbeiten möchte, ist er hiermit herzlich eingeladen.</p>
<p>Ganz unauffällig sei auch noch auf meine Firma hingewiesen - wenn du die Extension oder ähnliches für dein Projekt brauchst, aber nicht selbst programmieren möchtest oder kannst, dann ist der <a title="Kiwi Service" href="http://www.kiwi-service.de" target="_blank">Kiwi Service</a> ein verantwortungsbewusster und kompetenter Partner!</p>
<p>Wenn dir der Artikel gefällt und du mit uns zusammen mehr solche Lösungen entwickeln möchtest, an das Internet und OpenSource glaubst und einen Job in Berlin suchst, dann <strong>bewirb dich bei uns</strong>. <a title="Webentwickler gesucht in Berlin" href="http://www.kiwi-service.de/jobs/" target="_blank">Wir suchen neue Freunde!</a></p>
<p><em>Danke fürs lesen, und fröhliches teasen!</em></p>
]]></content:encoded>
			<wfw:commentRss>http://www.interaktionsdesigner.de/2009/12/17/auf-inhalte-aufmerksam-machen-kiwi-teaser/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
