<?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>Netzelf Blog &#187; TYPO3</title>
	<atom:link href="http://blog.netzelf.de/lang/de/category/typo3/feed" rel="self" type="application/rss+xml" />
	<link>http://blog.netzelf.de</link>
	<description>Ein weiteres tolles WordPress-Blog</description>
	<lastBuildDate>Mon, 19 Sep 2011 22:31:44 +0000</lastBuildDate>
	<language>de</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.1</generator>
		<item>
		<title>Content-Elemente durchnummerieren</title>
		<link>http://blog.netzelf.de/lang/de/tipps-und-tricks/content-elemente-durchnummerieren</link>
		<comments>http://blog.netzelf.de/lang/de/tipps-und-tricks/content-elemente-durchnummerieren#comments</comments>
		<pubDate>Wed, 23 Jun 2010 00:25:10 +0000</pubDate>
		<dc:creator>Christian Opitz</dc:creator>
				<category><![CDATA[TYPO3]]></category>
		<category><![CDATA[Tipps und Tricks]]></category>
		<category><![CDATA[TypoScript]]></category>

		<guid isPermaLink="false">http://blog.netzelf.de/?p=71</guid>
		<description><![CDATA[Von Zeit zu Zeit ist es sinnvoll, die Content-Elemente (&#60;div class=&#8221;csc-default&#8221;&#62;&#124;&#60;/div&#62;) durchgehend zu nummerieren. Dies dient besonders der Formatierung in Abhängigkeit von der Reihenfolge, da die IDs der Content-Elemente nur dann dafür geeignet sind, wenn sie nicht gelöscht oder umsortiert werden. Unter der Voraussetzung, dass CSS-Styled-Content verwendet wird, kann dazu folgender Code verwendet werden: tt_content.stdWrap.innerWrap.cObject.default [...]]]></description>
			<content:encoded><![CDATA[<p>Von Zeit zu Zeit ist es sinnvoll, die Content-Elemente (&#60;div class=&#8221;csc-default&#8221;&#62;&#124;&#60;/div&#62;) durchgehend zu nummerieren. Dies dient besonders der Formatierung in Abhängigkeit von der Reihenfolge, da die IDs der Content-Elemente nur dann dafür geeignet sind, wenn sie nicht gelöscht oder umsortiert werden. Unter der Voraussetzung, dass CSS-Styled-Content verwendet wird, kann dazu folgender Code verwendet werden:<span id="more-71"></span></p>
<div class="code">tt_content.stdWrap.innerWrap.cObject.default {<br />
14 = LOAD_REGISTER<br />
14.counter {<br />
data = register:counter<br />
stdWrap.wrap = &#124;+1<br />
prioriCalc = 1<br />
}<br />
15 {<br />
value = csc-{register:counter} csc-default<br />
insertData = 1<br />
}<br />
}</div>
<p><span>Damit wird jedem der Content-DIVs eine zusätzliche Klasse csc- mit fortlaufender Nummer hinzugefügt.<br />
</span></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.netzelf.de/lang/de/tipps-und-tricks/content-elemente-durchnummerieren/feed</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>tslib_cObj-&gt;IMAGE im Backend</title>
		<link>http://blog.netzelf.de/lang/de/tipps-und-tricks/tslib_cobj-image-im-backend</link>
		<comments>http://blog.netzelf.de/lang/de/tipps-und-tricks/tslib_cobj-image-im-backend#comments</comments>
		<pubDate>Mon, 10 May 2010 00:50:49 +0000</pubDate>
		<dc:creator>Christian Opitz</dc:creator>
				<category><![CDATA[TYPO3]]></category>
		<category><![CDATA[Tipps und Tricks]]></category>

		<guid isPermaLink="false">http://blog.netzelf.de/?p=45</guid>
		<description><![CDATA[Für die Website eines Kunden, auf der FE-Nutzer teils recht große Bilder hochladen können, suchte ich nach einer Möglichkeit, die Bilder im Backend anzuzeigen. Dazu fügte ich dem TCA ein USER-Feld hinzu, welche das Foto ausgibt. In dieser Funktion habe ich zunächst auf die Backend-Funktion t3lib_befunc::getThumbnail() zurückgegriffen, was sich allerdings als ungünstig herausstellte, da 1. [...]]]></description>
			<content:encoded><![CDATA[<p>Für die Website eines Kunden, auf der FE-Nutzer teils recht große Bilder hochladen können, suchte ich nach einer Möglichkeit, die Bilder im Backend anzuzeigen. Dazu fügte ich dem TCA ein USER-Feld hinzu, welche das Foto ausgibt. In dieser Funktion habe ich zunächst auf die Backend-Funktion t3lib_befunc::getThumbnail() zurückgegriffen, was sich allerdings als ungünstig herausstellte, da 1. die Qualität sehr schlecht war 2. größere Bilder auf dem Webspace von der Stange häufig nur zur Hälfte erzeugt wurden.<span id="more-45"></span></p>
<p>Daraufhin war die Überlegung, die &#8220;Thumbnails&#8221; nicht über die BE- sondern die FE-Funktion (also IMAGE) zu erzeugen. Zum einen ist es damit möglich, zu erfassen, ob das Bild erfolgreich verkleinert wurde und zum anderen kann man sich so den File-Cache vom Frontend zu Nutze machen Das erste und auch einzig brauchbare Ergebnis, auf das ich bei der Suche nach &#8220;cObject im Backend&#8221; stiess, war dieser <a href="http://www.typo3-scout.de/2008/05/28/cobject-im-backend/" target="_blank">Post</a>. Es hat zwar nicht funktioniert aber immerhin konnte ich mir hier die nötigen Includes zusammenklauben.</p>
<p>Ich hatte ursprünglich vor, die Lösung dort als Kommentar zu hinterlegen. Da ich aber zu Recht als Spam abgewiesen wurde, poste ich sie jetzt hier. Vorweg: Der Titel ist irreführend &#8211; ich habe es nicht geschafft bzw. nicht die Geduld gehabt, das IMAGE-Objekt im Backend zu nutzen. ABER: Um ein Bildchen mit den FE-Methoden zu verkleinern und auszugeben, braucht es nicht unbedingt das IMAGE-Objekt. Die Methode tslib_cObj-&#62;getImgResource() genügt.</p>
<p>Hier also kurz und knackig die Lösung (sorry für die wüste Form):</p>
<div class="code">
<p>&#60;?php<br />
require_once (PATH_site.&#8217;typo3/sysext/cms/tslib/class.tslib_fe.php&#8217;);<br />
require_once (PATH_site.&#8217;typo3/sysext/cms/tslib/class.tslib_content.php&#8217;) ;</p>
<p>class tx_name_tca<br />
{<br />
/**<br />
* Eine User-Funktion für ein TCA-USER-Feld<br />
*<br />
* @param array $PA<br />
* @param t3lib_TCEforms $fobj<br />
* @return string<br />
*/<br />
public function user_source($PA, t3lib_TCEforms $fobj)<br />
{<br />
$tsfe = t3lib_div::makeInstance(&#8216;tslib_fe&#8217;, $GLOBALS['TYPO3_CONF_VARS'], 0, 0);<br />
$tsfe-&#62;initTemplate();<br />
$GLOBALS['TSFE']-&#62;tmpl = $tsfe-&#62;tmpl;</p>
<p>$cwd = getcwd();<br />
chdir(PATH_site);</p>
<p>$cObj = new tslib_cObj();<br />
$conf = array(<br />
//z.B. uploads/tx_name/name.jpg:<br />
&#8216;file&#8217; =&#62; $PA['row']['myFile'],<br />
&#8216;file.&#8217; =&#62; array(<br />
&#8216;maxW&#8217; =&#62; &#8217;550&#8242;,<br />
&#8216;maxH&#8217; =&#62; &#8217;350&#8242;<br />
)<br />
);<br />
$imgResource = $cObj-&#62;getImgResource($conf['file'], $conf['file.']);</p>
<p>chdir($cwd);</p>
<p>return &#8216;&#60;img src=&#8221;../&#8217;.$imgResource[3].&#8217;&#8221; /&#62;&#8217;;<br />
}<br />
}</p></div>
]]></content:encoded>
			<wfw:commentRss>http://blog.netzelf.de/lang/de/tipps-und-tricks/tslib_cobj-image-im-backend/feed</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>TYPO3 goes WordPress goes TYPO3</title>
		<link>http://blog.netzelf.de/lang/de/tipps-und-tricks/typo3-goes-wordpress-goes-typo3</link>
		<comments>http://blog.netzelf.de/lang/de/tipps-und-tricks/typo3-goes-wordpress-goes-typo3#comments</comments>
		<pubDate>Wed, 14 Oct 2009 12:27:34 +0000</pubDate>
		<dc:creator>Christian Opitz</dc:creator>
				<category><![CDATA[TYPO3]]></category>
		<category><![CDATA[Tipps und Tricks]]></category>

		<guid isPermaLink="false">http://blog.netzelf.de/?p=39</guid>
		<description><![CDATA[Es ist gelungen: Die Website von Netzelf (TYPO3) wurde in den letzten Tagen erfolgreich mit dem Netzelf-Blog (WordPress) gekoppelt. Da ich im Netz keinerlei Ansätze für dieses Unterfangen finden konnte, möchte ich Entwicklern mit ähnlichen Vorhaben den Lösungsweg nicht vorenthalten. Das grundlegende Problem war, dass das in TYPO3 verwaltete Template bei jeder Änderung in WordPress [...]]]></description>
			<content:encoded><![CDATA[<p>Es ist gelungen: Die Website von Netzelf (TYPO3)  wurde in den letzten Tagen erfolgreich mit dem Netzelf-Blog (WordPress) gekoppelt. Da ich im Netz keinerlei Ansätze für dieses Unterfangen finden konnte, möchte ich Entwicklern mit ähnlichen Vorhaben den Lösungsweg nicht vorenthalten.<span id="more-39"></span></p>
<p>Das grundlegende Problem war, dass das in TYPO3 verwaltete Template bei jeder Änderung  in WordPress manuell adaptiert werden musste. Die Lösung dafür war denkbar einfach: Zunächst wurde ein Skript entwickelt, das das Template von TYPO3 bezieht. Dies funktioniert über eine Kombination aus <a href="http://php.net/manual/de/book.curl.php" target="_blank">cURL</a> und dem <a href="http://typo3.org/documentation/document-library/references/doc_core_tsref/4.2.0/view/1/7/#id4239691" target="_blank">PageType in TYPO3</a>. Dafür wurde das Standard-PAGE-Objekt im TS-Setup dupliziert und für den Seitentyp 300 etwas angepasst:</p>
<div class="code">blog = PAGE<br />
blog &#60; page<br />
blog.config.index_enable = 0<br />
blog.typeNum = 300<br />
blog.headerData.10 &#62;<br />
blog.headerData.10 = TEXT<br />
blog.headerData.10.value = ###HEAD###<br />
blog.10.marks.FOOT.wrap = &#124;###FOOT###<br />
blog.meta &#62;<br />
blog.10.marks.CONTENT &#62;<br />
blog.10.marks.MAINNAV.alwaysActivePIDlist = 3</div>
<p>Das Ergebnis wird im WP-Frontend durch das Skript mittels cURL abgerufen und sieht folgendermaßen aus: <a href="http://netzelf.de/?type=300" target="_blank">Mit TYPO3 generiertes Template</a>. Dies geschieht für jede im Skript konfigurierte Sprache aus Performance-Gründen nur bei Übermittlung eines<em> geheimen Parameters</em>. Anschließend werden die empfangenen Inhalte in temporären Dateien abgelegt.</p>
<p>Nachdem das Skript die richtige Sprache zur Ausgabe im WordPress-Theme gewählt und das passende Template eingelesen hat, passt es mittels preg_replace noch die Links zu CSS- und JS-Dateien und TYPO3-Links an, teilt das Template mittels explode() in Header, Body und Footer auf und schreibt dies in ein $GLOBALS-Array. Die Bestandteile werden schließlich an passender Stelle im Theme ausgegeben.</p>
<p>Damit ist auch schon die optische Kopplung von Website und Blog erledigt. Der zweite und wesentlich anstrengendere Schritt bestand darin, die Suchfunktionen beider Systeme miteinander zu verbinden. Zwei günstige Umstände machten die Vorüberlegungen dazu jedoch relativ einfach: Zum einen erlaubt TYPO3 eine wunderbare Erweiterungsmöglichkeit mittels XCLASS und zum anderen kann in WordPress-Feeds ein Suchbegriff mittels GET ausgewertet werden. Der weitere Weg bestand also darin, die tx_indexedsearch-Klasse mit XCLASS zu erweitern und dabei die Ergebnisse aus WordPress mit Hilfe der wunderbaren Erweiterung <a href="http://typo3.org/extensions/repository/view/tw_rssfeeds/current/" target="_blank">TW RSS Feeds</a> einzubinden. Das Ergebnis lässt sich über die Suche oben rechts bestaunen.</p>
<p>Letztendlich hat die Aktion zwei Tage in Anspruch genommen und läuft weitestgehend stabil. Leider fehlt z.Zt. die Zeit, den Vorgang in einer T3X und einem WordPress-Plugin zu manifestieren. Auf Anfrage veröffentliche ich jedoch gern unbedenkliche Teile des Quellcodes.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.netzelf.de/lang/de/tipps-und-tricks/typo3-goes-wordpress-goes-typo3/feed</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
	</channel>
</rss>

