<?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:sy="http://purl.org/rss/1.0/modules/syndication/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" version="2.0">

<channel>
	<title>Matu´s Blog - Webprogrammierung und jede Menge Tipps &amp; Tricks</title>
	
	<link>http://einmal-am-tag.de</link>
	<description>Das Weblog zum Thema Webprogrammierung &amp; Design:(X)HTML und CSS, PHP, mySQL, CMS u.v.m.</description>
	<lastBuildDate>Sat, 10 Apr 2010 14:37:37 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<xhtml:meta xmlns:xhtml="http://www.w3.org/1999/xhtml" name="robots" content="noindex" />
		<atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/rss+xml" href="http://feeds.feedburner.com/MatusBlog-WebprogrammierungUndJedeMengeTippsTricks" /><feedburner:info uri="matusblog-webprogrammierungundjedemengetippstricks" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><item>
		<title>Typo3 Seite kann im IE6 nicht geöffnet werden</title>
		<link>http://feedproxy.google.com/~r/MatusBlog-WebprogrammierungUndJedeMengeTippsTricks/~3/qyPtsMNe3cI/</link>
		<comments>http://einmal-am-tag.de/2010-04/typo3-seite-kann-im-ie6-nicht-geoeffnet-werden/#comments</comments>
		<pubDate>Sat, 10 Apr 2010 06:38:32 +0000</pubDate>
		<dc:creator>Matu</dc:creator>
				<category><![CDATA[Typo3]]></category>
		<category><![CDATA[headerData]]></category>
		<category><![CDATA[IE6]]></category>

		<guid isPermaLink="false">http://einmal-am-tag.de/?p=1715</guid>
		<description><![CDATA[

&#8230; wird in anderen Browsern aber normal angezeigt. Dieses Phänomen hatte ich aktuell in einem größeren Projekt zu lösen.
Genau genommen wollte ich den Quellcode der Typoscript-Datei etwas kürzen (alles schön kurz in geschweifte Klammern verpacken etc.):
...
page.10  {

	### Alles ausserhalb des Design-Template-Body ausgrenzen (sonst doppelte Header- und Body-Tags)
	workOnSubpart = DOCUMENT

	### Marker im Design-Template
	marks{
		### Angelegte Inhalte [...]]]></description>
			<content:encoded><![CDATA[
<!-- google_ad_section_start -->
<p>&#8230; wird in anderen Browsern aber normal angezeigt. Dieses <acronym title="... sinnliche Wahrnehmung eines Ereignisses.">Phänomen</acronym> hatte ich aktuell in einem größeren Projekt zu lösen.<br />
Genau genommen wollte ich den Quellcode der Typoscript-Datei etwas kürzen (alles schön kurz in geschweifte Klammern verpacken <acronym title="et cetera ... und so weiter">etc.</acronym>):</p>
<pre>...
page.10  {

	### Alles ausserhalb des Design-Template-Body ausgrenzen (sonst doppelte Header- und Body-Tags)
	workOnSubpart = DOCUMENT

	### Marker im Design-Template
	marks{
		### Angelegte Inhalte (Seiteninhalt, Artikel) aus der Datenbank lesen und den Marker durch diese ersetzen
		MAINCONTENT &lt; styles.content.get
		SIDEBARCONTENT &lt; temp.News
...</pre>
<p>Doch nach getaner Arbeit und obligatorischem <strong>Crossbrowsertest</strong> wurde die Seite im <strong>Internet-Explorer 6</strong> nicht mehr angezeigt und brach mit folgender Fehlermeldung ab &#8230;  <span id="more-1715"></span></p>
<p><img src="http://einmal-am-tag.de/wp-content/uploads/2010/04/ie6_error.jpg" alt="Ie6 Error in Typo3 Seite kann im IE6 nicht geöffnet werden" width="463" height="134" /></p>
<p>Also blieb mir nicht anderes übrig, als die gesamten Änderungen noch mal Schritt für Schritt durchzuführen, da ich mir das Problem nicht erklären konnte. An dieser Stelle lege ich jedem nahe, immer vor ab eine &#8216;old&#8217;-Datei als Sicherung anzulegen oder sofort auf eine Versionssoftware wie z.B. <strong><a href="http://subversion.apache.org/packages.html" title="Externer Link zu apache.org">Subversion</a></strong> zurück zu greifen (ein ganz heißer Tipp im professionellen Einsatz, einfach mal googlen). Wer wie ich mit einer Typoscript-angepassten Notepad++-Version arbeitet, kann auch mit STRG+Z alle Änderungen &#8216;zurückspielen&#8217;.<br />
Lange Rede, kurzer Sinn &#8230; die Lösung: Beim Einfügen eines Blocks mehrerer bzw. zusätzlicher Header-Daten (Stichwort: <strong><a href="http://www.typo3.net/tsref/setup/page/" title="Externer Link zu Typo3.net">headerData</a></strong>) wird die erste Zeile nicht ausgegeben, wenn das Einfügen der Daten <span style="text-decoration: underline;">direkt hinter</span> der runden Klammer beginnt.</p>
<pre>page.headerData.10 = TEXT
page.headerData.10.value( <span style="color:red;">&lt;script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js"&gt;&lt;/script&gt;</span>
	&lt;script type="text/javascript"&gt;
		/*&lt;![CDATA[*/
			if (typeof jQuery === 'undefined') {
				var e = document.createElement('script');
				e.src = 'fileadmin/src/javascript/jquery-1.4.2.min.js';
				e.type='text/javascript';
				document.getElementsByTagName("head")[0].appendChild(e);
			}
		/*]]&gt;*/
	&lt;/script&gt;
	&lt;script type="text/javascript" src="fileadmin/src/javascript/jquery-ui-1.7.2.custom.min.js"&gt;&lt;/script&gt;
...
)</pre>
<p>Erst wenn die einzufügenden Daten in der nächsten Zeile beginnen, wird auch die erste in den Header übernommen. Bei dem Konstrukt oben wird zuerst die <a href="http://code.google.com/intl/de-DE/apis/ajaxlibs/documentation/" title="Externer Link zur Google-Api">Google-Api-Version</a> von <a href="http://jquery.com/" title="Externer Link zu jquery.com">jQuery</a> implementiert, was Bandbreite spart und die Downloadgeschwindigkeit der Seite erhöht, da die verschiedenen Browser auch Daten parallel laden können. Des Weiteren befindet sich das jQuery-Framework bereits im Browser-Cache, wenn der Besucher von einer Seite kommt, wo ebenfalls die Google-Api-Version eingesetzt wurde und das nachladen entfällt dann gänzlich. Sollte der Google-Server einmal nicht verfügbar sein, wird eine lokale jQuery-Datei geladen.<br />
Das in meinem Fall die erste Zeile nicht eingeladen wurde, brachte den IE6 ins Straucheln. Alle anderen Browser wie Firefox, Opera, Safari (&#8230;) zogen sich dagegen direkt die lokale Version von jQuery.<br />
Fazit: Nach der öffnenden runden Klammer erst einen Zeilenumbruch einfügen, dann klappt es auch mit <strike>der Nachbarin</strike> dem IE6:</p>
<pre>page.headerData.10 = TEXT
page.headerData.10.value(
<span style="color:red;">&lt;script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js"&gt;&lt;/script&gt;</span>
..
)</pre>
<p>Und wieder einmal hat mir diese &#8216;Browser-Krücke&#8217; der Redmonder Bruderschaft einiges an zusätzlichen Streicheleinheiten abverlangt,<br />
aber auch einen Fehler angezeigt, den ich so schnell nicht bemerkt hätte &#8230; die Google-Api-Version von jQuery wäre nicht ausgeführt worden, da sie nicht im Header eingefügt war.<br />
Eventuell hilft es dem einen oder anderem.</p>
<p>Gruß Matu</p>
<!-- google_ad_section_end -->
<img src="http://feeds.feedburner.com/~r/MatusBlog-WebprogrammierungUndJedeMengeTippsTricks/~4/qyPtsMNe3cI" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://einmal-am-tag.de/2010-04/typo3-seite-kann-im-ie6-nicht-geoeffnet-werden/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		<feedburner:origLink>http://einmal-am-tag.de/2010-04/typo3-seite-kann-im-ie6-nicht-geoeffnet-werden/</feedburner:origLink></item>
		<item>
		<title>Typo3 Copyright einfügen</title>
		<link>http://feedproxy.google.com/~r/MatusBlog-WebprogrammierungUndJedeMengeTippsTricks/~3/xlh6_K8es0E/</link>
		<comments>http://einmal-am-tag.de/2010-02/typo3-copyright-einfuegen/#comments</comments>
		<pubDate>Fri, 05 Feb 2010 13:39:19 +0000</pubDate>
		<dc:creator>Matu</dc:creator>
				<category><![CDATA[Allgemein]]></category>

		<guid isPermaLink="false">http://einmal-am-tag.de/?p=1688</guid>
		<description><![CDATA[

Mit folgendem Codeschnipsel (im Typoscript-Template) könnt Ihr in Eure Typo3-Seite auf die Schnelle Euer Copyright (&#169;) einfügen:

### COPYRIGHT einfügen
  page.10.marks.COPYRIGHT = TEXT
  page.10.marks.COPYRIGHT{
		data = date:U
		strftime = %Y
		wrap = &#38;copy;&#124;&#38;nbsp;eure-domain.tld
  }

Nun nur noch einen Marker ###COPYRIGHT### im Seiten-Template platzieren und in Zukunft braucht Ihr Euch um die aktuelle Jahreszahl nicht mehr zu kümmern.
Sollte [...]]]></description>
			<content:encoded><![CDATA[
<!-- google_ad_section_start -->
<p>Mit folgendem Codeschnipsel (im Typoscript-Template) könnt Ihr in Eure <strong>Typo3</strong>-Seite auf die Schnelle Euer <strong>Copyright</strong> (&copy;) einfügen:</p>
<pre>
### COPYRIGHT einfügen
  page.10.marks.COPYRIGHT = TEXT
  page.10.marks.COPYRIGHT{
		data = date:U
		strftime = %Y
		wrap = &amp;copy;|&amp;nbsp;eure-domain.tld
  }
</pre>
<p>Nun nur noch einen Marker ###COPYRIGHT### im Seiten-Template platzieren und in Zukunft braucht Ihr Euch um die aktuelle Jahreszahl nicht mehr zu kümmern.<br />
Sollte Eure Seite schon etwas älter sein, dann <span id="more-1688"></span>fügt Ihr dem wrap einfach Euer Startjahr hinzu:</p>
<pre>
...
wrap = &amp;copy;2009-|&amp;nbsp;eure-domain.tld
...
</pre>
<p>Wenn Ihr Euch das &amp;nbsp; sparen wollt, dann könnt Ihr auch mit<br />
<strong>noTrimWrap</strong> arbeiten. Bei noTrimWrap wird der String innerhalb der Begrenzungen (die beiden äußeren |-Symbole) mit allen Freistellen 1:1 übernommen:</p>
<pre>
...
noTrimWrap = |&amp;copy;2009-| eure-domain.tld |
...
</pre>
<p>Gruß Matu</p>
<!-- google_ad_section_end -->
<img src="http://feeds.feedburner.com/~r/MatusBlog-WebprogrammierungUndJedeMengeTippsTricks/~4/xlh6_K8es0E" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://einmal-am-tag.de/2010-02/typo3-copyright-einfuegen/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		<feedburner:origLink>http://einmal-am-tag.de/2010-02/typo3-copyright-einfuegen/</feedburner:origLink></item>
		<item>
		<title>Typo3 Last Modified (Letzte Änderung)</title>
		<link>http://feedproxy.google.com/~r/MatusBlog-WebprogrammierungUndJedeMengeTippsTricks/~3/IZcX-NbHkzM/</link>
		<comments>http://einmal-am-tag.de/2010-02/typo3-last-modified-letzte-aenderung/#comments</comments>
		<pubDate>Thu, 04 Feb 2010 18:09:27 +0000</pubDate>
		<dc:creator>Matu</dc:creator>
				<category><![CDATA[Typo3]]></category>

		<guid isPermaLink="false">http://einmal-am-tag.de/?p=1671</guid>
		<description><![CDATA[

Bestimmt kennt jeder die auf vielen Seiten integrierte Information &#8220;Last Modified&#8221; bzw. &#8220;Letzte Änderung&#8221;, die dem Besucher anzeigt, wann die Webseite das letztmal bearbeitet wurde.
In Typo3 könnt Ihr das sehr einfach mit folgendem Codeschnipsel erledigen, den Ihr im oberen Bereich Eures Typoscript-Templates einfügt:

temp.lastmodified = TEXT
temp.lastmodified{
	data = page:SYS_LASTCHANGED
	strftime = %a, %d.%m.%Y um %H:%M
	wrap = Letzte Änderung:&#160;&#124;&#160;Uhr
}

Die [...]]]></description>
			<content:encoded><![CDATA[
<!-- google_ad_section_start -->
<p>Bestimmt kennt jeder die auf vielen Seiten integrierte Information <strong>&#8220;Last Modified&#8221;</strong> bzw. <strong>&#8220;Letzte Änderung&#8221;</strong>, die dem Besucher anzeigt, wann die Webseite das letztmal bearbeitet wurde.<br />
In Typo3 könnt Ihr das sehr einfach mit folgendem Codeschnipsel erledigen, <span id="more-1671"></span>den Ihr im oberen Bereich Eures Typoscript-Templates einfügt:</p>
<pre>
temp.lastmodified = TEXT
temp.lastmodified{
	data = page:SYS_LASTCHANGED
	strftime = %a, %d.%m.%Y um %H:%M
	wrap = Letzte Änderung:&nbsp;|&nbsp;Uhr
}
</pre>
<p>Die Zeile mit dem <a href="http://php.net/manual/de/function.strftime.php" title="PHP-Funktion strftime">strftime</a> könnt Ihr dabei Euren Wünschen entsprechend anpassen. Wer z.B. die Zeit nicht mit angeben möchte, läßt den hinteren Teil einfach weg.</p>
<p>Weiter unten setzt Ihr dann noch einen Marker, dem Ihr dann die temp.lastmodified-Variable zuweist:</p>
<pre>
#LASTMODIFIED einfügen
  page.10.marks.LASTMODIFIED = TEXT
  page.10.marks.LASTMODIFIED < temp.lastmodified
</pre>
<p>Abschließend muss noch ein Marker in Eurem Seiten-Template eingepflegt werden, der dann durch die Zuweisung im Typoscript ersetzt wird.<br />
Dabei ist Euch überlassen, an welcher Stelle Ihr den Besucher über Eure Aktivität (oder Inaktivität) informieren wollt:</p>
<pre>
&lt;body&gt;
...
&lt;div id="footer"&gt;
###LASTMODIFIED###
&lt;/div&gt;
...
</pre>
<p>Das Besondere hierbei ist, dass dann bei jeder Seite auch die für diese Seite geltende letzte Änderung angezeigt wird.</p>
<p>Gruß<br />
Matu</p>
<!-- google_ad_section_end -->
<img src="http://feeds.feedburner.com/~r/MatusBlog-WebprogrammierungUndJedeMengeTippsTricks/~4/IZcX-NbHkzM" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://einmal-am-tag.de/2010-02/typo3-last-modified-letzte-aenderung/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://einmal-am-tag.de/2010-02/typo3-last-modified-letzte-aenderung/</feedburner:origLink></item>
		<item>
		<title>Typo3 Kommentar Extension comments</title>
		<link>http://feedproxy.google.com/~r/MatusBlog-WebprogrammierungUndJedeMengeTippsTricks/~3/LijLZkU0plo/</link>
		<comments>http://einmal-am-tag.de/2010-02/typo3-kommentar-extension-comments/#comments</comments>
		<pubDate>Thu, 04 Feb 2010 17:32:36 +0000</pubDate>
		<dc:creator>Matu</dc:creator>
				<category><![CDATA[Typo3]]></category>
		<category><![CDATA[Anleitung]]></category>
		<category><![CDATA[comments]]></category>
		<category><![CDATA[Extension]]></category>

		<guid isPermaLink="false">http://einmal-am-tag.de/?p=1664</guid>
		<description><![CDATA[

Mit der Typo3-Extension comments von Dmitry Dulepov läßt sich auf recht einfache Weise eine Kommentarfunktion mit Captcha gegen Spam in eine Typo3-Webseite integrieren, die auch Extensions wie tt_news unterstützt.
Installation:
Zunächst muss die Extension vom Typo3 Extension Repository auf den eigenen PC runtergeladen werden (Anmerkung: Nicht immer sind alle Extensions über den Erweiterungsmanager verfügbar, daher empfinde ich [...]]]></description>
			<content:encoded><![CDATA[
<!-- google_ad_section_start -->
<p>Mit der Typo3-Extension <strong>comments</strong> von Dmitry Dulepov läßt sich auf recht einfache Weise eine <strong>Kommentarfunktion</strong> mit <strong>Captcha</strong> gegen Spam in eine <strong>Typo3</strong>-Webseite integrieren, die auch Extensions wie tt_news unterstützt.</p>
<p>Installation:<br />
Zunächst muss die Extension vom <strong>Typo3 Extension Repository</strong> auf den eigenen PC runtergeladen werden <span id="more-1664"></span>(Anmerkung: Nicht immer sind alle Extensions über den Erweiterungsmanager verfügbar, daher empfinde ich diesen Weg als angenehm, zumal dann die entsprechenden Extension für zukünftige Projekte lokal vorliegen &#8211;> Updates im Auge behalten).<br />
Zusätzlich zur <strong>comments</strong>-Extension muss noch die Extension <strong>pagebrowse</strong> (ebenfalls Dmitry Dulepov) runtergeladen werden, ansonsten erscheint folgende Fehlermeldung (nach dem comments installiert wurde), die auf diese Extension hinweist:<br />
<em>No comments  Warning: Page browser configuration is absent. Please, make sure that you added TS template from the &#8216;pagebrowse&#8217; extension before  TS template from the &#8216;comments&#8217; extension. See the example below.</em></p>
<p><a href='http://einmal-am-tag.de/wp-content/uploads/2010/02/comments_pagebrowse_fehlermeldung.jpg' rel="lightbox" title='Typo3 Comments Pagebrowse Fehlermeldung'><img src="http://einmal-am-tag.de/wp-content/uploads/2010/02/comments_pagebrowse_fehlermeldung.jpg" alt="Comments Pagebrowse Fehlermeldung in Typo3 Kommentar Extension comments" width="300" height="200" /></a></p>
<p>Um die Kommentare letztendlich noch gegen Spam absichern zu können, sollte die Extension <strong>freeCap</strong> (Captcha von Stanislas Rolland) ebenfalls mit runtergeladen werden &#8230; diese kann dann später während der Konfiguration eingefügt werden (als Alternative kann auch die weniger &#8220;sexier&#8221; Captcha-Extension von Kasper Skaarhoj genommen werden).<br />
Zunächst die Links zu den einzelnen Extensions:</p>
<ul>
<li><a href="http://typo3.org/extensions/repository/view/pagebrowse/current/" title="pagebrowse-Extension">pagebrowse</a></li>
<li><a href="http://typo3.org/extensions/repository/view/comments/current/" title="comments-Extension">comments</a></li>
<li><a href="http://typo3.org/extensions/repository/view/sr_freecap/current/" title="freecap-Extension">freeCap</a></li>
</ul>
<p>Wenn die Extensions lokal auf Eurem Rechner vorliegen, könnt Ihr sie nun über den Extensionmanager im Backend Eurer Typo3-Seite der Reihe nach installieren (ich denke dieser Vorgang sollte klar sein). Wie bei allen Extensions hierbei lieber einmal mehr auf &#8220;Update&#8221; klicken als zu wenig.<br />
Nach diesem Schritt <strong>müssen</strong> noch die 2 statischen Templates von pagebrowse und comments in dieser Reihenfolge Eurem Seitentemplate hinzugefügt werden (Seitenbaum unter Templates &#8211;> <em>Click here to edit whole template record</em>). </p>
<p><a href='http://einmal-am-tag.de/wp-content/uploads/2010/02/comments_template_einbinden' rel="lightbox" title='Typo3 Comments und Pagebrowse Template einbinden'><img src="http://einmal-am-tag.de/wp-content/uploads/2010/02/comments_template_einbinden" alt=" in Typo3 Kommentar Extension comments" width="300" height="200" /></a></p>
<p>Nun erstellt Ihr in Eurem Navigations-bzw. Seitenbaum einen neuen Ordner und betitelt ihn z.B. als &#8220;Commentscontainer&#8221; (Euch fällt bestimmt was besseres ein), der sichtbar ist, jedoch nicht im Menu erscheint. Als <strong>Typ</strong> gebt ihr <strong>&#8220;SysOrdner&#8221;</strong> an &#8230; das war´s an dieser Stelle.</p>
<p>Auf der Seite, die eine Kommentarfunktion erhalten soll, muss nun nur noch ein Inhaltselement vom Typ <strong>Commenting System</strong> (Kommentarsystem) eingefügt werden. </p>
<p><a href='http://einmal-am-tag.de/wp-content/uploads/2010/02/comments_seiteninhaltselement.jpg' rel="lightbox" title='Typo3 Comments Seiteninhalt einbinden'><img src="http://einmal-am-tag.de/wp-content/uploads/2010/02/comments_seiteninhaltselement.jpg" alt="Comments Seiteninhaltselement in Typo3 Kommentar Extension comments" width="300" height="200" /></a></p>
<p>Zum Kommentieren von News-Nachrichten bietet sich hierfür die Seite mit der Single-Ansicht an.<br />
Unter <strong>Modus</strong> im Reiter <strong>Plug-In &#8211;> Allgemein</strong> kann <strong>&#8220;Comment listing&#8221;</strong> und <strong>&#8220;Comment form&#8221;</strong> bzw. in der deutschen Übersetzung &#8220;Liste der Kommentare&#8221; und &#8220;Kommentarformular&#8221; beibehalten werden. Als Präfix muss bei normalen Seiten &#8220;pages&#8221; eingetragen werden und z.B für tt_news das externe Präfix &#8220;tx_ttnews&#8221;. Zum Speichern der Datensätze bzw. der Kommentare müßt Ihr noch den zuvor angelegten &#8220;Syscontainer&#8221; auswählen.</p>
<p><a href='http://einmal-am-tag.de/wp-content/uploads/2010/02/comments_plugin_allgemein.jpg' rel="lightbox" title='Typo3 Comments Plug-In Allgemein'><img src="http://einmal-am-tag.de/wp-content/uploads/2010/02/comments_plugin_allgemein.jpg" alt="Comments Plugin Allgemein in Typo3 Kommentar Extension comments" width="300" height="200" /></a></p>
<p>Im nächsten Reiter <strong>Plug-In &#8211;> Erweitert</strong> kann noch die gewünschte Anzahl der Kommentare angegeben werden, die pro Seite erscheinen soll. Ihr könnt auch die Dauer der Kommentarfunktion einstellen (&#8230;).</p>
<p><a href='http://einmal-am-tag.de/wp-content/uploads/2010/02/comments_erweitert.jpg' rel="lightbox" title='Typo3 Comments Anzahl der Kommentare angegeben'><img src="http://einmal-am-tag.de/wp-content/uploads/2010/02/comments_erweitert.jpg" alt="Comments Erweitert in Typo3 Kommentar Extension comments" width="300" height="200" /></a></p>
<p>Abschließend kann im letzten Reiter <strong>Anti-Spam</strong> nun noch die im oberen Teil installierte Captcha-Extension sr_freecap ausgewählt werden. Den Haken für die Freigabe der Kommentare sollte gesetzt sein &#8230; so könnt Ihr erst einmal gegenlesen bzw. überprüfen, was als Kommentar abgegeben wurde.</p>
<p><a href='http://einmal-am-tag.de/wp-content/uploads/2010/02/comments_antispam.jpg' rel="lightbox" title='Typo3 Comments Antispam'><img src="http://einmal-am-tag.de/wp-content/uploads/2010/02/comments_antispam.jpg" alt="Comments Antispam in Typo3 Kommentar Extension comments" width="300" height="200" /></a></p>
<p>Wenn Ihr nun die Seite aufruft, in die Ihr das Inhaltselement mit der Kommentarfunktion eingebaut habt, dann sollte dort nun das Formular erscheinen und es können erste (Test-) Kommentare verfasst werden. Diese dann unter &#8220;Liste&#8221; im Typo3-Baum in Eurem Sysordner gegenlesen und freigeben. Sollten die Kommentare nicht sofort erscheinen &#8230; richtig, erst den Cache leeren.</p>
<p><a href='http://einmal-am-tag.de/wp-content/uploads/2010/02/comments_formular_komplett.jpg' rel="lightbox" title='Typo3 Comments Formular'><img src="http://einmal-am-tag.de/wp-content/uploads/2010/02/comments_formular_komplett.jpg" alt="Comments Formular Komplett in Typo3 Kommentar Extension comments" width="300" height="200" /></a></p>
<p>Sollte nichts angezeigt werden, dann überprüft noch einmal, ob Ihr die Templates ordnungsgemäß eingebunden habt!!! </p>
<p>Um die Schrift des Formulars in Deutsch anzeigen zu lassen, müßt Ihr (wie oft üblich, z.B. auch bei Indexed Search) im Extension-Manager unter Translation Handling noch mal bei den Translation Settings die deutsche Sprache vom Repository uploaden. Danach sollte alles in Deutsch angezeigt werden.</p>
<p>Um das Aussehen des Formulars zu ändern, könnt Ihr die CSS-Datei unter <em>/euer_root_verzeichnis/typo3conf/ext/comments/res/pi1.css</em> bearbeiten &#8230; dort liegt auch die Template-Datei. Kleiner Tip: Die Originaldateien umbennen (einfach _old einfügen) und dann mit einer Kopie derselben arbeiten. So habt Ihr die Originaldatei als Sicherheit, falls mal etwas schief laufen sollte.<br />
Oder die Datei in den fileadmin kopieren und dort bearbeiten. Dann muss natürlich noch der Pfad in der Extension angepasst werden.</p>
<p>Viel Spaß<br />
Matu</p>
<!-- google_ad_section_end -->
<img src="http://feeds.feedburner.com/~r/MatusBlog-WebprogrammierungUndJedeMengeTippsTricks/~4/LijLZkU0plo" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://einmal-am-tag.de/2010-02/typo3-kommentar-extension-comments/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		<feedburner:origLink>http://einmal-am-tag.de/2010-02/typo3-kommentar-extension-comments/</feedburner:origLink></item>
		<item>
		<title>I’ll be back …</title>
		<link>http://feedproxy.google.com/~r/MatusBlog-WebprogrammierungUndJedeMengeTippsTricks/~3/h7RWdXzxUeI/</link>
		<comments>http://einmal-am-tag.de/2010-02/i-ll-be-back/#comments</comments>
		<pubDate>Thu, 04 Feb 2010 15:49:21 +0000</pubDate>
		<dc:creator>Matu</dc:creator>
				<category><![CDATA[Allgemein]]></category>

		<guid isPermaLink="false">http://einmal-am-tag.de/?p=1661</guid>
		<description><![CDATA[

Hallo @ all,
nach längerer Pause auf Grund einer Weiterbildung melde ich mich nun zurück! Als Entschädigung für die lange Wartezeit habe ich Euch einiges an Wissen mitgebracht, dass ich nun nach und nach hier aufarbeiten und einpflegen werde.
Im Wesentlichen wird der Focus auf folgenden Themenschwerpunkten liegen:

Typo3
Flash und Actionscript
Photoshop
Illustrator
Javascript und jQuery

Zu den einzelnen Bereichen habe ich [...]]]></description>
			<content:encoded><![CDATA[
<!-- google_ad_section_start -->
<p>Hallo @ all,</p>
<p>nach längerer Pause auf Grund einer Weiterbildung melde ich mich nun zurück! Als Entschädigung für die lange Wartezeit habe ich Euch einiges an Wissen mitgebracht, dass ich nun nach und nach hier aufarbeiten und einpflegen werde.<br />
Im Wesentlichen wird der Focus auf folgenden Themenschwerpunkten liegen:</p>
<ul>
<li><strong>Typo3</strong></li>
<li><strong>Flash und Actionscript</strong></li>
<li><strong>Photoshop</strong></li>
<li><strong>Illustrator</strong></li>
<li><strong>Javascript und jQuery</strong></li>
</ul>
<p>Zu den einzelnen Bereichen habe ich in den vergangenen Monaten unzählige Webseiten gesichtet (sowie deren Quell-/ Javascriptcodes), Bücher gelesen und natürlich im Unterricht aufmerksam den Ausführungen der Dozenten gelauscht.<br />
Momentan &#8220;stecke&#8221; ich verstärkt in den Tiefen von Typo3 fest, insbesondere der Extensionprogrammierung. Aber auch die gesammelten Erfahrungen mit Actionscript lassen mich nicht mehr los &#8230; leider hat der Tag nur 24 Stunden.<br />
Jedenfalls werden hier nun weitere Erfahrungen, Recherchen, Codeschnipsel und Tutorials nachzulesen sein, die Euch und mir als Gedankenstütze dienen sollen.</p>
<p>Gruß Matu</p>
<!-- google_ad_section_end -->
<img src="http://feeds.feedburner.com/~r/MatusBlog-WebprogrammierungUndJedeMengeTippsTricks/~4/h7RWdXzxUeI" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://einmal-am-tag.de/2010-02/i-ll-be-back/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://einmal-am-tag.de/2010-02/i-ll-be-back/</feedburner:origLink></item>
		<item>
		<title>Schöne Webseiten!</title>
		<link>http://feedproxy.google.com/~r/MatusBlog-WebprogrammierungUndJedeMengeTippsTricks/~3/elk5ENCnEEI/</link>
		<comments>http://einmal-am-tag.de/2009-07/schoene-webseiten/#comments</comments>
		<pubDate>Sat, 11 Jul 2009 21:04:38 +0000</pubDate>
		<dc:creator>Matu</dc:creator>
				<category><![CDATA[Allgemein]]></category>

		<guid isPermaLink="false">http://einmal-am-tag.de/?p=1622</guid>
		<description><![CDATA[

Ich bin immer auf der Suche nach schönen Webseiten, die mich inspirieren (&#8230; dabei aber auch funktionieren). An dieser Stelle möchte ich gerne nach und nach eine Sammlung aufbauen. Selbstverständlich werden Vorschläge gerne entgegen genommen.

ashesandsnow ist eine auf Flash basierende eindrucksvolle Webseite. Möglichst die linke Auswahl treffen (Enhanced), etwas Zeit mitbringen, den Menü-Punkt &#8216;Vision&#8217; nicht [...]]]></description>
			<content:encoded><![CDATA[
<!-- google_ad_section_start -->
<p>Ich bin immer auf der Suche nach <strong>schönen Webseiten</strong>, die mich inspirieren (&#8230; dabei aber auch funktionieren). An dieser Stelle möchte ich gerne nach und nach eine Sammlung aufbauen. Selbstverständlich werden Vorschläge gerne entgegen genommen.</p>
<ul>
<li><a href="http://www.ashesandsnow.org/" title="Webseite ashesandsnow">ashesandsnow</a> ist eine auf Flash basierende eindrucksvolle Webseite. Möglichst die linke Auswahl treffen (Enhanced), etwas Zeit mitbringen, den Menü-Punkt &#8216;Vision&#8217; nicht vergessen und den Ton einschalten &#8230; einfach schön!</li>
<li>Die Seite von <a href="http://www.paul-kroening.de/" title="Website paul kroening">paul kroening</a> wurde anscheinend schon länger nicht mehr bearbeitet. Optisch jedoch eine klein aber fein gestaltete Webseite.</li>
<li><a href="http://flowingtide.de/" title="Webseite flowingtide">flowingtide</a> war eine der ersten Seiten, die mir positiv aufgefallen war.</li>
</ul>
<p>&#8230; weitere folgen &#8230;</p>
<!-- google_ad_section_end -->
<img src="http://feeds.feedburner.com/~r/MatusBlog-WebprogrammierungUndJedeMengeTippsTricks/~4/elk5ENCnEEI" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://einmal-am-tag.de/2009-07/schoene-webseiten/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		<feedburner:origLink>http://einmal-am-tag.de/2009-07/schoene-webseiten/</feedburner:origLink></item>
		<item>
		<title>WordPress memory_limit erhöhen</title>
		<link>http://feedproxy.google.com/~r/MatusBlog-WebprogrammierungUndJedeMengeTippsTricks/~3/2toxuP9eMFs/</link>
		<comments>http://einmal-am-tag.de/2009-06/wordpress-memory-limit-erhoehen/#comments</comments>
		<pubDate>Sat, 27 Jun 2009 01:12:20 +0000</pubDate>
		<dc:creator>Matu</dc:creator>
				<category><![CDATA[PHP]]></category>
		<category><![CDATA[WordPress]]></category>
		<category><![CDATA[memory_limit]]></category>
		<category><![CDATA[php.ini]]></category>
		<category><![CDATA[Webserver]]></category>
		<category><![CDATA[WP_MEMORY_LIMIT]]></category>

		<guid isPermaLink="false">http://einmal-am-tag.de/?p=1501</guid>
		<description><![CDATA[

In den letzten Tagen nach Erscheinen der neuen WordPress-Version häuften sich in den Blogs die Artikel zum Thema Speichererhöhung in Verbindung mit der Fehlermeldung 
Fatal error: Allowed memory size of &#8230; bytes exhausted &#8230; 
WordPress Deutschland hat dazu am 16. Juni 2009 eine gute Erklärung in den FAQ veröffentlicht. Besonders der Trick mit der Sprachdatei [...]]]></description>
			<content:encoded><![CDATA[
<!-- google_ad_section_start -->
<p>In den letzten Tagen nach Erscheinen der neuen WordPress-Version häuften sich in den Blogs die Artikel zum Thema Speichererhöhung in Verbindung mit der Fehlermeldung </p>
<blockquote><p><strong>Fatal error: Allowed memory size of &#8230; bytes exhausted &#8230; </strong></p></blockquote>
<p>WordPress Deutschland hat dazu am 16. Juni 2009 eine gute Erklärung in den <a href='http://faq.wordpress-deutschland.org/exhausted-php-memory/' title='WordPress-Speicher erhöhen'><acronym title='frequently asked questions/häufig gestellte Fragen'>FAQ</acronym></a> veröffentlicht. Besonders der Trick mit der Sprachdatei ist interessant (senkt bei mir den Speicherverbrauch um 13%).<br />
Am gleichen Tag wurde dazu ebenfalls ein kleiner Beitrag auf <a href='http://bueltge.de/mehr-speicher-fuer-wordpress/957/' title='Mehr Speicher für WordPress'>bueltge.de</a> veröffentlicht.<br />
Beide weisen auf das Plugin „WP-Memory-Usage“ von Alex Rabe hin, das </p>
<ul>
<li>die Version</li>
<li>den verfübaren Speicher</li>
<li>sowie den aktuellen Speicherbedarf der WordPress-Installation</li>
</ul>
<p> anzeigt.<br />
Dieses Plugin ermittelt mit den PHP-Funktionen <a href='http://us2.php.net/manual/en/function.memory-get-usage.php' title='PHP-Funktion memory_get_usage'><em>memory_get_usage()</em></a> den aktuellen Speicherverbrauch und mit <a href='http://us2.php.net/manual/en/function.ini-get.php' title='Funktion ini_get'><em>ini_get(&#8217;memory_limit&#8217;)</em></a> die Lokal zugewiesene Speichergröße. </p>
<p>An dieser Stelle möchte ich Ihnen gerne einen tieferen Einblick in die Materie bieten. <span id="more-1501"></span></p>
<p>Der Arbeitspeicher (memory_limit) für die einzelnen Hosts auf dem Webserver wird an 2 Stellen festgelegt. Die erste allumfassende Einstellung erfolgt durch den Webhoster in der <strong><em>php.ini</em></strong>.<br />
In dieser wichtigen Konfigurationsdatei sind sämtliche Einstellungen für den PHP-Server hinterlegt. Verständlicherweise unterbinden Web-Hoster den Zugriff auf diese Datei, da sich viele Benutzer einen Server teilen. Mietet man sich einen sogenannten Root-Server sieht das natürlich anders aus.<br />
Dort wird (unter vielen anderen Einstellungen) der <strong><em>memory_limit</em></strong> eingestellt, welcher dann als sogenannter <strong><em>master value</em></strong> für den gesamten Server und den darauf befindlichen einzelnen Hosts die maximal zur Verfügung stehende Speichergröße für PHP-Scripte vorgibt.</p>
<p>Dieser Wert bzw. die gesamte <strong><em>php.ini</em></strong> kann mit der PHP-Funktion <strong><em>phpinfo()</em></strong> ausgelesen werden. Wenn Sie das gerne machen möchten, dann führen Sie folgende Schritte aus:</p>
<ul>
<li>Legen Sie im Backend-Bereich von Wordpress eine neue Seite mit dem Titel <strong><em>Backend</em></strong> und einem kurzen Text an</li>
<li>Stellen Sie die Sichtbarkeit rechts oben in der &#8220;Veröffentlichen-Box&#8221; auf Privat (dadurch kann die Seite erstens nur von Ihnen und zweitens nur wenn Sie <strong>eingeloggt</strong> sind aufgerufen werden. Die php.ini sollte aus Sicherheitsgründen nur von Ihnen einsehbar sein)</li>
<li>
Fügen Sie nach dem Speichern der Seite folgendes in die <strong><em>page.php</em></strong> unterhalb des &#8220;Loop&#8221; Ihres Theme-Ordners ein:</p>
<pre>
<span style='color:#aaa'> /* .../wp-content/themes/ihr_theme/page.php */</span>
&lt;?php
if(is_page('backend')){
phpinfo();
}
?&gt;
<span style='color:#aaa'> /* Speichern nicht vergessen!
Anmerkung: Anstatt die page.php zu verändern,
kann diese auch kopiert und umbenannt werden
(backend.php).
Diese kann dann als Template beim Neuanlegen
der Seite ausgewählt werden.
Dadurch halten Sie die page.php "sauber"
und können in Zukunft noch weitere php-Scripte
einfügen ...*/</span>
</pre>
</li>
<li>
Rufen Sie nun die zuvor angelegte Seite auf, in dem Sie deren Permalink (z.B. http://ihre_domain/backend) in die Adresszeile Ihres Browser eingeben. Dazu müssen Sie sich wie schon erwähnt vorher eingeloggt haben (der Browser speichert das als Cookie ab).
</li>
</ul>
<p>Nun sollte die Seite mit der gesamten php.ini angezeigt werden. Suchen Sie dort (STRG+F) nach <strong><em>memory_limit</em></strong>. Es werden 3 Spalten angezeigt:</p>
<ul>
<li>Directive &#8211;> gibt den Namen an</li>
<li>Local Value &#8211;> gibt den lokal verfügbaren maximalen Speicher an (&#8230; der Ihrer WordPress-Installation in Ihrem Host-Verzeichnis zur Verfügung steht)</li>
<li>Master Value &#8211;> gibt den durch Ihren Webhoster freigegebenen bzw. vorgegebenen maximalen Speicher an (dieser Wert gildet auf dem gesamten Server für alle Hosts)</li>
</ul>
<p>Somit wären wir auch schon bei der zweiten Einstellungsmöglichkeit, dem <em>local value</em>. Local value &#8230; master value? Etwas verwirrend, oder?! Ging mir zuerst genauso. Vor allem das Zusammenspiel bzw. die Abhängigkeit brachte mich etwas ins Grübeln. </p>
<p>Wenn der Webhoster das maximale Speicherlimit für alle Hosts auf dem Server schon durch den <strong><em>master value</em></strong> in der <strong><em>php.ini</em></strong> festgelegt hat (auf die ich keinen Zugriff habe), kann ich diesen Wert etwa Lokal in meinem eigenen Verzeichnis hochschrauben und mir so mehr Speicher zuschieben, als alle anderen zur Verfügung haben?</p>
<p><strong><em>Richtig, genau so ist es!</em></strong></p>
<p>Aber nür, wenn der Webhoster das auch zuläßt.<br />
Dazu gibt es verschiedene Möglichkeiten. Eine wäre, in der <strong><em>wp-config.php</em></strong> die globale Variable <strong><em>WP_MEMORY_LIMIT</em></strong> neu zu setzen und ihr einen Wert zuzuweisen, der höher liegt als die Grundeinstellung von 32 MB (definiert in der <strong><em>wp-settings.php</em></strong>).</p>
<pre>
&lt;?php
...
define('WP_MEMORY_LIMIT', '64M');
...
?&gt;
</pre>
<p>Wobei die 65 MB nur ein Beispiel sind, ich konnte den Wert bei mir auch höher schrauben, &#8230;</p>
<p><img src="http://einmal-am-tag.de/wp-content/uploads/2009/06/memory_limit1.jpg" alt="Memory Limit1 in WordPress memory_limit erhöhen" width="645" height="49" /></p>
<p> &#8230; was mich etwas stutzig machte. Also habe ich mal bei meinem Webhoster nachgefragt und bekam folgende Antwort, die ich nur in Auszügen veröffentliche:</p>
<blockquote><p>
Hallo,</p>
<p>erst einmal möchte ich Ihnen mitteilen, dass ich bisher sehr zufrieden bin.<br />
Und nun eine kleine Frage:<br />
Ist es von Ihnen gewollt, dass der &#8216;memory_limit&#8217; in der &#8216;php.ini&#8217; lokal per htaccess oder ini_set() überschrieben werden kann?</p>
<p>Gruß<br />
Jörg Mathuszczyk
</p></blockquote>
<p>Darauf kam folgende Antwort:</p>
<blockquote><p>
Hallo Herr Mathuszczyk,</p>
<p>vielen Dank für Ihre Anfrage.</p>
<p>Dies ist gewollt, da einige Scripte dies benötigen. Wenn sich dadurch jedoch feststellt, das besagter Kunde damit den Server überlastet müssen wir einschreiten.</p>
<p>Bei weiteren Fragen stehen wir Ihnen gern zur Verfügung.</p>
<p>&#8230;
</p></blockquote>
<p>An dieser Stelle noch mal vielen Dank an den Support für die (sehr) schnelle Antwort.</p>
<p>Kommen wir nun zu einer weiteren Möglichkeit, den <em><strong>memory_limit</em></strong> hochzusetzen.<br />
Dazu benutzen wir die PHP-Funktion <a href='http://www.php.net/manual/de/function.ini-set.php' title='PHP-Funktion ini_set'><em><strong>ini_set()</em></strong></a> und fügen diese an Stelle der zuvor genannten <em>WP_MEMORY_LIMIT</em> in die <em>wp-config.php</em> ein. </p>
<pre>
&lt;?php
...
ini_set('memory_limit', '65M');
...
?&gt;
</pre>
<p>Auch dies funktionierte bei mir ohne Probleme. Ist auch logisch, denn beim Setzen von <em>WP_MEMORY_LIMIT</em> wird haargenau die gleiche Funktion benutzt, um den <em>memory_limit</em> festzulegen. Dies geschieht per Zuweisung in der <em>wp-settings.php</em>.</p>
<pre>
&lt;?php
/**
 * Used to setup and fix common variables and include
 * the WordPress procedural and class library.
 *
 * You should not have to change this file and allows
 * for some configuration in wp-config.php.
 *
 * @package WordPress
 */

if ( !defined('WP_MEMORY_LIMIT') )
	define('WP_MEMORY_LIMIT', '32M');

if ( function_exists('memory_get_usage') &#038;&#038; ( (int) @ini_get('memory_limit') < abs(intval(WP_MEMORY_LIMIT)) ) )
	<span style='color:red'>@ini_set('memory_limit', WP_MEMORY_LIMIT);</span>

 ...
</pre>
<p>Eine dritte Möglichkeit ermöglicht das Speicherlimit in der <strong><em>.htacces</em></strong>-Datei festzulegen, indem dort folgendes eingefügt wird:</p>
<pre>
<span style='color:red'>php_value memory_limit 65M</span>

# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
...
</pre>
<p>Dieser Weg war bei mir ebenfalls möglich, muss aber wiederum durch  den jeweiligen Webhoster zugelassen werden.</p>
<p>Auch wenn es verlockend klingt, den Wert gleich um ein vielfaches hochzusetzen, rate ich davon dringend ab. Ein schlecht programmiertes oder fehlerhaftes Script (Plugin, &#8230;) könnte so den gesamten zur Verfügung stehenden Arbeitsspeicher &#8220;in Beschlag nehmen&#8221;, was den gesamten Server beinträchtigen würde. Aus diesem Grund empfehle ich einen eher kleinen Wert mit etwas Spielraum nach oben (65 MB sollten bei einem WordPress-Blog dicke ausreichen).<br />
Ansonsten würde ich nach Plugins Ausschau halten, die &#8220;mächtig Hunger haben&#8221;. Eine schnelle Senkung kann durch die oben bereits angesprochene Deaktivierung der deutschen Sprachdatei in der <em>wp-config.php</em> erzielt werden.</p>
<pre>
define ('WPLANG', 'de_DE');
<span style='color:#aaa'> /* hier 'de_DE' entfernen */</span>
define ('WPLANG', '');
</pre>
<p>Durch diese Maßnahme wird das Backend von WordPress zwar wieder in Englisch angezeigt (Grundeinstellung), senkt aber den Ressourcenverbrauch um einiges. Wenn Sie nicht erst seit kurzem mit WordPress arbeiten, sollte das nicht weiter stören.</p>
<p>Bietet Ihr Webhoster von Haus aus nur wenig Arbeitspeicher und das Limit kann auch nicht lokal durch die genannten Maßnahmen erhöht werden, wäre ein Wechsel anzuraten. Dadurch treten auch in Zukunft solche Probleme gar nicht erst auf.</p>
<!-- google_ad_section_end -->
<img src="http://feeds.feedburner.com/~r/MatusBlog-WebprogrammierungUndJedeMengeTippsTricks/~4/2toxuP9eMFs" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://einmal-am-tag.de/2009-06/wordpress-memory-limit-erhoehen/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://einmal-am-tag.de/2009-06/wordpress-memory-limit-erhoehen/</feedburner:origLink></item>
		<item>
		<title>WordPress Kommentare mit Smileys</title>
		<link>http://feedproxy.google.com/~r/MatusBlog-WebprogrammierungUndJedeMengeTippsTricks/~3/bQwJc4y9lfs/</link>
		<comments>http://einmal-am-tag.de/2009-06/wordpress-kommentare-mit-smileys/#comments</comments>
		<pubDate>Tue, 23 Jun 2009 19:59:51 +0000</pubDate>
		<dc:creator>Matu</dc:creator>
				<category><![CDATA[Javascript]]></category>
		<category><![CDATA[WordPress]]></category>
		<category><![CDATA[Layout]]></category>
		<category><![CDATA[Smileys]]></category>

		<guid isPermaLink="false">http://einmal-am-tag.de/?p=1458</guid>
		<description><![CDATA[

Auf vielen WordPress-Blocks befindet sich im Kommentarbereich eine Zeile mit Smileys. 
 &#8230;
Durch Anklicken können diese Smileys dann schnell und einfach in einen Kommentar eingebunden werden. So etwas wollte ich meinen Besuchern natürlich auch bieten und habe für Euch etwas recherchiert. Folgender Javascript-Block, den ich noch XHTML-Strict validiert habe, muss in Eurer comments.php unter (oder [...]]]></description>
			<content:encoded><![CDATA[
<!-- google_ad_section_start -->
<p>Auf vielen <strong>WordPress</strong>-Blocks befindet sich im Kommentarbereich eine Zeile mit <strong>Smileys</strong>. </p>
<p><img src="http://einmal-am-tag.de/wp-includes/images/smilies/icon_wink.gif" alt="Icon Wink in WordPress Kommentare mit Smileys" class="wp-smiley"  /><img src="http://einmal-am-tag.de/wp-includes/images/smilies/icon_neutral.gif" alt="Icon Neutral in WordPress Kommentare mit Smileys" class="wp-smiley"  /><img src="http://einmal-am-tag.de/wp-includes/images/smilies/icon_mad.gif" alt="Icon Mad in WordPress Kommentare mit Smileys" class="wp-smiley"  /> &#8230;</p>
<p>Durch Anklicken können diese <strong>Smileys</strong> dann schnell und einfach in einen <strong>Kommentar</strong> eingebunden werden. So etwas wollte ich meinen Besuchern natürlich auch bieten und habe für Euch etwas recherchiert. Folgender Javascript-Block, den ich noch XHTML-Strict validiert habe, muss in Eurer <em>comments.php</em> unter (oder über) der &lt;textarea&gt;&lt;/textarea&gt; eingefügt werden.<span id="more-1458"></span></p>
<pre>
&lt;div class="smileys"&gt;
  &lt;script type="text/javascript"&gt;
  /*&lt;![CDATA[*/
    function SJB_appendSmiley(text) {
        var comment=document.getElementById('comment');
        comment.value=comment.value+' '+text;
    }

document.write('&lt;a href="javascript:SJB_appendSmiley(\':wink:\')"&gt;');
document.write('&lt;img src="http://einmal-am-tag.de/wp-includes/images/smilies/icon_wink.gif" alt=":wink:" class="wp-smiley" title=":wink:" /&gt;');
document.write('&lt;/a&gt; ');
document.write('&lt;a href="javascript:SJB_appendSmiley(\':-|\')"&gt;');
document.write('&lt;img src="http://einmal-am-tag.de/wp-includes/images/smilies/icon_neutral.gif" alt=":-|" class="wp-smiley" title=":-|" /&gt;');
document.write('&lt;/a&gt; ');
document.write('&lt;a href="javascript:SJB_appendSmiley(\':-x\')"&gt;');
document.write('&lt;img src="http://einmal-am-tag.de/wp-includes/images/smilies/icon_mad.gif" alt=":-x" class="wp-smiley" title=":-x" /&gt;');
document.write('&lt;/a&gt; ');
document.write('&lt;a href="javascript:SJB_appendSmiley(\':twisted:\')"&gt;');
document.write('&lt;img src="http://einmal-am-tag.de/wp-includes/images/smilies/icon_twisted.gif" alt=":twisted:" class="wp-smiley" title=":twisted:" /&gt;');
document.write('&lt;/a&gt; ');
document.write('&lt;a href="javascript:SJB_appendSmiley(\':)\')"&gt;');
document.write('&lt;img src="http://einmal-am-tag.de/wp-includes/images/smilies/icon_smile.gif" alt=":)" class="wp-smiley" title=":)" /&gt;');
document.write('&lt;/a&gt; ');
document.write('&lt;a href="javascript:SJB_appendSmiley(\'8-O\')"&gt;');
document.write('&lt;img src="http://einmal-am-tag.de/wp-includes/images/smilies/icon_eek.gif" alt="8-O" class="wp-smiley" title="8-O" /&gt;');
document.write('&lt;/a&gt; ');
document.write('&lt;a href="javascript:SJB_appendSmiley(\':(\')"&gt;');
document.write('&lt;img src="http://einmal-am-tag.de/wp-includes/images/smilies/icon_sad.gif" alt=":(" class="wp-smiley" title=":(" /&gt;');
document.write('&lt;/a&gt; ');
document.write('&lt;a href="javascript:SJB_appendSmiley(\':roll:\')"&gt;');
document.write('&lt;img src="http://einmal-am-tag.de/wp-includes/images/smilies/icon_rolleyes.gif" alt=":roll:" class="wp-smiley" title=":roll:" /&gt;');
document.write('&lt;/a&gt; ');
document.write('&lt;a href="javascript:SJB_appendSmiley(\':-P\')"&gt;');
document.write('&lt;img src="http://einmal-am-tag.de/wp-includes/images/smilies/icon_razz.gif" alt=":-P" class="wp-smiley" title=":-P" /&gt;');
document.write('&lt;/a&gt; ');
document.write('&lt;a href="javascript:SJB_appendSmiley(\':oops:\')"&gt;');
document.write('&lt;img src="http://einmal-am-tag.de/wp-includes/images/smilies/icon_redface.gif" alt=":oops:" class="wp-smiley" title=":oops:" /&gt;');
document.write('&lt;/a&gt; ');
document.write('&lt;a href="javascript:SJB_appendSmiley(\':-o\')"&gt;');
document.write('&lt;img src="http://einmal-am-tag.de/wp-includes/images/smilies/icon_surprised.gif" alt=":-o" class="wp-smiley" title=":-o" /&gt;');
document.write('&lt;/a&gt; ');
document.write('&lt;a href="javascript:SJB_appendSmiley(\':mrgreen:\')"&gt;');
document.write('&lt;img src="http://einmal-am-tag.de/wp-includes/images/smilies/icon_mrgreen.gif" alt=":mrgreen:" class="wp-smiley" title=":mrgreen:" /&gt;');
document.write('&lt;/a&gt; ');
document.write('&lt;a href="javascript:SJB_appendSmiley(\':lol:\')"&gt;');
document.write('&lt;img src="http://einmal-am-tag.de/wp-includes/images/smilies/icon_lol.gif" alt=":lol:" class="wp-smiley" title=":lol:" /&gt;');
document.write('&lt;/a&gt; ');
document.write('&lt;a href="javascript:SJB_appendSmiley(\':idea:\')"&gt;');
document.write('&lt;img src="http://einmal-am-tag.de/wp-includes/images/smilies/icon_idea.gif" alt=":idea:" class="wp-smiley" title=":idea:" /&gt;');
document.write('&lt;/a&gt; ');
document.write('&lt;a href="javascript:SJB_appendSmiley(\':-D\')"&gt;');
document.write('&lt;img src="http://einmal-am-tag.de/wp-includes/images/smilies/icon_biggrin.gif" alt=":-D" class="wp-smiley" title=":-D" /&gt;');
document.write('&lt;/a&gt; ');
document.write('&lt;a href="javascript:SJB_appendSmiley(\':evil:\')"&gt;');
document.write('&lt;img src="http://einmal-am-tag.de/wp-includes/images/smilies/icon_evil.gif" alt=":evil:" class="wp-smiley" title=":evil:" /&gt;');
document.write('&lt;/a&gt; ');
document.write('&lt;a href="javascript:SJB_appendSmiley(\':cry:\')"&gt;');
document.write('&lt;img src="http://einmal-am-tag.de/wp-includes/images/smilies/icon_cry.gif" alt=":cry:" class="wp-smiley" title=":cry:" /&gt;');
document.write('&lt;/a&gt; ');
document.write('&lt;a href="javascript:SJB_appendSmiley(\'8)\')"&gt;');
document.write('&lt;img src="http://einmal-am-tag.de/wp-includes/images/smilies/icon_cool.gif" alt="8)" class="wp-smiley" title="8)" /&gt;');
document.write('&lt;/a&gt; ');
document.write('&lt;a href="javascript:SJB_appendSmiley(\':arrow:\')"&gt;');
document.write('&lt;img src="http://einmal-am-tag.de/wp-includes/images/smilies/icon_arrow.gif" alt=":arrow:" class="wp-smiley" title=":arrow:" /&gt;');
document.write('&lt;/a&gt; ');
document.write('&lt;a href="javascript:SJB_appendSmiley(\':-?\')"&gt;');
document.write('&lt;img src="http://einmal-am-tag.de/wp-includes/images/smilies/icon_confused.gif" alt=":-?" class="wp-smiley" title=":-?" /&gt;');
document.write('&lt;/a&gt; ');
document.write('&lt;a href="javascript:SJB_appendSmiley(\':?:\')"&gt;');
document.write('&lt;img src="http://einmal-am-tag.de/wp-includes/images/smilies/icon_question.gif" alt=":?:" class="wp-smiley" title=":?:" /&gt;');
document.write('&lt;/a&gt; ');
document.write('&lt;a href="javascript:SJB_appendSmiley(\':!:\')"&gt;');
document.write('&lt;img src="http://einmal-am-tag.de/wp-includes/images/smilies/icon_exclaim.gif" alt=":!:" class="wp-smiley" title=":!:" /&gt;');
document.write('&lt;/a&gt; ');
/*]]&gt;*/
&lt;/script&gt;

&lt;noscript&gt;&lt;p&gt;Wenn du Javascript aktiviert h&auml;ttest, w&uuml;rden hier klickbare Smileys stehen &lt;br /&gt; You could see clickable smiley faces here if you had JavaScript activated.&lt;/p&gt;&lt;/noscript&gt;&lt;/div&gt;
</pre>
<p>Über das <em>div</em> mit der Klassenbezeichnung (class=&#8221;smileys&#8221;) könnt Ihr die Zeile in Eurem Stylesheet positionieren (falls gewünscht). </p>
<p>Der Pfad zu jedem einzelnen Smiley-Bild muss noch durch Eure eigene Domain ersetzt werden.</p>
<pre>
document.write('&lt;img src="http://<span style='color:red;'>deine_domain</span>/wp-includes/images/smilies/icon_exclaim.gif" alt=":!:" class="wp-smiley" title=":!:" /&gt;');
</pre>
<p>Wenn Ihr das nicht händig machen wollt, empfiehlt sich die Bearbeitung in einem Editor. Notepad++ bietet für solche Vorgänge unter <em>Suche</em> (STR+F) die Option <em>Ersetzen</em>.<br />
Damit lassen sich auch in größeren Scripten einzelne Zeichen schnell und problemlos durch andere austauschen.</p>
<p>In allen Zeilen des beginnenen <em>a</em>-Tags müssen zudem die Hochkommata <em>escaped</em> werden.</p>
<pre>
document.write('&lt;a href="javascript:SJB_appendSmiley(<span style='color:red;'>\'</span> ... <span style='color:red;'>\'</span>)"&gt;');
</pre>
<p>Die Smileys (wie auch am Pfad erkennbar) befinden sich in dem Ordner <strong><em>&#8230;/wp-includes/images/smilies/&#8230;</em></strong>, der direkt im Root-Verzeichnis (1. Ebene) Eurer WordPress-Installation liegt. Werft dort einfach mal einen Blick hinein.<br />
Den dort könnt Ihr auch weitere bzw. andere Smilies einfügen. Dazu einfach etwas im Netz stöbern. Eventuell kreiert jemand ja auch einen Satz eigener Smileys und stellt diese dann anderen zur Verfügung. </p>
<p>Sobald Ihr dort eigene Smileys hinzugefügt habt, müssen diese dem WordPress-System noch &#8220;bekannt&#8221; gemacht werden:</p>
<ul>
<li> Öffnet dazu bitte ebenfalls im <strong><em>wp-includes</em></strong>-Ordner die <strong><em>functions.php</em></strong></li>
<li> Drückt dort die Tastenkombination &#8220;STRG+F&#8221;, so dass sich das &#8220;Suchen&#8221;-Fenster öffnet und gebt dort <strong><em>$wpsmiliestrans  = array</strong></em> ein</li>
<li> Dadurch gelangt Ihr zu einem Array, in dem allen einzelnen Smiley-Images (aus dem zuvor angesprochenen smilie-Ordner) ein individueller Text zugeordnet wird.
<p><a href='http://einmal-am-tag.de/wp-content/uploads/2009/06/smiley_array.png' rel="lightbox" title='Smiley Array in WordPress'><img src="http://einmal-am-tag.de/wp-content/uploads/2009/06/smiley_array.png" alt="Smiley Array in WordPress Kommentare mit Smileys" width="300" height="200" /></a></p>
</li>
<li>
Der gleiche Text wird beim Anklicken eines Smileys an die Funktion <em>SJB_appendSmiley</em> übergeben und in den Kommentarbereich eingefügt.<br/><br/></p>
<pre>
document.write('&lt;a href="javascript:SJB_appendSmiley(\':-|\')"&gt;');
</pre>
</li>
<li>
Wordpress tauscht diesen Text dann durch das jeweilige im <strong><em>$wpsmiliestrans</em></strong>-Array zugewiesene Smiley aus
</li>
<li>
Für jeden Eurer eigenen Smileys, die Ihr zuvor im smilie-Odner abgespeichert habt, legt Ihr hier nun nach dem gleichen Schema eine eigene Zeile an:<br/><br/></p>
<pre>
...
 ':neuer_smiley:' => 'neuer_smiley.gif',
':neuer_smiley2:' => 'neuer_smiley2.gif',
':neuer_smiley3:' => 'neuer_smiley3.gif',
...
</pre>
</li>
<li>
Der Javascript-Block in der <strong><em>comments.php</em></strong> muss natürlich um jedes neu hinzugefügte Smiley erweitert werden:<br/><br/></p>
<pre>
document.write('&lt;a href="javascript:SJB_appendSmiley(\':neuer_smiley:\')"&gt;');
document.write('&lt;img src="http://eure_domain/wp-includes/images/smilies/neuer_smilie.gif" alt=":-x" class="wp-smiley" title=":neuer_smilie:" /&gt;');
document.write('&lt;/a&gt; ');
</pre>
</li>
</ul>
<p>Jetzt sollte klar geworden sein, wie es funktioniert.</p>
<p>Mich persönlich sprechen diese <a href='http://noobr.net/2009/02/15-smiley-icon-sets-express-yourself/' title='manto smileys'>&#8216;manto-smileys&#8217;</a> besonders an, die nur noch mit GIMP (oder Photoshop) auf eine akzeptable Größe reduziert werden müßten.<br />
Als ich diese das erste mal gesehen habe, dachte ich nur:&#8221;Wie geil ist das denn!&#8221;. Allerdings sagt die Seite nichts über die Lizenzbestimmungen des chinesischen Designers aus &#8230;! </p>
<!-- google_ad_section_end -->
<img src="http://feeds.feedburner.com/~r/MatusBlog-WebprogrammierungUndJedeMengeTippsTricks/~4/bQwJc4y9lfs" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://einmal-am-tag.de/2009-06/wordpress-kommentare-mit-smileys/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		<feedburner:origLink>http://einmal-am-tag.de/2009-06/wordpress-kommentare-mit-smileys/</feedburner:origLink></item>
		<item>
		<title>Quellcode strukturieren und kürzen!</title>
		<link>http://feedproxy.google.com/~r/MatusBlog-WebprogrammierungUndJedeMengeTippsTricks/~3/9KmyjAiHZ44/</link>
		<comments>http://einmal-am-tag.de/2009-06/quellcode-strukturieren-und-kuerzen/#comments</comments>
		<pubDate>Mon, 22 Jun 2009 14:50:58 +0000</pubDate>
		<dc:creator>Matu</dc:creator>
				<category><![CDATA[Javascript]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[Programmierung]]></category>
		<category><![CDATA[Quellcode]]></category>
		<category><![CDATA[Ternary Operators]]></category>

		<guid isPermaLink="false">http://einmal-am-tag.de/?p=1434</guid>
		<description><![CDATA[

In der Programmierung, besonders bei größeren Projekten/ Scripten, wird der Quellcode schnell unübersichtlich und schwer wartbar. Wer schon einmal ein Programm/ Script mit mehr als 1000 Zeilen geschrieben hat, wird mir da sicherlich zustimmen. Aus diesem Grund empfiehlt es sich, den Quellcode zu kommentieren und übersichtlich einzurücken. Zu dem können if/else-Kontrollstrukturen und Datenbankabfragen verkürzt dargestellt [...]]]></description>
			<content:encoded><![CDATA[
<!-- google_ad_section_start -->
<p>In der Programmierung, besonders bei größeren Projekten/ Scripten, wird der Quellcode schnell unübersichtlich und schwer wartbar. Wer schon einmal ein Programm/ Script mit mehr als 1000 Zeilen geschrieben hat, wird mir da sicherlich zustimmen. Aus diesem Grund empfiehlt es sich, den Quellcode zu kommentieren und übersichtlich einzurücken. Zu dem können <em>if/else</em>-Kontrollstrukturen und Datenbankabfragen verkürzt dargestellt werden. In diesem Tutorial möchte ich Ihnen dazu einige Beispiele bieten.<span id="more-1434"></span></p>
<p><strong>Kommentare einsetzen</strong><br />
In der Programmierung sind Kommentare (Comments) meiner Meinung nach das Salz in der Suppe. Sie ermöglichen es uns auch noch nach Monaten, jeden Abschnitt des jeweiligen Quellcodes besser und somit schneller zu verstehen.  Dies ist besonders wichtig, wenn fremder (nicht von uns selbst programmierter) Code vorliegt. Ich habe mir angewöhnt, besonders komplexe Passagen direkt mit einem Kommentar zu versehen. In PHP gibt es dazu zwei Möglichkeiten:</p>
<pre>
<span style='color:#aaa;'>/*Einzeiliger Kommentar*/</span>
// einzeilige Kommentare können mit ’//’ (zwei Backslashes) in den Quellcode eingefügt werden

<span style='color:#aaa;'>/*Mehrzeiliger Kommentar*/</span>
/* mehrzeilige Kommentare werden mit einem
* beginnenden ’/*’ (Slash und folgendem Sternchen)
* eingeleitet und mit ’*/’ (also umgekehrt)
* wieder abgeschlossen.
* In jeder neuen Zeile empfehle ich ein
* Sternchen als Einleitung einzufügen
*/
</pre>
<p>Auch wenn Kommentare Mehrarbeit bedeuten, möchte ich Ihnen nahelegen, davon ausgiebig Gebrauch zu machen. Spätestens wenn ein älteres Projekt verändert/angepasst werden muss,  werden sie dies zu schätzen wissen. Zudem wird der Lerneffekt verstärkt, da Sie sich mit dem erstellten Quellcode intensiver auseinandersetzen.</p>
<p><strong>Quellcode einrücken</strong><br />
Genau wie beim Kommentieren erfordert das durchgehende Einrücken des Quellcodes zunächst mehr Aufwand (obwohl es bei mir eigentlich schon automatisch erfolgt). Aber neben der verbesserten Lesbarkeit wird durch diese Maßnahme vor allem die Fehlersuche enorm erleichert. Dabei haben sich folgende zwei Möglichkeiten/ Stile etabliert (<a href='http://de.wikipedia.org/wiki/Einr%C3%BCckungsstil' title='Wikipedia Einrückungsstile Programmierung'>Einrückunsstile</a>)</p>
<pre>
<span style='color:#aaa;'>/* Stil 1 */</span>
if($ausruf == 'Hallo') <span style='color:red'>{</span>
	echo "Er hat 'Hallo' gerufen";
<span style='color:red'>}</span> else  <span style='color:red'>{</span>
	echo "Er hat nichts gerufen";
<span style='color:red'>}</span>

<span style='color:#aaa;'>/* Stil 2 */</span>
if($ausruf == 'Hallo')
<span style='color:red'>{</span>
	echo "Er hat ‘Hallo’ gerufen";
<span style='color:red'>}</span>
else
<span style='color:red'>{</span>
	echo "Er hat nichts gerufen";
<span style='color:red'>}</span>
</pre>
<p>Die Einrückungstiefe kann dabei getrost selbst bestimmt werden. Einige nehmen einen ganzen &#8216;Tab&#8217;, andere nur zwei oder drei Leerzeichen. Ich denke, dabei kommt es auf die Verschachtelungstiefe an. </p>
<p>Ich persönliche ertappe mich regelmäßig dabei, dass ich Mal den einen und Mal den anderen Einrückungsstil verwende. Den ersteren Aufgrund meiner Java/C++-Erfahrung (der etwas mehr Platz spart) und den zweiten hinsichtlich PHP (den ich als etwas übersichtlicher empfinde). Des Weiteren achte ich darauf, dass z.B. Gleichheitszeichen bei Zuweisungen ordentlich untereinanderstehen.</p>
<pre>
$string    = 'Hallo Welt';
$boolean   = true;
$int       = 5;
...
</pre>
<p>Entscheiden Sie selber, wie Sie Ihren Quellcode überschaubarer gestalten! Viele Editoren besitzen bereits eine automatische Einrückung oder das sogenannte <em>Syntaxhighlighting</em>, wodurch dieser Schritt vereinfacht wird.</p>
<p><strong>Quellcode verkürzen</strong><br />
Dies ist ein heikles Thema und es gehört viel Erfahrung und eine Menge Grips dazu, Algorithmen oder einfacher gesagt die Programmierlogik zu verkürzen. Während der ersten Schritte, in denen man sich die Basics der Programmierung aneignet, kommt es meistens zu ausufernden Konstrukten, um z.B. eine Anweisung zu programmieren.<br />
Ausgiebiger Gebrauch von verschachtelten if/else-Kontollstrukturen führen zwar letztendlich ebenfalls zum Ziel, sind jedoch fehleranfälliger und verlangsamen das Programm/ Script (mal ganz abgesehen von der bereits zuvor angesprochenen schlechteren Übersichtlichkeit). </p>
<p>Während diverser Weiterbildungen war es ein beliebter „Wettbewerb“ unter den Teilnehmern, alles möglichst kurz zu programmieren. Die Königsklasse hierbei war der legendäre „Einzeiler“: Unter Verwendung der ausgeklügelsten Techniken (Stichworte: Modulo, Reguläre Ausdrücke, …) wurde mehrzeiliger Code zu einer einzigen Zeile komprimiert. </p>
<p>Ich habe dabei ein ums andere Mal große Augen bekommen, mir dies aber möglichst nicht anmerken lassen <img src='http://einmal-am-tag.de/wp-includes/images/smilies/icon_wink.gif' alt="Icon Wink in Quellcode strukturieren und kürzen!" class='wp-smiley' />  !<br />
Doch neben genug Gehirnschmalz und Erfahrung gibt es auch ein paar Techniken, die leicht erlernbar sind und den Quellcode ebenfalls kürzer und überschaubarer gestalten.<br />
Eine Möglichkeit besteht darin, einfache if/else-Kontrollstrukturen in einer einzigen Zeile auszuführen:</p>
<pre>
<span style='color:#aaa'>/* Lange Version */</span>

if(isset($_POST['color']))
{
	$backgroundcolor =  $_POST['color'];
}
else
{
	$backgroundcolor =  'white';
}

<span style='color:#aaa'>/* Kurze Version */</span>
$backgroundcolor = (isset($_POST['color'])) <span style='color:red; font-weight:bold;'>?</span> ($_POST['color'] <span style='color:red; font-weight:bold;'>:</span> 'white';
</pre>
<p>Das Beispiel ist aus der Luft gegriffen und bezieht sich auf PHP. Eine ähnliche Syntax gibt es auch für Java und C++ (&#8230;). Es handelt sich hierbei um die sogenannten &#8216;Ternary Operators&#8217; (engl. Dreifach-Operatoren). Am Anfang etwas gewöhnungsbedürftig, möchte man sie später (einmal verinnerlicht) nicht mehr missen.<br />
Mit dem PHP-Befehl <em>sprintf</em> läßt sich der Quellcode ebenfalls oftmals verürzt und übersichtlicher darstellen.</p>
<pre>
<span style='color:#aaa;'>/* Beipiel herkömmliche Schreibweise */</span>
&lt;?php
$query = "SELECT telefon
          FROM kunde
          WHERE vorname = '".addslashes($vorname)."'
          AND name = '".addslashes($name)."'
          AND strasse = '".addslashes($strasse)."'";
$result = mysql_query($query);
...
<span style='color:#aaa;'>/* Nicht sehr übersichlich, oder?!
Dann schauen Sie sich mal dieses Beispiel an*/</span>

$query = sprintf("SELECT telefon
                  FROM kunde
                  WHERE vorname= '%s'
                  AND name = '%s'
                  AND strasse = '%s'",
                  addslashes($vorname),
                  addslashes($name),
                  addslashes($strasse));
$result = mysql_query($query);
?&gt;
</pre>
<p>Hierbei werden im Quellcode Platzhalter (Literale) eingesetzt, die anschließend in der gleichen Reihenfolge durch die angefügten Parameter ersetzt werden.<br />
Ein <em>%s</em> bedeutet hierbei, dass an dieser Stelle ein String gesetzt wird. Es können auch Dezimalzahlen (<em>%d</em>) oder Zahlen vom Typ <em>float</em> (<em>%f</em>) übergeben werden. Zudem lassen sich neben anderen Angaben auch Ausrichtung und Länge einfügen, auf die ich hier aber nicht weiter eingehen werde (<a href='http://www.selfphp.de/funktionsreferenz/string_funktionen/sprintf.php' title='SELFPHP zu sprintf'>weiterführende Informationen</a>).</p>
<p>Tun Sie sich (und eventuell anderen) einen Gefallen und schreiben Sie lesbaren Quellcode!</p>
<!-- google_ad_section_end -->
<img src="http://feeds.feedburner.com/~r/MatusBlog-WebprogrammierungUndJedeMengeTippsTricks/~4/9KmyjAiHZ44" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://einmal-am-tag.de/2009-06/quellcode-strukturieren-und-kuerzen/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://einmal-am-tag.de/2009-06/quellcode-strukturieren-und-kuerzen/</feedburner:origLink></item>
		<item>
		<title>Was ist Twitter (Microblogging)?</title>
		<link>http://feedproxy.google.com/~r/MatusBlog-WebprogrammierungUndJedeMengeTippsTricks/~3/0TBCw_vZG1s/</link>
		<comments>http://einmal-am-tag.de/2009-06/was-ist-twitter-microblogging/#comments</comments>
		<pubDate>Fri, 19 Jun 2009 19:59:03 +0000</pubDate>
		<dc:creator>Matu</dc:creator>
				<category><![CDATA[Allgemein]]></category>

		<guid isPermaLink="false">http://einmal-am-tag.de/?p=1423</guid>
		<description><![CDATA[

Do you know TWITTER ?
Viele haben schon davon gehört, einige wissen aber nicht genau, was es mit diesem &#8220;Online-Tagebuch&#8221; auf sich hat.
Neben Wikipedia dürfte dieses Video vom &#8220;elektrischen Reporter&#8221; die meisten Fragen zum Thema &#8220;Zwitschern&#8221; beantworten.
(Einfach auf das Bild klicken)

Ich für meinen Teil halte nicht viel von diesem ganzen &#8220;Zwitscher&#8221;-Kram, in dem Leute alle Nase [...]]]></description>
			<content:encoded><![CDATA[
<!-- google_ad_section_start -->
<p>Do you know TWITTER ?<br />
Viele haben schon davon gehört, einige wissen aber nicht genau, was es mit diesem &#8220;Online-Tagebuch&#8221; auf sich hat.<br />
Neben <a href='http://de.wikipedia.org/wiki/Twitter' title='Über Twitter bei Wikipedia'>Wikipedia</a> dürfte dieses Video vom &#8220;elektrischen Reporter&#8221; die meisten Fragen zum Thema &#8220;Zwitschern&#8221; beantworten.<br />
<span class='small'>(Einfach auf das Bild klicken)</span></p>
<p><a href='http://www.elektrischer-reporter.de/elr/video/83/' title='Der elektrische Reporter erklärt Twitter'><img src='http://einmal-am-tag.de/wp-content/uploads/2009/06/twitter2.jpg' alt="Twitter2 in Was ist Twitter (Microblogging)?" width='450' height='275' /></a></p>
<p>Ich für meinen Teil halte nicht viel von diesem ganzen &#8220;Zwitscher&#8221;-Kram, in dem Leute alle Nase lang mitteilen, was sie gerade machen, wie sie sich momentan fühlen oder weiss der Geier. <span id="more-1423"></span></p>
<p><img src="http://einmal-am-tag.de/wp-content/uploads/2009/06/twitter1.jpg" alt="Twitter1 in Was ist Twitter (Microblogging)?" width="450" height="275"  /></p>
<p>Allerdings muss ich zugeben, dass einige Aspekte interessant sind. Neben den (wohl wenigen brauchbaren) Informationen finde ich die Aussage in dem Video erwähnenswert, wo der Gründer im hinteren Teil das Beispiel mit Amsterdam beschreibt: Jemand fährt dorthin, &#8220;twittert&#8221; es und könnte so prompt von jemand anderes aus Amsterdam z.B. zu einem Drink eingeladen werden. Oder, wie es der Zufall manchmal will, befindet sich just in diesem Augenblick ein Bekannter ebenfalls vor Ort.<br />
Andererseits sollten vielleicht nicht zu viele Informationen preisgegeben werden. Nicht das nachher noch jemand an der &#8220;Zwitscher&#8221;-Leitung hängt bzw. mitliest, der weniger gute Absichten hegt &#8230;</p>
<!-- google_ad_section_end -->
<img src="http://feeds.feedburner.com/~r/MatusBlog-WebprogrammierungUndJedeMengeTippsTricks/~4/0TBCw_vZG1s" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://einmal-am-tag.de/2009-06/was-ist-twitter-microblogging/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://einmal-am-tag.de/2009-06/was-ist-twitter-microblogging/</feedburner:origLink></item>
	</channel>
</rss>
