<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/rss2full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><rss 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:feedburner="http://rssnamespace.org/feedburner/ext/1.0" version="2.0">

<channel>
	<title>TYPO3-Scout</title>
	
	<link>http://www.typo3-scout.de</link>
	<description>Aktuelle Informationen rund um TYPO3</description>
	<pubDate>Thu, 17 Jun 2010 17:09:19 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.5.1</generator>
	<language>en</language>
			<atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/rss+xml" href="http://feeds.feedburner.com/Typo3-scout" /><feedburner:info uri="typo3-scout" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><item>
		<title>TypoGento 1.0 ist released!</title>
		<link>http://feedproxy.google.com/~r/Typo3-scout/~3/s20n7YsqTZY/</link>
		<comments>http://www.typo3-scout.de/2010/06/17/typogento-10-ist-released/#comments</comments>
		<pubDate>Thu, 17 Jun 2010 17:09:19 +0000</pubDate>
		<dc:creator>Frederic Gaus</dc:creator>
		
		<category><![CDATA[Extension]]></category>

		<category><![CDATA[typogento]]></category>

		<guid isPermaLink="false">http://www.typo3-scout.de/?p=45</guid>
		<description><![CDATA[TypoGento 1.0 released.]]></description>
			<content:encoded><![CDATA[<p>Flagbit hat TypoGento 1.0 released. Damit ist TypoGento nun auch Mit Magento Version 1.4 kompatibel. Mehr Informationen und den Link zum Download der Open-Source-Software findet man unter <a title="TypoGento 1.0 zum download." href="http://www.typogento.com" target="_blank">http://www.typogento.com</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.typo3-scout.de/2010/06/17/typogento-10-ist-released/feed/</wfw:commentRss>
		<feedburner:origLink>http://www.typo3-scout.de/2010/06/17/typogento-10-ist-released/</feedburner:origLink></item>
		<item>
		<title>Icon für verschiedene Zustände der Extension-Records (z.B. versteckt / hidden)</title>
		<link>http://feedproxy.google.com/~r/Typo3-scout/~3/N-DeMzgsmLo/</link>
		<comments>http://www.typo3-scout.de/2009/02/04/icon-fur-verschiedene-zustande-der-extension-records-zb-versteckt-hidden/#comments</comments>
		<pubDate>Wed, 04 Feb 2009 19:03:42 +0000</pubDate>
		<dc:creator>Frederic Gaus</dc:creator>
		
		<category><![CDATA[Backend]]></category>

		<category><![CDATA[Extension]]></category>

		<category><![CDATA[PHP]]></category>

		<category><![CDATA[Tipp]]></category>

		<category><![CDATA[Datensatz]]></category>

		<category><![CDATA[Icon]]></category>

		<category><![CDATA[Record]]></category>

		<category><![CDATA[Status]]></category>

		<category><![CDATA[Symbol]]></category>

		<guid isPermaLink="false">http://www.typo3-scout.de/?p=43</guid>
		<description><![CDATA[TYPO3 verwaltet Datenbank-Einträge (s.g. Records) über die Konfiguration im TCA-Array. Es ist möglich, bei diesen ein eigenes Symbol zu setzen. Dieses wird dann in der Listenansicht angezeigt. Welche Datei für das Icon verwendet werden soll, lässt sich wie folgt konfigurieren:
$TCA['ext_key'] = Array (
   &#8216;ctrl&#8217; =&#62; Array (
      &#8230;
 [...]]]></description>
			<content:encoded><![CDATA[<p>TYPO3 verwaltet Datenbank-Einträge (s.g. <strong>Records</strong>) über die Konfiguration im TCA-Array. Es ist möglich, bei diesen ein eigenes <strong>Symbol </strong>zu setzen. Dieses wird dann in der <strong>Listenansicht </strong>angezeigt. Welche Datei für das <strong>Icon</strong> verwendet werden soll, lässt sich wie folgt konfigurieren:</p>
<pre>$TCA['ext_key'] = Array (
   &#8216;ctrl&#8217; =&gt; Array (
      &#8230;
      &#8216;iconfile&#8217; =&gt; t3lib_extMgm::extRelPath($_EXTKEY).&#8221;res/icon.gif&#8221;,
      &#8230;
   )
   &#8230;
);</pre>
<p>Mit dieser Zeile kann man aber zunächst mal nur ein einziges Icon definieren. Man kennt es aber von TYPO3, im Icon bereits einen Hinweis auf die Eigenschaften des <strong>Record-Eintrags</strong> zu geben. So erkennt man bereits am Icon, ob der <strong>Datensatz </strong>versteckt ist, wegen der Start-Stop-Zeit nicht gezeigt wird oder sogar wegen beiden Einstellungen nicht im Frontend zu sehen ist. Anschaulich kann man das bei normalen Seiten im Seitenbaum (und normalen Seiten in der Listenansicht) verfolgen.</p>
<p>Diese Statusicons sind auch bei eigenen Extensions möglich. TYPO3 handhabt das ganz einfach über den Dateinamen. Dabei gelten die folgenden Konventionen für den Dateinamen:</p>
<pre>icon__[$flags].gif</pre>
<p>Um zu erfahren, wie die Flags aussehen, auf den Mehr-Link klicken.  <span id="more-43"></span></p>
<h2>Aufbau des Flags-Strings um Icon-Zustände zu kodieren</h2>
<p>Wie folgt wird der Flags-String aufgebaut:</p>
<p><strong>d:</strong> <em>Deleted</em><br />
Also muss für einen gelöschten Datensatz der Dateiname icon__d.gif lauten. Da in den meisten Fällen die gelöschten Datensätze nicht angezeigt werden, ist diese Datei meist nicht nötig.</p>
<p><strong>h:</strong> <em>Hidden</em><br />
Also muss für einen versteckten Datensatz der Dateiname icon__h.gif lauten.</p>
<p>Genau so verhält es sich auch für die folgenden weiteren Eigenschaften:<br />
<strong>t:</strong> <em>Timing</em> - Datensatz ist zwar zeitgesteuert, wird aber grad angezeigt<br />
<strong>f:</strong> <em>Futuretiming</em> - Start-Zeit noch nicht erreicht oder Stop-Zeit überschritten<br />
<strong>u:</strong> <em>User</em> - Ob der Zugriff auf den Datensatz durch ein Login geschützt ist.<br />
<strong>s:</strong> <em>Shaded</em> - Das Icon wird ausgegraut angezeigt.</p>
<p>Aber als wäre das alles noch nicht genug, lassen sich die Flags auch in beliebiger Art kombinieren. So wäre also das Flag für einen Datensatz, der nur für eingeloggte Benutzer (User) ab morgen (Timing) sichtbar ist &#8220;fu&#8221;. Ist er dazu noch ausgegraut (shaded) , muss das Flag &#8220;fus&#8221; lauten. Um das ganze von den Kombinationsmöglichkeiten bzw. Anzahl der Symboldateien noch einigermaßen überschaubar zu halten, ist beim kombinieren der Flags die Reihenfolge entscheidend. Diese ist wie folgt:</p>
<ol>
<li>h - Hidden</li>
<li>t - Timing</li>
<li>f - Futuretiming</li>
<li>u - User</li>
<li>s - Shaded</li>
</ol>
<p>Das oben erwähnte <strong>d</strong> (Deleted) wird allerdings nie kombiniert und steht immer allein.</p>
<p>Dennoch muss man, wenn man alle Fälle abdecken möchte, ziemlich viele Icons erzeugen (Wenn mich nicht alles täuscht sind es 35 Kombinationen). Weil das ziemlich zeitraubend sein kann, kann man noch das Flag &#8220;x&#8221; (icon_x.gif) definieren, welches immer dann angezeigt wird, wenn eine Flag-Kombination zutreffend wäre, für die keine Datei hinterlegt ist.</p>
<p><strong>x:</strong> <em>Icon not defined</em></p>
<h2>Icons automatisch generieren</h2>
<p>Und wem das mit dem Fallback auf icon_x.gif nicht reicht bzw. wer bei vielen Extensions immer alle Icons abdecken möchte ohne für jeden im TCA definierten Datensatz 35 Icons erzeugen zu müssen - der muss die GDLib installiert haben. Durch eine einfache Einstellung in der localconf kann man die Icons vom Gifbuilder automatisch generieren lassen, wenn man nur ein einziges Icon &#8220;icon.gif&#8221; in die Extension legt. Dazu folgende Eigenschaft in die localconf.php bzw. in das Installtool eintragen:</p>
<pre>$GLOBALS['TYPO3_CONF_VARS']['GFX']['noIconProc'] = &#8216;0&#8242;;</pre>
]]></content:encoded>
			<wfw:commentRss>http://www.typo3-scout.de/2009/02/04/icon-fur-verschiedene-zustande-der-extension-records-zb-versteckt-hidden/feed/</wfw:commentRss>
		<feedburner:origLink>http://www.typo3-scout.de/2009/02/04/icon-fur-verschiedene-zustande-der-extension-records-zb-versteckt-hidden/</feedburner:origLink></item>
		<item>
		<title>TYPO3 Sicherheitslücken gefunden</title>
		<link>http://feedproxy.google.com/~r/Typo3-scout/~3/j3VKIITsvVM/</link>
		<comments>http://www.typo3-scout.de/2009/01/20/typo3-sicherheitslucken-gefunden/#comments</comments>
		<pubDate>Tue, 20 Jan 2009 19:23:24 +0000</pubDate>
		<dc:creator>Frederic Gaus</dc:creator>
		
		<category><![CDATA[Allgemein]]></category>

		<guid isPermaLink="false">http://www.typo3-scout.de/?p=42</guid>
		<description><![CDATA[In den CORE-Paketen von TYPO3 sind zahlreiche schwerwiegende Sicherheitslücken gefunden wurden. Es sind die folgenden Versionen betroffen:

4.0.0 to 4.0.9
4.1.0 to 4.1.7
4.2.0 to 4.2.3

Im Zuge dessen sind auch gleich neue Versionen (4.0.10, 4.1.8, 4.2.4) veröffentlicht worden, da im Gegensatz zu Sicherheitslücken in Extensions in diesem Fall die TYPO3-Core betroffen ist und somit jede TYPO3-Seite angreifbar ist. [...]]]></description>
			<content:encoded><![CDATA[<p>In den CORE-Paketen von TYPO3 sind zahlreiche schwerwiegende Sicherheitslücken gefunden wurden. Es sind die folgenden Versionen betroffen:</p>
<ul>
<li>4.0.0 to 4.0.9</li>
<li>4.1.0 to 4.1.7</li>
<li>4.2.0 to 4.2.3</li>
</ul>
<p>Im Zuge dessen sind auch gleich neue Versionen (<strong>4.0.10, 4.1.8, 4.2.4</strong>) veröffentlicht worden, da im Gegensatz zu Sicherheitslücken in Extensions in diesem Fall die TYPO3-Core betroffen ist und somit jede TYPO3-Seite angreifbar ist. Zwei der insgesamt 5 Sicherheitslücken sind als &#8220;schwerwiegend&#8221; einzustufen und einem Update wird dringend angeraten.</p>
<p>Nach dem mehr-Link kann man die komplette Meldung des TYPO3-Security-Teams lesen, wo die betroffenen Pakete und deren Schwachstellen beschrieben sind und wie man diese updatet (englisch).</p>
<p><span id="more-42"></span></p>
<p class="bodytext"><strong>Component Type:</strong> TYPO3 Core</p>
<p class="bodytext"><strong>Affected Versions:</strong> TYPO3 versions 4.0.0 to 4.0.9, 4.1.0 to 4.1.7, 4.2.0 to 4.2.3</p>
<p class="bodytext"><strong>Vulnerability Types:</strong> Broken Authentication and Session Management, Cross-Site Scripting, Insecure Randomness and Remote Command Execution</p>
<p class="bodytext"><strong>Overall Severity:</strong> High</p>
<p class="bodytext">
<p class="bodytext"><strong>Vulnerable subcomponent #1: System extension Install tool (install)</strong></p>
<p class="bodytext"><strong>Vulnerability Types:</strong> Insecure Randomness</p>
<p class="bodytext"><strong>Severity:</strong> High</p>
<p class="bodytext"><strong> Problem Description:</strong> TYPO3-wide used encryption key is created with an insufficiently random seed which results in a low entropy.</p>
<p class="bodytext"><strong>Solution:</strong> Update to the TYPO3 versions 4.0.10, 4.1.8 or 4.2.4 that fix the problem described.</p>
<p>You will need to create a new encryption key! Therefore upgrade to the new TYPO3 version, clear the configuration cache, open the install tool and choose menu 1 (&#8221;Basic Configuration&#8221;). Scroll to the bottom of the page and click on the button &#8220;Generate random key&#8221;. Submit the form by clicking on &#8220;Update localconf.php&#8221;.</p>
<p>Afterwards, clear the configuration and page cache again!</p>
<p class="bodytext"><strong>Credits:</strong> Credits go to Chris John Riley (Raiffeisen Informatik, CERT Security Competence Center Zwettl, Austria) who discovered and reported the issue.</p>
<p class="bodytext">
<p class="bodytext"><strong>Vulnerable subcomponent #2: Authentication library</strong></p>
<p class="bodytext"><strong>Vulnerability Types:</strong> Broken Authentication and Session Management</p>
<p class="bodytext"><strong>Severity:</strong> High</p>
<p class="bodytext"><strong>Problem Description:</strong> TYPO3 authenticates frontend and backend users without invalidating a supplied session identifier. Therefore, TYPO3 is open for session fixation, making an attacker able to hijack a victim&#8217;s session.</p>
<p class="bodytext"><strong>Solution:</strong> Update to the TYPO3 versions 4.0.10, 4.1.8 or 4.2.4 that fix the issue described.</p>
<p class="bodytext"><strong>Credits:</strong> Credits go to TYPO3 Security Team member Marcus Krause who discovered and reported the issue.</p>
<p class="bodytext">
<p class="bodytext"><strong>Vulnerable subcomponent #3: System extension Indexed Search Engine (indexed_search)</strong></p>
<p class="bodytext"><strong>Vulnerability Types:</strong> Cross-Site Scripting, Remote Command Execution</p>
<p class="bodytext"><strong>Severity:</strong> Medium</p>
<p class="bodytext"><strong>Problem Description:</strong> Passed arguments to command-line indexer are not sanitized making this system extension susceptible to Remote Command Execution. Furthermore, the according backend module fails to sanitize user supplied input (name and content of to be indexed files) making this system extension susceptible to Cross-Site Scripting.</p>
<p class="bodytext"><strong>Solution:</strong> Update to the TYPO3 versions 4.0.10, 4.1.8 or 4.2.4 that fix the issues described.</p>
<p class="bodytext"><strong>Credits:</strong> Credits go to Mads Olesen who discovered and reported the issues.</p>
<p class="bodytext">
<p class="bodytext"><strong>Vulnerable subcomponent #4: System extension ADOdb (adodb)</strong></p>
<p class="bodytext"><strong>Vulnerability Types:</strong> Cross-Site Scripting</p>
<p class="bodytext"><strong>Severity:</strong> Medium</p>
<p class="bodytext"><strong>Problem Description:</strong> Test scripts fail to sanitize user supplied input making this system extension susceptible to Cross-Site Scripting.</p>
<p class="bodytext"><strong>Solution:</strong> Update to the TYPO3 versions 4.0.10, 4.1.8 or 4.2.4 that fix the issues described.</p>
<p class="bodytext"><strong>Credits:</strong> Credits go to Mads Olesen who discovered and reported the issue.</p>
<p class="bodytext">
<p class="bodytext"><strong>Vulnerable subcomponent #5: Workspace module</strong></p>
<p class="bodytext"><strong>Vulnerability Types:</strong> Cross-Site Scripting</p>
<p class="bodytext"><strong>Severity:</strong> Medium</p>
<p class="bodytext"><strong>Problem Description:</strong> The module fails to sanitize user supplied input making this module susceptible to Cross-Site Scripting.</p>
<p class="bodytext"><strong>Solution:</strong> Update to the TYPO3 versions 4.0.10, 4.1.8 or 4.2.4 that fix the issue described.</p>
<p class="bodytext"><strong>Credits:</strong> Credits go to Daniel Fabian (SEC Consult, Austria) who discovered and reported the issue.</p>
<p class="bodytext">
<p class="bodytext"><strong>Note on TYPO3 Lifecycle Policy</strong>:</p>
<p class="bodytext">The following TYPO3 versions are currently (as of January 2009) officially supported:</p>
<ul>
<li>TYPO3 4.2 (current stable; updates and security fixes)</li>
<li>TYPO3 4.1 (old stable; updates and security fixes)</li>
<li>TYPO3 4.0 (old old stable; security fixes only)</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://www.typo3-scout.de/2009/01/20/typo3-sicherheitslucken-gefunden/feed/</wfw:commentRss>
		<feedburner:origLink>http://www.typo3-scout.de/2009/01/20/typo3-sicherheitslucken-gefunden/</feedburner:origLink></item>
		<item>
		<title>TemplaVoila Preview in Vorschau ausblenden</title>
		<link>http://feedproxy.google.com/~r/Typo3-scout/~3/6ME3gl68d88/</link>
		<comments>http://www.typo3-scout.de/2009/01/20/templavoila-preview-in-vorschau-ausblenden/#comments</comments>
		<pubDate>Tue, 20 Jan 2009 16:44:53 +0000</pubDate>
		<dc:creator>Frederic Gaus</dc:creator>
		
		<category><![CDATA[Extension]]></category>

		<category><![CDATA[Frontend]]></category>

		<category><![CDATA[Tipp]]></category>

		<category><![CDATA[Layout]]></category>

		<category><![CDATA[Preview]]></category>

		<category><![CDATA[TemplaVoila]]></category>

		<category><![CDATA[TypoScript]]></category>

		<guid isPermaLink="false">http://www.typo3-scout.de/?p=41</guid>
		<description><![CDATA[Wenn man in seiner TYPO3-Instanz TemplaVoila verwendet und sich eine verstecke Seite in der Vorschau anzeigt bzw. mit Workspaces arbeitet, werden in der Preview Infofenster angezeigt, welche durchaus auch mal sehr nervig sein können oder gleich das ganze Layout zerschießen, wenn man mit der Maus über entsprechende Elemente fährt. Jedoch lässt sich dieses Feature ganz [...]]]></description>
			<content:encoded><![CDATA[<p>Wenn man in seiner TYPO3-Instanz <strong>TemplaVoila </strong>verwendet und sich eine <strong>verstecke Seite</strong> in der <strong>Vorschau</strong> anzeigt bzw. mit Workspaces arbeitet, werden in der Preview Infofenster angezeigt, welche durchaus auch mal sehr nervig sein können oder gleich das ganze Layout zerschießen, wenn man mit der Maus über entsprechende Elemente fährt. Jedoch lässt sich dieses Feature ganz einfach ausschalten. In dem CObject des Page-Objektes setzt man die Option <em>disableExplosivePreview </em>auf 1. Beispiel:</p>
<pre>page.10 = USER
page.10.userFunc = tx_templavoila_pi1-&gt;main_page
page.10.disableExplosivePreview = 1</pre>
<p>Will man auch noch das von TYPO3 angezeigte kleine rote Schild &#8220;<strong>Preview</strong>&#8221; deaktivieren, kann man folgende Eigenschaft in TYPOScript setzen:</p>
<pre>config {</pre>
<pre>    # Disable Preview Message in FE</pre>
<pre>    #message_preview = &lt;!-- --&gt;</pre>
<pre>}</pre>
]]></content:encoded>
			<wfw:commentRss>http://www.typo3-scout.de/2009/01/20/templavoila-preview-in-vorschau-ausblenden/feed/</wfw:commentRss>
		<feedburner:origLink>http://www.typo3-scout.de/2009/01/20/templavoila-preview-in-vorschau-ausblenden/</feedburner:origLink></item>
		<item>
		<title>Navigationstitel (nav_title) statt normalen Titel (title) im Backend anzeigen</title>
		<link>http://feedproxy.google.com/~r/Typo3-scout/~3/Y22Dl5bWGK4/</link>
		<comments>http://www.typo3-scout.de/2009/01/12/navigationstitel-nav_title-statt-normalen-titel-title-im-backend-anzeigen/#comments</comments>
		<pubDate>Mon, 12 Jan 2009 15:53:00 +0000</pubDate>
		<dc:creator>Frederic Gaus</dc:creator>
		
		<category><![CDATA[Backend]]></category>

		<category><![CDATA[Tipp]]></category>

		<category><![CDATA[nav_title]]></category>

		<category><![CDATA[option]]></category>

		<category><![CDATA[title]]></category>

		<category><![CDATA[TypoScript]]></category>

		<guid isPermaLink="false">http://www.typo3-scout.de/?p=40</guid>
		<description><![CDATA[Wer viel mit SEO und SEM macht hat häufig das Problem, dass er sehr lange Titel hat. Dies lässt sich im Frontend ganz einfach dadurch kompensieren, dass man im Seitenheader auch noch das Feld nav_title setzt. Dieses wird dann für die Beschriftung des Navigationspunktes genommen.
Auch an anderer Stelle kann über TypoScript einfach mit diesem Navigationstitel [...]]]></description>
			<content:encoded><![CDATA[<p>Wer viel mit SEO und SEM macht hat häufig das Problem, dass er sehr lange Titel hat. Dies lässt sich im Frontend ganz einfach dadurch kompensieren, dass man im Seitenheader auch noch das Feld nav_title setzt. Dieses wird dann für die Beschriftung des Navigationspunktes genommen.</p>
<p>Auch an anderer Stelle kann über TypoScript einfach mit diesem Navigationstitel gearbeitet werden. Ein kleines Beispiel ist:</p>
<pre>10 = TEXT
10.data = field:nav_title // field:title</pre>
<p>Durch dieses TypoScript-Konstrukt wird das cObject-Element 10 immer dann mit dem Feld <strong>Title</strong> gefüllt, wenn <strong>nav_title</strong> leer ist. Andernfalls wird der Inhalt von nav_title genommen.</p>
<p>Im Backend gab es lange Zeit jedoch nicht die Möglichkeit, im Pagetree den <strong>nav_title</strong> zu verwenden. Seit der Version 4.2 hat sich das geändert und man kann über eine UserTS-Option eine entsprechende Konfiguration vornehmen:</p>
<pre>options.pageTree.showNavTitle = 1</pre>
<p><del datetime="2009-01-13T06:51:57+00:00">Leider ist es zurzeit nicht möglich, diese Option auch global einzustellen so dass sie für alle Backend-Benutzer gilt, beispielsweise über die TSConfig-Einstellungen in der Seite. Aber vielleicht kommt das noch. </del><br />
<strong>UPDATE:</strong> Mit folgendem Eintrag in der localconf.php kann man die Einstellung für alle User der TYPO3-Instanz einstellen:</p>
<pre>t3lib_extMgm::addUserTSConfig(’options.pageTree.showNavTitle = 1′);</pre>
<p>Vielen Dank an Rankone für den Kommentar.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.typo3-scout.de/2009/01/12/navigationstitel-nav_title-statt-normalen-titel-title-im-backend-anzeigen/feed/</wfw:commentRss>
		<feedburner:origLink>http://www.typo3-scout.de/2009/01/12/navigationstitel-nav_title-statt-normalen-titel-title-im-backend-anzeigen/</feedburner:origLink></item>
		<item>
		<title>FLOW3 könnte die PHP-Welt auf den Kopf stellen</title>
		<link>http://feedproxy.google.com/~r/Typo3-scout/~3/KZyIvc7SZlo/</link>
		<comments>http://www.typo3-scout.de/2008/10/13/flow3-konnte-die-php-welt-auf-den-kopf-stellen/#comments</comments>
		<pubDate>Mon, 13 Oct 2008 20:12:40 +0000</pubDate>
		<dc:creator>Michael Türk</dc:creator>
		
		<category><![CDATA[Allgemein]]></category>

		<category><![CDATA[FLOW3]]></category>

		<category><![CDATA[Typo3 5.0]]></category>

		<guid isPermaLink="false">http://www.typo3-scout.de/?p=39</guid>
		<description><![CDATA[Am vergangenen Donnerstag durften wir auf der TYPO3 Convention 2008 einen aktualisierten Blick in das PHP5-Applikationsframework FLOW3 werfen dürfen, welches auch die Grundlage für TYPO3 5.0 bildet. Bereits im vergangenen Jahr wurde die TYPO3-Messe von diesen Themen dominiert, dieses Jahr gab es etwas konkretere Beispiele zu sehen.
Das Framework vereint hierbei viele Vorgehensweisen aus anderen Frameworks [...]]]></description>
			<content:encoded><![CDATA[<p>Am vergangenen Donnerstag durften wir auf der TYPO3 Convention 2008 einen aktualisierten Blick in das PHP5-Applikationsframework FLOW3 werfen dürfen, welches auch die Grundlage für TYPO3 5.0 bildet. Bereits im vergangenen Jahr wurde die TYPO3-Messe von diesen Themen dominiert, dieses Jahr gab es etwas konkretere Beispiele zu sehen.</p>
<p>Das Framework vereint hierbei viele Vorgehensweisen aus anderen Frameworks (wie dem Zend Framework oder Rails) mit Ideen aus der Java-Welt und dem bekannten Java-Framework Spring. Hierbei kommen auch Konzepte zum Einsatz, die bisher noch nicht in der PHP-Welt zu finden waren. Einige Beispiele werden im Folgenden kurz vorgestellt:</p>
<ul>
<li> Als ein gutes Beispiel kann hier Aspect Oriented Programming (AOP) genannt werden. Hierbei werden alle Klassen einer FLOW3-Anwendung automatisch über Reflection analysiert und bei Bedarf um verschiedene Funktionen erweitert. Au-ßerdem ist es Entwicklern in sogenannten Aspects möglich, die Abläufe an bestimmten Stellen der Programmausführung dynamisch zu verändern. Diese Stellen, sogenannte „cross-cutting concerns“, können beispielsweise genutzt werden, um während der Laufzeit zu prüfen, ob der jeweilige Benutzer überhaupt berechtigt ist, die aktuelle Aktion auszuführen.</li>
<li> Ein weiteres Prinzip, das den meisten PHP-Entwicklern bisher noch neu vorkommen sollte, ist Domain Driven Design. Hierbei soll es den Entwicklern ermöglicht werden, sich auf die Umsetzung der jeweiligen Geschäftslogik zu konzentrieren. Nebenschauplätze wie Persistenz oder Sicherheit werden entweder automatisch von FLOW3 oder über AOP adressiert.</li>
<li>Um die Speicherung von Objekten kümmert sich das eigens entwickelte Content Repository nach JSR-283 Standard. Hierbei erstellt der Entwickler ausschließlich PHP-Objekte mit entsprechender PHP-Dokumentation, ohne über XML oder YAML eine Konfiguration erstellen zu müssen. FLOW3 erkennt anhand der Klassenkonfiguration, den Attributen und Methoden sowie den dazugehörigen Dokumentationen automatisch alle zu speichernden Werte. Die Persistenz soll in Kürze in einem eigenem Beitrag genauer erläutert werden. Bereits vor seiner endgültigen Fertigstellung schlägt das TYPO3 Content Repository jedoch bereits Wellen: TYPO3 5.0 Core Entwickler Karsten Dambelkans wurde als Mitglied zum JSR-283-Standard-Ausschuss berufen – eine Ehre, die nur den Größten der Software-Szene zuteil wird.</li>
<li>Während in herkömmlichen Anwendungen alle Abhängigkeiten innerhalb der Objekte selbst festgelegt werden, kann Dependency Injection dafür sorgen, dass starre Abhängigkeiten reduziert werden. FLOW3-Komponenten lassen sich so flexibel je nach Laufzeitumgebung und Konfiguration austauschen und so auf die situativen Umstände der Anwendung anpassen.</li>
</ul>
<p>Um das Framework prinzipiell nutzen zu können, ist PHP Version 5.3 Pflicht. Dies liegt nicht zuletzt daran, dass FLOW3 bereits jetzt Namespaces nutzt, um seine Klassen zu ordnen. Zum jetzigen Zeitpunkt liegt diese Entscheidung Entwicklern noch relativ schwer im Magen, da noch keine Entwicklungsumgebungen existieren, die Namespaces direkt unterstützen.</p>
<p>Oben genannte Operationen sind jedoch relativ rechenintensiv, so dass ein zentrales Prinzip auch in FLOW3 und TYPO3 5.0 erhalten geblieben ist: das Caching. So werden alle Ergebnisse der Klassenanalyse und –erweiterung in einem Datenordner zwischengespeichert und so auf Performance optimiert. Trotzdem versprechen die Core-Entwickler auch in der ungecachten Verarbeitung noch deutliche Geschwindigkeitsverbesserungen. In diesem Zusammenhang konnte Robert Lemke jedoch gleich allen Zuhörern fünf Tipps auf den Weg geben, die bereits für TYPO3 4.x oftmals Geltung hatten:<br />
1.    Immer die aktuellste Version !!!<br />
2.    Cache leeren !!!<br />
3.    Dokumentation lesen !!!<br />
4.    Newsgroups durchsuchen !!!<br />
5.    Es ist kein Fehler, sondern ein fehlendes Feature !!!</p>
<p>Insgesamt sieht FLOW3 (wie übrigens schon im vergangenen Jahr) sehr vielversprechend aus. Die Resonanz, die verschiedene Universitäten und sonstige Organisatoren zeigen, bestätigt dies. Bestehen bleiben jedoch einige Zweifel, ob es je zu einem Abschluss der Arbeiten kommt. Doch hier konnte Robert Entwarnung geben: Bereits Ende des Jahres sei mit einer stabilen Beta-Version oder gar einer ersten finalen Version des Frameworks zu rechnen. So dieser Zeitpunkt eingehalten werden kann, ist davon auszugehen, dass mit FLOW3 dann das wohl mächtigste PHP Anwendungs-Framework seiner Zeit auch aus dem Hause TYPO3 stammt.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.typo3-scout.de/2008/10/13/flow3-konnte-die-php-welt-auf-den-kopf-stellen/feed/</wfw:commentRss>
		<feedburner:origLink>http://www.typo3-scout.de/2008/10/13/flow3-konnte-die-php-welt-auf-den-kopf-stellen/</feedburner:origLink></item>
		<item>
		<title>T3Con08: Live aus Berlin</title>
		<link>http://feedproxy.google.com/~r/Typo3-scout/~3/Y0d1lANqp8c/</link>
		<comments>http://www.typo3-scout.de/2008/10/09/t3con08-live-aus-berlin/#comments</comments>
		<pubDate>Thu, 09 Oct 2008 13:35:50 +0000</pubDate>
		<dc:creator>Michael Türk</dc:creator>
		
		<category><![CDATA[Allgemein]]></category>

		<guid isPermaLink="false">http://www.typo3-scout.de/?p=38</guid>
		<description><![CDATA[Hallo,
morgen beginnt die Typo3 Convention 2008 in Berlin offiziell und bereits heute gibt es einiges zu sehen, denn heute stehen die Tutorials auf dem Plan. Wir sind mit zwei Personen auf der T3Con unterwegs und werden hier unsere Eindrücke und den einen oder anderen Beitrag kommentieren.
Am morgigen Freitag sind wir dann direkt selbst dran mit [...]]]></description>
			<content:encoded><![CDATA[<p>Hallo,</p>
<p>morgen beginnt die Typo3 Convention 2008 in Berlin offiziell und bereits heute gibt es einiges zu sehen, denn heute stehen die Tutorials auf dem Plan. Wir sind mit zwei Personen auf der T3Con unterwegs und werden hier unsere Eindrücke und den einen oder anderen Beitrag kommentieren.</p>
<p>Am morgigen Freitag sind wir dann direkt selbst dran mit unserem Beitrag zum Thema Integration von Magento und TYPO3. Doch hierzu wird man später mehr lesen können.</p>
<p>Bis dahin - viele Grüße an alle Leser aus Berlin!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.typo3-scout.de/2008/10/09/t3con08-live-aus-berlin/feed/</wfw:commentRss>
		<feedburner:origLink>http://www.typo3-scout.de/2008/10/09/t3con08-live-aus-berlin/</feedburner:origLink></item>
		<item>
		<title>Lokale Anker und RealURL</title>
		<link>http://feedproxy.google.com/~r/Typo3-scout/~3/Dt0PnYdwuKE/</link>
		<comments>http://www.typo3-scout.de/2008/09/01/lokale-anker-und-realurl/#comments</comments>
		<pubDate>Mon, 01 Sep 2008 16:13:02 +0000</pubDate>
		<dc:creator>Frederic Gaus</dc:creator>
		
		<category><![CDATA[Tipp]]></category>

		<category><![CDATA[Anker]]></category>

		<category><![CDATA[Konfiguration]]></category>

		<category><![CDATA[RealURL]]></category>

		<category><![CDATA[TypoScript]]></category>

		<guid isPermaLink="false">http://www.typo3-scout.de/?p=37</guid>
		<description><![CDATA[Eine Beschreibung, wie TYPO3 konfiguriert werden muss, damit lokale Anker auch mit aktiviertem RealURL funktioniert.]]></description>
			<content:encoded><![CDATA[<p>Wenn man bei einer TYPO3-Webseite suchmaschinenfreundliche URLs, beispielsweise durch die Extension RealURL, verwenden möchte, muss man dafür die Eigenschaft baseURL in TypoScript setzen.</p>
<pre>config {
  simulateStaticDocuments = 0
  baseURL = http://www.typo3-scout.de/
  tx_realurl_enable = 1
}</pre>
<p>Nun hat man aber ein Problem, wenn man zeitgleich lokale Anker verwenden möchte. Die funktionieren nun nicht mehr korrekt. Eine einfache Konfiguration in TypoScript behebt aber auch dieses Problem. Man setzt einfach zusätzlich noch</p>
<pre>prefixLocalAnchors = all</pre>
]]></content:encoded>
			<wfw:commentRss>http://www.typo3-scout.de/2008/09/01/lokale-anker-und-realurl/feed/</wfw:commentRss>
		<feedburner:origLink>http://www.typo3-scout.de/2008/09/01/lokale-anker-und-realurl/</feedburner:origLink></item>
		<item>
		<title>Eine vergessene Funktion: substituteMarkerArrayCached</title>
		<link>http://feedproxy.google.com/~r/Typo3-scout/~3/FvRR1Po-ET0/</link>
		<comments>http://www.typo3-scout.de/2008/08/18/eine-vergessene-funktion-substitutemarkerarraycached/#comments</comments>
		<pubDate>Mon, 18 Aug 2008 09:27:10 +0000</pubDate>
		<dc:creator>Michael Türk</dc:creator>
		
		<category><![CDATA[Allgemein]]></category>

		<category><![CDATA[Extension]]></category>

		<category><![CDATA[Frontend]]></category>

		<category><![CDATA[PHP]]></category>

		<guid isPermaLink="false">http://www.typo3-scout.de/?p=35</guid>
		<description><![CDATA[TYPO3 stellt diverse Funktionen zur Verfügung, die die Erstellung von Extensions deutlich vereinfachen. Dabei gibt es auch einige, die selten genutzt werden, obwohl sie bestimmte Probleme deutlich vereinfachen.
Eine dieser Funktionen ist substituteMarkerArrayCached. Sie dient dem vereinfachten Austausch von Markern, Subparts und sogenannten Wrapped Subparts. Marker lassen sich zugegebenermaßen auch über substituteMarkerArray, Subparts über substituteSubparts austauschen. [...]]]></description>
			<content:encoded><![CDATA[<p>TYPO3 stellt diverse Funktionen zur Verfügung, die die Erstellung von Extensions deutlich vereinfachen. Dabei gibt es auch einige, die selten genutzt werden, obwohl sie bestimmte Probleme deutlich vereinfachen.</p>
<p>Eine dieser Funktionen ist substituteMarkerArrayCached. Sie dient dem vereinfachten Austausch von Markern, Subparts und sogenannten Wrapped Subparts. Marker lassen sich zugegebenermaßen auch über substituteMarkerArray, Subparts über substituteSubparts austauschen. Auf die Vorteile dieser Funktion werde ich im Nachfolgenden kurz eingehen.</p>
<p>Zunächst vermag sie, wie bereits angedeutet Wrapped Subparts auszutauschen (soweit ich das bisher gesehen habe, ist es überhaupt die einzige). Mit solchen Wrapped Subparts ist es möglich, Elemente im Template in durch PHP zu umrahmen, was sich inbesondere bei Verlinkungen auszahlen kann. Was das bedeutet, sollen folgende Codeschnipsel andeuten:</p>
<div class="dean_ch" style="white-space: wrap;">
<ol>
<li class="li1">
<div class="de1">&lt;!&#8211; <span class="co2">###LINK_ITEM### &#8211;&gt;Weitere Informationen&lt;!&#8211; ###LINK_ITEM### &#8211;&gt;</span></div>
</li>
</ol>
</div>
<p>Nun lässt sich mit nachfolgendem Code bequem ein Link um das &#8220;Weitere Informationen&#8221; setzen:</p>
<div class="dean_ch" style="white-space: wrap;">
<ol>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; <span class="re0">$wrappedSubparts</span><span class="br0">&#91;</span><span class="st0">&#8216;###LINK_ITEM###&#8217;</span><span class="br0">&#93;</span> = <a href="http://www.php.net/explode"><span class="kw3">explode</span></a><span class="br0">&#40;</span><span class="st0">&#8216;|&#8217;</span>, <span class="re0">$this</span>-&gt;<span class="me1">pi_linkTP_keepPIvars</span><span class="br0">&#40;</span><span class="st0">&#8216;|&#8217;</span>, <a href="http://www.php.net/array"><span class="kw3">array</span></a><span class="br0">&#40;</span><span class="st0">&#8216;function&#8217;</span> =&gt; <span class="st0">&#8216;var&#8217;</span><span class="br0">&#41;</span>, <span class="re0">$value</span><span class="br0">&#41;</span><span class="br0">&#41;</span>;</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; <span class="re0">$content</span> .= <span class="re0">$this</span>-&gt;<span class="me1">cObj</span>-&gt;<span class="me1">substituteMarkerArrayCached</span><span class="br0">&#40;</span><span class="re0">$template</span>, <span class="re0">$markerArray</span>, <span class="re0">$subparts</span>, <span class="re0">$wrappedSubparts</span><span class="br0">&#41;</span>;</div>
</li>
</ol>
</div>
<p>Wie gezeigt werden im Gegensatz zu normalen Markern und Subparts nicht einzelne Inhalte, sondern jeweils zwei übergeben, die vor bzw. hinter dem Elemente eingefügt werden. Da substituteMarkerArrayCached nicht allzu verbreitet ist, wurde diese Funktionalität bisher relativ oft über die Kombination von getSubpart und substituteSubpart realisiert. Dies führt nicht zuletzt auch zu deutlich unübersichtlicherem und unlesbarerem Code.</p>
<p>Außerdem hilft die Funktion auch punktuell die Performance der Verarbeitung der Strings zu verbessern. Dies wird über Überprüfung und Caching des übergebenen Template-Code und den Daten-Arrays vor der Verarbeitung gewährleistet. Dies sollte sicher nicht überbewertet werden, kann sich bei konsequenter Anwendung aller Caching-Mechanismen jedoch auch positiv auswirken.</p>
<p>Insgesamt wird mit substituteMarkerArrayCached ein Werkzeug an die Entwicklerhand gegeben, die das Leben durchaus erleichtern kann. Ein genauerer Blick kann sich also durchaus lohnen!</p>
<p>PS: Wir sind durchaus offen für weitere vorstellungswürdige Funktionen, die in TYPO3 versteckt schlummern und auf ihre Nutzung warten.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.typo3-scout.de/2008/08/18/eine-vergessene-funktion-substitutemarkerarraycached/feed/</wfw:commentRss>
		<feedburner:origLink>http://www.typo3-scout.de/2008/08/18/eine-vergessene-funktion-substitutemarkerarraycached/</feedburner:origLink></item>
		<item>
		<title>Flexible runde Ecken mit TYPO3</title>
		<link>http://feedproxy.google.com/~r/Typo3-scout/~3/NnQsvVyyko4/</link>
		<comments>http://www.typo3-scout.de/2008/07/28/flexible-runde-ecken-mit-typo3/#comments</comments>
		<pubDate>Mon, 28 Jul 2008 06:07:40 +0000</pubDate>
		<dc:creator>Andreas Bouché</dc:creator>
		
		<category><![CDATA[Allgemein]]></category>

		<category><![CDATA[Tipp]]></category>

		<guid isPermaLink="false">http://www.typo3-scout.de/?p=30</guid>
		<description><![CDATA[Bilder mit runden Ecken lassen sich in TYPO3 recht einfach mit einer Bildmaske realisieren. Sollen aber Bilder mit unterschiedlichen Abmessungen ersetzt werden, ist es von Vorteil, die Bildmaske dynamisch generieren zu lassen. Benötigt werden dann nur die vier Eckmasken:







Für ein einfaches An- bzw. Abschalten der runden Ecken bedienen wir uns des kaum genutzen (und in [...]]]></description>
			<content:encoded><![CDATA[<p>Bilder mit runden Ecken lassen sich in TYPO3 recht einfach mit einer Bildmaske realisieren. Sollen aber Bilder mit unterschiedlichen Abmessungen ersetzt werden, ist es von Vorteil, die Bildmaske dynamisch generieren zu lassen. Benötigt werden dann nur die vier Eckmasken:</p>

<a href='http://www.typo3-scout.de/2008/07/28/flexible-runde-ecken-mit-typo3/cornermask_tr/' title='cornermask_tr'><img src="http://www.typo3-scout.de/wp-content/uploads/2008/07/cornermask_tr.gif" width="15" height="15" class="attachment-thumbnail" alt="" /></a>
<a href='http://www.typo3-scout.de/2008/07/28/flexible-runde-ecken-mit-typo3/cornermask_bl/' title='cornermask_bl'><img src="http://www.typo3-scout.de/wp-content/uploads/2008/07/cornermask_bl.gif" width="15" height="15" class="attachment-thumbnail" alt="" /></a>
<a href='http://www.typo3-scout.de/2008/07/28/flexible-runde-ecken-mit-typo3/cornermask_br/' title='cornermask_br'><img src="http://www.typo3-scout.de/wp-content/uploads/2008/07/cornermask_br.gif" width="15" height="15" class="attachment-thumbnail" alt="" /></a>
<a href='http://www.typo3-scout.de/2008/07/28/flexible-runde-ecken-mit-typo3/cornermask_tl/' title='cornermask_tl'><img src="http://www.typo3-scout.de/wp-content/uploads/2008/07/cornermask_tl.gif" width="15" height="15" class="attachment-thumbnail" alt="" /></a>

<p><span id="more-30"></span></p>
<p>Für ein einfaches An- bzw. Abschalten der runden Ecken bedienen wir uns des kaum genutzen (und in TYPO3 4.2 standardmässig deaktivierten) Rahmen-Feldes des &#8216;Text mit Bild&#8217;-Inhaltselements. Hierfür überschreiben wir nicht das tt_content.image Objekt direkt, sondern die Objekte tt_content.image.20.image_frames und tt_content.textpic.20.image_frames. Mit wenigen Zeilen TSConfig aktivieren wir schließlich das Feld und fügen einen neuen Eintrag hinzu.</p>
<p>TypoScript Setup:</p>
<div class="dean_ch" style="white-space: wrap;">
<ol>
<li class="li1">
<div class="de1">styles.content.imgFrames.10 {
</div>
</li>
<li class="li1">
<div class="de1">&nbsp; import.current = 1
</div>
</li>
<li class="li1">
<div class="de1">&nbsp; width.field = imagewidth
</div>
</li>
<li class="li1">
<div class="de1">&nbsp; mask.import.cObject = IMG_RESOURCE
</div>
</li>
<li class="li2">
<div class="de2">&nbsp; mask.import.cObject.file = GIFBUILDER
</div>
</li>
<li class="li1">
<div class="de1">&nbsp; mask.import.cObject.file {
</div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; XY = [10.w],[10.h]
</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; format = gif
</div>
</li>
<li class="li2">
<div class="de2">&nbsp;</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; 10 = IMAGE
</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; 10.file {
</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; import.current = 1
</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; width.field = imagewidth
</div>
</li>
<li class="li2">
<div class="de2">&nbsp; &nbsp; &nbsp; maxW = {$styles.content.imgtext.maxW}
</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; maxW.override.data = register:maxImageWidth
</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; maxWInText = {$styles.content.imgtext.maxWInText}
</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; maxWInText.override.data = register:maxImageWidthInText
</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; }
</div>
</li>
<li class="li2">
<div class="de2">&nbsp;</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; 20 = BOX
</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; 20.dimensions = 0,0,[10.w],[10.h]
</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; 20.color = #FFFFFF
</div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li2">
<div class="de2">&nbsp; &nbsp; 30 = IMAGE
</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; 30.file = {$imagePath}cornermask_tl.gif
</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; 30.align = l,t
</div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; 40 = IMAGE
</div>
</li>
<li class="li2">
<div class="de2">&nbsp; &nbsp; 40.file = {$imagePath}cornermask_tr.gif
</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; 40.align = r,t
</div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; 50 = IMAGE
</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; 50.file = {$imagePath}cornermask_bl.gif
</div>
</li>
<li class="li2">
<div class="de2">&nbsp; &nbsp; 50.align = l,b
</div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; 60 = IMAGE
</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; 60.file = {$imagePath}cornermask_br.gif
</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; 60.align = r,b
</div>
</li>
<li class="li2">
<div class="de2">&nbsp; }
</div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li1">
<div class="de1">&nbsp; bgImg.import.cObject = IMG_RESOURCE
</div>
</li>
<li class="li1">
<div class="de1">&nbsp; bgImg.import.cObject.file = GIFBUILDER
</div>
</li>
<li class="li1">
<div class="de1">&nbsp; bgImg.import.cObject.file {
</div>
</li>
<li class="li2">
<div class="de2">&nbsp;</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; XY = [10.w],[10.h]
</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; format = gif
</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; 10 = BOX
</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; 10.dimensions = 0,0,10,10
</div>
</li>
<li class="li2">
<div class="de2">&nbsp; &nbsp; 10.color = {$bgColor}
</div>
</li>
<li class="li1">
<div class="de1">&nbsp; }
</div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li1">
<div class="de1">}
</div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li2">
<div class="de2">tt_content.image.20 {
</div>
</li>
<li class="li1">
<div class="de1">&nbsp;image_frames.key.field = image_frames
</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; image_frames.10 &lt; styles.content.imgFrames.10
</div>
</li>
<li class="li1">
<div class="de1">}
</div>
</li>
<li class="li1">
<div class="de1">tt_content.textpic.20 {
</div>
</li>
<li class="li2">
<div class="de2">&nbsp; image_frames.key.field = image_frames
</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; image_frames.10 &lt; styles.content.imgFrames.10
</div>
</li>
<li class="li1">
<div class="de1">}</div>
</li>
</ol>
</div>
<p>TypoScript Constants:</p>
<div class="dean_ch" style="white-space: wrap;">
<ol>
<li class="li1">
<div class="de1"># Pfad zu den Bildmasken
</div>
</li>
<li class="li1">
<div class="de1">imagePath = fileadmin/templates/img/
</div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li1">
<div class="de1"># Hintergrundfarbe der Seite
</div>
</li>
<li class="li2">
<div class="de2">bgColor = #FFFFFF</div>
</li>
</ol>
</div>
<p>TSConfig:</p>
<div class="dean_ch" style="white-space: wrap;">
<ol>
<li class="li1">
<div class="de1">TCEFORM.tt_content.image_frames.disabled=0
</div>
</li>
<li class="li1">
<div class="de1">TCEFORM.tt_content.image_frames.removeItems = 1,2,3,4,5,6,7,8
</div>
</li>
<li class="li1">
<div class="de1">TCEFORM.tt_content.image_frames.addItems.10 = runde Ecken</div>
</li>
</ol>
</div>
]]></content:encoded>
			<wfw:commentRss>http://www.typo3-scout.de/2008/07/28/flexible-runde-ecken-mit-typo3/feed/</wfw:commentRss>
		<feedburner:origLink>http://www.typo3-scout.de/2008/07/28/flexible-runde-ecken-mit-typo3/</feedburner:origLink></item>
	</channel>
</rss>
