<?xml version="1.0" encoding="utf-8"?>
<?xml-stylesheet type="text/xsl" href="http://www.webkontext.net/fileadmin/templates/css/rss.xsl" media="screen" ?>
<rss version="2.0"
 xmlns:content="http://purl.org/rss/1.0/modules/content/">
    <channel>
        
        <title>WebKontext.Net</title>
        <link>http://www.webkontext.net/</link>
        <description>WebKontext.Net</description>
        <language>de</language>
        <image>
            <title>[WebKontext.Net]</title>
            <url>http://www.webkontext.net/fileadmin/templates/images/WBK_LO_RGB_250px.gif</url>
            <link>http://www.webkontext.net/</link>
            <width>254</width>
            <height>39</height>
            <description>[WebKontext.Net]</description>
        </image>
        <generator>TIMTAB - Typo3</generator>
        <docs>http://blogs.law.harvard.edu/tech/rss</docs>
        
        
        
        <lastBuildDate>Sun, 18 Nov 2007 21:04:00 +0100</lastBuildDate>
        
        
        <item>
            <title>Druck-Layout für Websites gestalten</title>
            <link>http://www.webkontext.net/artikel/archiv/2007/november/artikel/css-nur-fuer-den-druck/</link>
            <description>Oft werden am Bildschirm Elemente angezeigt die beim Druck störend sind. Medien-Spezifische Stylesheets helfen das Layout extra für den Druck anzupassen.</description>
            <content:encoded><![CDATA[<p>Bildschirm und Druck haben verschiedene Seitenverhältnisse und Auflösungen. Daher kann es leicht vorkommen, dass der Ausdruck einer Website nur suboptimal aussieht. Einzelne Elemente, wie beispielsweie Menüs wirken am Ausdruck störend und nehmen nur unnötig Platz weg.</p>
<p>Üblicherweise muss das Layout für den Ausdruck in folgenden Bereichen angepasst werden:</p><ul><li><strong>Schriftgrösse:</strong> Wenn für die Ausgabe am Bildschirm nicht die logische Masseinheit em verwendet wird, sollte die Schriftgrösse für den Ausdruck auf em geändert werden, da in px deklarierte Schriftgrössen meist zu klein wirken.</li><li><strong>Unnötige Elemente:</strong> Manche Elemente wie Menüs, Werbung oder Formulare sind am Ausdruck sinnlos, daher können sie für den Druck versteckt werden.</li><li><strong>Farben:</strong> Manche Farben, insbesondere Schriftfarben wirken am Ausdruck schlecht und sollten daher angepasst werden.</li><li><strong>Ränder</strong>: Für den Bildschirm deklarierte Element-Ränder können manchmal nicht zum Druck-Layout passen und müssen gegebenenfalls angepasst werden.</li></ul><p>Was genau am Layout für den Druck geändert werden muss hängt von der Website ab. </p>
<p>Eine Möglichkeit ist, für den Ausdruck eine eigene HTML-Seite zu genierieren. Dies kann jedoch - abhängig von der verwendeten Technik - relativ aufwändig und wartungsintensiv sein. Eine einfache und schnelle Möglichkeit das Layout für den Druck anzupassen ist die Verwendung von medien-spezifischen Stylesheets.</p>
<p>Um ein gelinktes Stylesheet ausschliesslich für ein bestimmtes Ausgabegerät zu verwenden, steht beim <code>link</code>-tag das Attribut <code>media</code> zur Vefügung (<a href="http://www.w3.org/TR/html401/types.html#type-media-descriptors" title="Öffnet einen externen Link in einem neuen Fenster" target="_blank" class="external-link-new-window" title="">media-attribut referenz auf w3.org</a>). Einer der vordefinierten Augabe-Typen ist <code>print</code>. Die Datei - in unserem Fall ein Stylesheet wird also nur verwendet, wenn es sich um eine Ausgabe auf einen Drucker handelt. Auch auf WEBKONTEXT.net ist das so gelöst:</p>
<pre id="line18" class="codeblock">&lt;<span class="start-tag">link</span><span class="attribute-name"> rel</span>=<span class="attribute-value">&quot;stylesheet&quot; </span><span class="attribute-name">href</span>=<span class="attribute-value">&quot;fileadmin/templates/css/webkontext_print.css&quot; </span><span class="attribute-name">type</span>=<span class="attribute-value">&quot;text/css&quot; </span><span class="attribute-name">media</span>=<span class="attribute-value">&quot;print&quot; </span><span class="error"><span class="attribute-name">/</span></span>&gt;</pre>
<p>Dieses Styles-File beinhaltet <em>aussschliesslich</em> Klassen-Deklarationen, die sich von der am Bildschirm verwendeten Deklaration unterscheiden und <em>überschreiben </em>die allgemein gültigen Klassendeklarationen, welche im CSS-File <code>webkontext.css</code> deklariert sind:</p>
<pre id="line18" class="codeblock">&lt;<span class="start-tag">link</span><span class="attribute-name"> rel</span>=<span class="attribute-value">&quot;stylesheet&quot; </span><span class="attribute-name">href</span>=<span class="attribute-value">&quot;fileadmin/templates/css/webkontext.css&quot; </span><span class="attribute-name">type</span>=<span class="attribute-value">&quot;text/css&quot; </span><span class="error"><span class="attribute-name">/</span></span>&gt;<br />&lt;<span class="start-tag">link</span><span class="attribute-name"> rel</span>=<span class="attribute-value">&quot;stylesheet&quot; </span><span class="attribute-name">href</span>=<span class="attribute-value">&quot;fileadmin/templates/css/webkontext_print.css&quot; </span><span class="attribute-name">type</span>=<span class="attribute-value">&quot;text/css&quot; </span><span class="attribute-name">media</span>=<span class="attribute-value">&quot;print&quot; </span><span class="error"><span class="attribute-name">/</span></span>&gt;</pre>
<p class="userstyle-attention"><em>Das CSS-File für den Ausdruck kommt zusätzlich zum normalen Stylesheet zur Anwendung, beinhaltet also ausschliesslich Deklarationen die sich von der Bildschirmausgabe unterscheiden</em></p>
<p>Bei der Anzeige am Bildschirm kommt also nur das CSS-File <code>webkontext.css</code> zur Anwendung, beim Ausdruck zusätzlich das File <code>webkontext_print.css</code>. Da das File webkontext_print.css nach dem allgemein gültigem Stylesheet gelinkt wird, haben die darin enthaltenen Deklarationen höhere Priorität als die Deklarationen des allgemeinen Stylesheets, überschreiben sie also.</p>
<p>Im Fall von WEBKONTEXT.net sind die <code>div</code>-Elemente <code>#menubar</code>, <code>#ldboard</code>, <code>#leftcol</code> und <code>#rightcol</code> am Ausdruck sinnlos und sollen versteckt werden. Da wird mit <code>display: none;</code> erreicht.&nbsp; Ausserdem&nbsp; wird die Schriftfarbe für Links&nbsp; für das Druck-Layout&nbsp; verändert, da auf&nbsp; SW-Druckern Orange nur mehr ein blasses Grau ist.</p>
<p>Damit sieht das Stylsheet für Drucker hier so aus:</p>
<pre class="codeblock">body, <br />h1, h2, h3, h4, h5, h6,<br />a, a:link, a:hover, a:visited, a:active<br />{<br />	color: #000000;<br />}<br /><br />#mainbody<br />{<br />	/*<br />	Fuer die Bildschirmanzeige wurde rundherum ein Rahmen definiert<br />	Den brauchen  wir beim Ausdruck nicht<br />	*/<br />	margin: 0px;<br />	padding: 0px;<br />	border: none;<br />}<br /><br />#titlebar<br />{<br />	/* Keine Einrueckung des Logos am Ausdruck */<br />	margin-left: 0px; <br />	padding-left: 0px;<br />}<br /><br />#titlebar a img<br />{<br />	/* Keine Einrueckung des Logos am Ausdruck */<br />	margin-left: 0px; <br />	padding-left: 0px;<br />}<br /><br />#ldboard<br />{<br />	display: none;<br />}<br /><br />#menubar<br />{<br />	display: none;<br />}<br /><br />#leftcol<br />{<br />	display: none;<br />}<br /><br />#rightcol<br />{<br />	display: none;<br />}<br /><br />#content {<br />	/* <br />	es gibt keine linken und rechten spalten mehr <br />	fuer die platz reserviert werden muss <br />	*/<br />	margin-left: 0px;  <br />	margin-right: 0px;<br />}<br /><br />.tx-veguestbook-pi1 form<br />{<br />	display: none;<br />}<br /><br />p.codeblock, pre.codeblock<br />{<br />	font-size: 80%;<br />}</pre>
<p>Das Stylesheet, welches das Layout für den Druck bestimmt beinhaltet also nur wenige Deklarationen. </p>
<p>Die Schriftfarbe für Links und Überschriften wird auf Schwarz geändert.</p>
<p>Dann werden die Ränder der Elemente <code>mainbody</code>, <code>titlebar</code> und <code>titlebar a img</code> angepasst.</p>
<p class="userstyle-attention">Der am Ausdruck verwendete Seitenrand kann nicht browser-unabhängig vom CSS beinflusst werden. Der Seitenrand ist also browser- bzw. Benutzerabhängig. Daher sollten bei en eigentlichen Content-Elementen Ränder vermieden werde um Platz zu sparen.</p>
<p>Dies geschieht hier indem beim alles-umgebenden Element <code>#mainbody</code> die Ränder und Rahmen auf Null gesetzt werden.</p>
<p>Weiters wird das Layout beeinflusst, indem beim Ausdruck unnötige Elemente mit <code>display: none;</code> versteckt werden. </p>
<p>Das Element <code>#content</code> wird weiter verwendet, allerdings werden die margins, welche am Bildschirm Platz für die linke und rechte Spalte reservieren angpeasst (die gibts ja am Ausdruck nicht). </p>]]></content:encoded>
            <category>Browser</category>
			<category>HTML/CSS</category>
			
            <author>prucha@helicon.at</author>
            <pubDate>Sun, 18 Nov 2007 21:04:00 +0100</pubDate>
        </item>
        
        <item>
            <title>Hilfe!!! Zurück!!!</title>
            <link>http://www.webkontext.net/artikel/archiv/2007/october/artikel/hilfe-zurueck/</link>
            <description>Wer in Typo3 schon mal eine Seite bzw Artikel &quot;verschlimmbessert&quot; hat, wünscht sich schon mal eine Rückzugsmöglichkeit. Typo3 bietet diese.</description>
            <content:encoded><![CDATA[<p>Solange man im Typo3-Backend an einem Artikel arbeitet und ihn noch nicht gespeichert hat, bietet der Backend-Editor die Undo-Funktion. Aber was, wenn die Änderungen bereits gespeichert wurden?</p>
<p class="userstyle-attention"><em>Typo3 speichert intern jede Änderung mit. Das heisst, auch alte Versionen eines Datensatzes (Seite, News-Record, ...) bleiben erhalten und gehen beim Änderun und Speichern nicht verloren.</em></p>
<p>In Typo3 werden alle Änderungen eines Datensatzes in der <dfn>Record-History</dfn>, also der Änderungs-Geschichte gespeichert. Die Record-History ist eine Art Logbuch in der alle Änderungen eines Datensatzes ersichtlich sind.</p>
<h2>Rücksetzen auf die vorherige Version</h2>
<p><img src="fileadmin/user_upload/Artikel-Bilder/record-undo/record-undo-button.jpg" style="BORDER-RIGHT: thin solid; BORDER-TOP: thin solid; FLOAT: left; BORDER-LEFT: thin solid; WIDTH: 180px; BORDER-BOTTOM: thin solid; HEIGHT: 55px" class="userstyle-image-left" alt="" /></p>
<p>Die einfachste Möglichkeit auf die vorherige Version eines Datensatzes zuzugreifen bietet der Button&nbsp; Zurücksetzen-Button im Record. Dazu muss der Datensatz, der zurückgesetzt werden soll geöffnet. Bewegt man den Mouse-Cursor über den Zurücksetzen-Button erscheint ein Hint wie alt die letzte Version ist welche bei Betätigung des Buttons wieder herangezogen wird. Durch mehrfaches Betätigen des Buttons kann schrittweise zurückgegangen werden. Typo3 bietet also eine Undo-Funktion auch ohne manueller Versionierung.</p>
<h2>Die Änderungs-Geschichte</h2>
<p><img border="1" width="380" src="fileadmin/user_upload/Artikel-Bilder/record-undo/list-view-history-button.jpg" height="104" class="userstyle-image-left" alt="" />Auf die Record-History lässt sich auch direkt zugreifen. Dafür ist es notendig in die Listenansicht <kbd>Web&gt;Liste</kbd> zu wechseln.&nbsp; Im Baum wird dann das <em>übergeordnete</em> Element ausgewählt. In der Listenansicht rechts erscheint dann die Liste aller enthaltenen Elemente. Für jede Art von Datensatz wird eine History geführt. Es ist also möglich auch die Änderungen eines einzelnen Content-Elements einer Seite zu betrachten und gegebenenfalls auf eine frühere Version zurückzugreifen.</p>
<p>Wird in der List-View der Button Änderungsverlauf anzeigen angeklickt, erscheint die Liste der Änderungen des Datensatzes. </p>
<p><img border="1" width="350" src="fileadmin/user_upload/Artikel-Bilder/record-undo/typo3-aenderungsverlauf-ansicht.jpg" height="294" class="userstyle-image-left" alt="" />Die Liste beinhaltet auch die Details der Änderungen. Hinzugefügte Passagen werden in grün dargestellt, gelöschte in Rot. Bei jeder Version in der Record-History erscheint ein Button der den Datensatz auf die jeweilige Version zurücksetzt.</p>]]></content:encoded>
            <category>Typo3</category>
			
            <author>prucha@helicon.at</author>
            <pubDate>Sun, 21 Oct 2007 15:50:00 +0200</pubDate>
        </item>
        
        <item>
            <title>Usability entscheidend für Benutzerakzeptanz</title>
            <link>http://www.webkontext.net/artikel/archiv/2007/october/artikel/usability-entscheidend-fuer-benutzerakzeptanz/</link>
            <description>Gute Website unterscheiden sich von den schlechten vor allem durch eines: Usability.</description>
            <content:encoded><![CDATA[<p>War es am Anfang des Internetbooms unwesentlich, wie eine Website aufgebaut war und welcher Inhalt geboten wurde, Hauptsache man war online, so bewirkt die immer grösser werdende Anzahl der Websites, dass der User die Wahl hat, wo er hin surft. Und da zählt neben gesuchtem Content vor allem eines: Usability. Sie entscheidet, ob der User findet, was er sucht oder ob er abbricht und auf eine andere Website wechselt.</p>
<p>Wenn es weltweit einen Usability-Guru gibt, dann ist das Jakob Nielsen. Tausende von Lesern in aller Welt erwarten jeweils mit Spannung seine auf <a href="http://www.useit.com/" target="_blank" title="">http://www.useit.com</a> erscheinenden Kolumnen. Seit dem 22. Februar 2002, seit über 5 Jahren, wird Jakob Nielsens &quot;Alertbox&quot; vom Institut für Software-Ergonomie und Usability in Zürich ins Deutsche übersetzt - ein kostenfreier, sehr rege genutzter Service, der Nielsens wertvolle Tipps und Anregungen den Lesern im deutschsprachigen Raum leichter zugänglich macht. <a href="http://www.usability.ch/Alertbox/main.htm" target="_blank" title="">http://www.usability.ch/Alertbox/main.htm</a> </p>
<h3>Um 25% schneller Navigieren</h3>
<p>So erlaubt die richtige und fixe Positionierung von Elementen für geübte Surfer ein um 25% schnelleres Navigieren. Auch das Leseverhalten ist unterschiedlich zwischen Papier und Monitor: Immerhin mehr als Dreiviertel der Internetuser liest die Texte auf Websites nicht, sondern &quot;scannt&quot; sie nur. </p>
<p>Neben Gestaltung der Website ist die Sprache von entscheidender Bedeutung. &quot;Sprechen Sie die Sprache der Benutzer&quot; ist seit �ber 20 Jahren eine der wichtigsten Usability-Richtlinien. Das gilt besonders bei der Optimierung für Suchmaschinen: Der beste Weg zu einem guten Ranking ist, jene Schlüsselwörter zu schreiben, die auch den Suchanfragen der Benutzer entsprechen.</p>]]></content:encoded>
            <category>Allgemeines</category>
			<category>Marketing</category>
			
            
            <pubDate>Mon, 01 Oct 2007 00:58:00 +0200</pubDate>
        </item>
        
        <item>
            <title>Cache automatisch löschen in Typo3</title>
            <link>http://www.webkontext.net/artikel/archiv/2007/september/artikel/cache-automatisch-loeschen-in-typo3/</link>
            <description>Von Änderungen im Backend ist bis zur Aktualisierung des Caches auf der Site nichts zu sehen. Löschen des Caches hilft, aber das darf nicht jeder. Automatisierung bringt eine Abhilfe.</description>
            <content:encoded><![CDATA[<h2>Cache Löschen für Benutzer freigeben.</h2>
<p>Mit zwei Zeilen im <em>TSConfig des Benutzers</em> lassen sich sich die Funktionen <em>Seiten-Cache löschen</em> und <em>FE-Cache löschen</em> auch für normale Benutzer freigeben:<strong></strong></p>
<p class="userstyle-code-block"><strong>User TSConfig:<br /></strong><code>options.clearCache.pages = 1<br />options.clearCache.all = 1</code></p>
<p><img src="typo3temp/pics/40df449980.gif" alt="Cache-Funktionen im Typo3 Backend des Redakteurs" style="BORDER-RIGHT: thin solid; PADDING-RIGHT: 2px; BORDER-TOP: thin solid; PADDING-LEFT: 2px; FLOAT: left; PADDING-BOTTOM: 2px; BORDER-LEFT: thin solid; WIDTH: 249px; PADDING-TOP: 2px; BORDER-BOTTOM: thin solid; HEIGHT: 154px" title="Cache-Funktionen im Typo3 Backend des Redakteurs" /></p>
<p>Die Funktionen erscheinen aber nicht links im Hauptmenü des Typo3-Backends, sondern rechts oben im Menü der jeweiligen Seite.<br /><br />Diese Einstellung bietet normalen Benutzern die Möglichkeit den Cache zu löschen, wirklich benutzerfreundlich ist das aber noch nicht, da die Löschung des Caches noch immer manuell vorgnommen werden muss.</p>
<h2>Cache seitenabhängig automatisch löschen</h2>
<p>Eine elegantere Möglichkeit Caches zu löschen bieten einige Optionen im <em>Page-TSConfig</em>. Diese Einstellungen ermöglichen es bei Änderungen in einer Seite oder eines Folders automatisch den Cache anderer Seiten zu löschen. Die Option bietet die Möglichkeit zur Angabe von einzelnen PIDs (<dfn>PIDs</dfn> sind die ID-Nummern der Seiten. Die PIDs erscheinen wenn man im Page-Tree mit der Maus über die Seiten-Symbole fährt), <dfn>all</dfn> für alle Caches und <dfn>pages</dfn> für Seiten-Caches.</p>
<p class="userstyle-attention"><em>Auch bei dieser Konfiguration muss <em><code>options.clearCache.all = 1</code>, wie im vorherigen Kapitel beschrieben gesetzt werden, da sonst auch die automatische Cache-Löschung inaktiv ist. (Siehe <a href="http://bugs.typo3.org/view.php?id=4543" title="Öffnet einen externen Link in einem neuen Fenster" target="_blank" class="external-link-new-window" title="">http://bugs.typo3.org/view.php?id=4543</a>)</em></em><em></em> </p>
<p>Wird im TSConfig der root-Seite </p>
<p class="userstyle-code-block"><strong>Page-TSConfig:</strong><code># Caches aller Seiten bei Änderungen automatisch verwerfen<br />TCEMAIN.clearCacheCmd = all</code></p>
<p>in das Page-TSConfig eingetragen bewirkt das, dass <em>immer alle Caches gelöscht werden, sobald auf einer Seite eine Änderung vorgenommen wird</em>. Der Griff zu FE-Cache löschen wird damit unnötig.</p>
<p class="userstyle-attention"><em>Diese Einstellung hat aber nach wie vor den Nachteil, dass alle Caches gelöscht werden, und dadurch bei grossen Sites die Performance sinken kann.</em></p>
<p>Typo3 bietet auch die Möglichkeit zu löschende Caches genauer zu spezifizieren. Bei der Verwendung beispielsweise von tt_news kann es z.B. sinnvoll sein beim Erstellen einer neuen News nur die Caches jener Seiten zu löschen, die auf die News referenzieren, also z.B. die News-Übersicht.</p>
<p>Für diesen Zweck bietet Typo3 mit der Option <em>TCEMAIN.clearCacheCmd</em> die Möglichkeit zur Anführung einer PID-Liste.</p>
<h6>Beispiel:</h6>
<p>Die tt_news-Records befinden sich im Sysfolder &quot;News&quot;, eine News-Übersicht auf der Home-Seite mit der PID 1 und auf einer Unterseite mit der PID 23. Mit folgendem Eintrag in der Page-TSConfig des Sysfolders &quot;News&quot; wird der Cache der abhängigen Seiten bei Änderung oder Erstellung eines News-Records automatisch gelöscht:</p>
<p class="userstyle-code-block"><strong>Page-TSConfig der Seite mit den News-Records:</strong><code># Caches von Seite 1 und 23 bei Eingabe von News automatisch löschen<br />TCEMAIN.clearCacheCmd = 1,23</code></p>
<h2>Weitere Optionen</h2>
<p>Typo3 bietet im Page-TSConfog noch weitere für das Löschen des Caches.</p>
<p><code>TCEMAIN.clearCache_pageSiblingChildren = 1</code> bietet die Möglichkeit die Unterseiten aller &quot;Geschwisterseiten&quot; (also die Caches aller Seiten auf gleicher Ebene sowie deren Unterseiten) automatisch löschen zu lassen. Standardmässig, also wenn <code>TCEMAIN.clearCache_pageSiblingChildren = 0</code> ist, werden nur die Caches der Geschwisterseiten automatisch gelöscht.</p>
<p><code>TCEMAIN.clearCache_pageGrandParent = 1</code> löscht den Cache der &quot;Grosseltern-Seite&quot;, also der über der übergeordneten Seite bei Änderungen der Seite automatisch.<br /><br />Wenn <code>TCEMAIN.clearCache_disable = 1</code> im Page-TSConfig eingetragen ist werden bei Änderungen in dieser Seite oder deren Unterseiten <em>keine Caches automatisch gelöscht</em>. Wird diese Option verwendet muss der Redakteur also <em>immer manuell den Cache löschen</em></p>
<h2>Fazit</h2>
<p>Das manuelle Cache löschen wird schnell zur Gewohnheit, ist allerdings nicht sehr benutzerfreundlich, insbesondere da die Funktion bei normalen Usern recht gut versteckt ist. <code>TCEMAIN.clearCacheCmd = all</code> in der Page-TSConfig der obersten Seite ist die einfachste Alternative, insbesondere wenn die Typo3-Site nicht allzu gross ist und nicht allzuviele Änderungen vorgenommen werden. Bei grossen Sites und Sites mit sehr vielen Besuchern kann das dauernde Löschen aller Caches - selbst wenn nur bei der kleinsten Änderung vorgenommen wurde - auch Performance-Probleme hervorrufen. Da empfiehlt es sich dann mit TCEMAIN.clearCacheCmd unter Angabe von abhängigen Seiten-IDs die Einstellung etwas feiner vorzunehmen um nur jene Caches automatisch zu löschen, die wirklich nicht mehr gültig sein sollen.</p>]]></content:encoded>
            <category>Typo3</category>
			<category>Tutorial</category>
			
            <author>prucha@helicon.at</author>
            <pubDate>Sat, 29 Sep 2007 18:47:00 +0200</pubDate>
        </item>
        
        <item>
            <title>Webkataloge</title>
            <link>http://www.webkontext.net/artikel/archiv/2007/september/artikel/webkataloge/</link>
            <description>Webkataloge können ein paar Besucher bringen und auch das Ranking einer Site in den Suchmaschinen positiv beeinflussen. Eine Webkatalog-Übersicht.</description>
            <content:encoded><![CDATA[<p>Wunder darf man sich von Webkatalogen nicht erwarten. Sie sind nur ein Baustein in der Verlinkung einer Site, der aber insbesondere am Anfang helfen kann.</p>
<p>Ich habe hier eine (sicher nicht vollständige Liste) von Webkatalogen zusammengestellt.</p>
<p>Zumeist sind es komplett freie Webkataloge, die für eine Standard-Eintragung weder Geld noch Backlinks verlangen.</p>
<p class="userstyle-attention"><em>Kataloge leben auch von den Backlinks zurück auf den Webkatalog. Das ist nur fair, und Webmaster sollten meiner Ansicht nach - insbesondere wenn sie schon eine Links bzw. Parner-Page führen einen Link auf die Kataloge setzen in welchen sie gelistet sind. Aber die Forderung mancher Kataloge den Backlink auf der Startseite zu etzen ist dumme SEO-Abzocke. Daher sind Kataloge die solche Forderungen stellen nicht in dieser Liste.</em></p>
<p>&nbsp;</p><table cellpadding="5" cellspacing="5" style="VERTICAL-ALIGN: middle; WIDTH: 100%; TEXT-ALIGN: left" class="htmlarea-showtableborders"><thead><tr style="TEXT-ALIGN: left"><th>Katalog</th><th>Kosten/Backlink-Pflicht</th><th>Anmerkungen</th></tr></thead><tbody><tr style="TEXT-ALIGN: left"><td align="left"><a href="http://dmoz.de/" title="Öffnet einen externen Link in einem neuen Fenster" target="_blank" class="external-link-new-window" title="">dmoz.de</a></td><td>frei</td><td>Deutschsprachiger Teil von <a href="http://www.dmoz.org/" title="Öffnet einen externen Link in einem neuen Fenster" target="_blank" class="external-link-new-window" title="">dmoz.org</a> Sehr umfangreich, hohe Qualitätsansprüche.&nbsp; Datenbestand wird auch von von vielen anderen Webkatalogen wie beispielsweise <a href="http://directory.google.com/" target="_blank" title="">directory.google.com</a> übernommen. Der Katalog ist stark gegliedert daher ist es selten, dass eine Kategorie unübersichtlich viele Einträge aufweist.</td></tr><tr><td><a href="http://www.linkheim.de/" title="Öffnet einen externen Link in einem neuen Fenster" target="_blank" class="external-link-new-window" title="">linkheim.de</a></td><td>frei</td><td></td></tr><tr><td><a href="http://www.suchnase.de/" title="Öffnet einen externen Link in einem neuen Fenster" target="_blank" class="external-link-new-window" title="">suchnase.de</a></td><td>frei</td><td>Einträge zeigenen einen Screenshot der Seite</td></tr><tr><td><a href="http://www.suche4all.de/" title="Öffnet einen externen Link in einem neuen Fenster" target="_blank" class="external-link-new-window" title="">suche4all.de</a></td><td>frei</td><td></td></tr><tr><td><a href="http://www.pseek.net/" title="Öffnet einen externen Link in einem neuen Fenster" target="_blank" class="external-link-new-window" title="">pseek.net</a></td><td>frei</td><td>Gut gegliedert und hohe Qualitätsansprüche. Kategorien daher übersichtlich</td></tr><tr><td><a href="http://www.global-webkatalog.com/" title="Öffnet einen externen Link in einem neuen Fenster" target="_blank" class="external-link-new-window" title="">global-webkatalog.com</a></td><td>frei</td><td></td></tr><tr><td><a href="http://www.99kat.de/" title="Öffnet einen externen Link in einem neuen Fenster" target="_blank" class="external-link-new-window" title="">99kat.de</a></td><td>frei</td><td></td></tr><tr><td><a href="http://url-katalog.de/" title="Öffnet einen externen Link in einem neuen Fenster" target="_blank" class="external-link-new-window" title="">url-katalog.de</a></td><td>Backlink-Pflichtig</td><td></td></tr><tr><td><a href="http://www.hansis.net/" title="Öffnet einen externen Link in einem neuen Fenster" target="_blank" class="external-link-new-window" title="">hansis.net</a></td><td>frei</td><td></td></tr><tr><td><a href="http://www.wirhabenalles.com/" title="Öffnet einen externen Link in einem neuen Fenster" target="_blank" class="external-link-new-window" title="">wirhabenalles.com</a></td><td>Backlink-Pflichtig</td><td></td></tr><tr><td><a href="http://www.pahoo.de/" title="Öffnet einen externen Link in einem neuen Fenster" target="_blank" class="external-link-new-window" title="">pahoo.de</a></td><td>frei</td><td></td></tr><tr><td><a href="http://portals24.de/" title="Öffnet einen externen Link in einem neuen Fenster" target="_blank" class="external-link-new-window" title="">portals24.de</a></td><td>frei</td><td></td></tr><tr><td><a href="http://www.4uu.de/" title="Öffnet einen externen Link in einem neuen Fenster" target="_blank" class="external-link-new-window" title="">4uu.de</a></td><td>frei</td><td></td></tr></tbody></table><p>Wer noch andere gute Webkataloge kennt, bitte einfach ein Kommentar posten. Aber bitte ausschliesslich Webkataloge, die keinen Backlink auf der Startseite bzw. unterseite mit mindest-PR verlangen.</p>
<p>&nbsp;</p>]]></content:encoded>
            <category>Webkataloge</category>
			<category>Allgemeines</category>
			<category>Suchmaschinen-Optimierung</category>
			<category>Marketing</category>
			
            <author>prucha@helicon.at</author>
            <pubDate>Thu, 20 Sep 2007 23:49:00 +0200</pubDate>
        </item>
        
        <item>
            <title>Menschenfreundliche Suchmaschinenoptimierung</title>
            <link>http://www.webkontext.net/artikel/archiv/2007/september/artikel/menschenfreundliche-suchmaschinenoptimierung/</link>
            <description>Neben &quot;Mundpropaganda&quot; stellt die Suchmaschinenoptimierung eine wesentliche Voraussetzung für den Erfolg einer Website dar. Gut optimierte Seiten sind nicht nur suchmaschinen-freundlich sondern auch menschenfreundlich.</description>
            <content:encoded><![CDATA[<p style="MARGIN-BOTTOM: 0.3cm">Gute Platzierung in den Suchmaschinen ist sicher einer der wesentlichsten Voraussetzungen zum Erfolg einer Website. Der Grund ist einfach: Der Benutzer sucht bereits nach einem bestimmten Thema (sonst wäre er ja nicht auf einer Suchmaschinenseite) und bekommt Seiten zu diesem Thema geliefert.</p>
<p style="MARGIN-BOTTOM: 0.3cm">Anfangs war <em>Suchmaschinenoptimierung</em> (engl. <em>SEO, Search Engine Optmization)&nbsp; </em>- bzw. in diesem Zusammenhang eher Suchmaschinenspam genannt - relativ <q>einfach</q>: Der Website-Betreiber der Website konnte die Seite mit irgendwelchen Schlüsselwörtern füllen (um so häufiger um so besser), dazu vielleicht noch irgendwelche nicht passenden Schlüsselwörter um ja möglichst viele Leute herzu locken, und fertig war die Suchmaschine</p>
<p class="userstyle-attention" style="MARGIN-BOTTOM: 0.3cm"><em>Diese Zeiten sind Gott sei dank vorbei. Suchmaschinen-Spam führt nicht mehr zum gewünschten Erfolg. Suchmaschinen reihen mit Keywords überfüllte Seiten mittlerweile schlechter bzw. schliessen sie aus der Suchmaschine aus.</em></p>
<h1>Anleitung zum SEO-Misserfolg</h1>
<p style="MARGIN-BOTTOM: 0.3cm">Um einen möglichst garantieren Misserfolg zu landen, müssen eigentlich nur ein paar Punkte eingehalten werden:</p><ul><li>Versuchen Sie die Seite so inhaltslos wie möglich zu machen, um sicherzustellen, dass niemand die Seite freiwillig verlinkt.</li><li>Vermeiden Sie die Verwendung von Schlüsselworten im Text der Seite nach welchen jemand suchen könnte.</li><li>Überfüllen Sie die Seite mit Schlüsselworten und verstecken sie diese mit irgendwelchen obskuren HTML-Tricks.</li><li>Kopieren sie Texte von anderen Seiten, damit Suchmaschinen die Seite möglichst schnell als Duplikat erkennen.</li><li>Beifüllen sie die den keyword-meta-tag im header mit möglichst vielen Keywords die möglicherweise nicht mal im Text vorkommen.</li><li>Gaukeln sie der Suchmaschine andere Inhalte vor als dem Benutzer. Mit etwas Glück erkennt die Suchmaschine das und kickt die Seite aus dem Index.</li><li>Verwenden sie Flash damit Suchmaschinen keinen Inhalt finden.</li></ul><p style="MARGIN-BOTTOM: 0.3cm">Bei Einhaltung dieser Regeln ist ein Misserfolg ziemlich sicher.</p>
<h1>Erfolgversprechendere Optimierung</h1>
<p style="MARGIN-BOTTOM: 0.3cm">Vorweg genommen: Niemand kann eine Platzierung zu allen möglichen Suchbegriffen unter den Top 10 garantieren. Schon gar nicht dauerhaft und bei heiss umkämpften Begriffen.</p>
<p style="MARGIN-BOTTOM: 0.3cm">Zusammengefasst stellt sich erfolgversprechende Suchmaschinenoptimierung folgendermassen dar:</p><ul><li>Achten Sie darauf, dass die Seite guten, eigenen Content bietet, also umfangreichen guten Text die keine Duplikate von anderen Websites sind.</li><li>Achten sie im Text auf gute Schlüsselwort-Auswahl. Die relevanten Suchbegriffe müssen im Text ein paar mal vorkommen, allerdings nicht zu häufig.</li><li>Vermeiden Sie Frames, Flash und JavaScript soweit wie möglich, da derartige Layouts suchmaschinenfeindlich sind.</li><li>Textelemente sollten nie als Bild dargestellt werden, da Suchmaschinen dies nicht als Text interpretieren. Soweit Bilder eingebunden werden sollten diese mittels Alt-Tag mit einer Beschreibung versehen werden.</li><li>Schauen sie, dass sie gute Links auf ihre Seite bekommen.</li><li>Achten sie auf Formulierungen im Text</li></ul><p class="userstyle-attention" style="MARGIN-BOTTOM: 0.3cm"><em>Manch Web-Designer bekommt bei derartigen Einschränkungen möglicherweise Kopfschmerzen. Allerdings sollte dabei nicht vergessen werden, dass suchmaschinen-freundliches Webdesign meistens automatisch die Barriere-Freiheit erhöht. Text-To-Speech-Reader und Computer-Braille-Zeilen für Sehbehinderte können mit Grafiken, Flash und dergleichen genauso wenig anfangen wie Suchmaschinen. Wer bei Websites Text-Orientiert gestaltet und entsprechende Auszeichnungs-Tags verwendet erhöht also auch den direkten Nutzen für Menschen.</em></p>
<h2>Schlüsselworte</h2>
<p style="MARGIN-BOTTOM: 0.3cm">Ein wesentlicher Aspekt ist die Wahl der relevanten Schlüsselworte. Es ist dabei häufig sinnlos, sich auf nur ein bestimmtes Einzel-Schlüsselwort zu konzentrieren, insbesondere wenn es heiss umkämpft ist. Die Suche nach dem Schlüsselwort <q>Restaurant</q> oder <q>Hotel</q> liefert hundert-tausende Einträge. Sich hier auf in die Top-10 Schaukämpfen ist nahezu unmöglich, und meistens auch nicht sinnvoll, da der Benutzer mit grösster Wahrscheinlichkeit ein Restaurant in einer bestimmten Stadt sucht.</p>
<p style="MARGIN-BOTTOM: 0.3cm">Angenommen Sie betreiben ein Restaurant in der Stadt Baden (bei Wien). Eine Suche nach</p>
<p style="MARGIN-BOTTOM: 0.3cm"><code>Restaurant Baden</code></p>
<p style="MARGIN-BOTTOM: 0.3cm">schränkt die die Ergebnisse bereits auf etwas mehr als eine Million Einträge ein. Gute Ergebnisse zu erzielen bei einer Million Einträge ist schon etwas leichter als bei einer 300 Millionen, wenn auch noch immer sehr schwer und unter Umständen nicht notwendig. Auch dem Suchenden werden 1 Million Einträge etwas zu viel sein, und er wird daher weiter einschränken.</p>
<p style="MARGIN-BOTTOM: 0.3cm">Im Falle de Beispiels ist das möglich, da einige Städte <q>Baden</q> heissen. Es gibt Baden bei Wien, Baden-Baden und noch einige mehr.</p>
<p style="MARGIN-BOTTOM: 0.3cm">Der Suchende könnte also auf die Suchbegriffe</p>
<p style="MARGIN-BOTTOM: 0.3cm"><code>Restaurant Baden bei Wien</code> </p>
<p style="MARGIN-BOTTOM: 0.3cm">ausweichen, was das Suchergebnis weiter einschränkt. Möglicherweise sucht er aber auch nach der übergeordneten Region, in diesem Fall Niederösterreich:</p>
<p style="MARGIN-BOTTOM: 0.3cm">Beispielsweise</p>
<p style="MARGIN-BOTTOM: 0.3cm"><code>Restaurant Baden Niederösterreich</code></p>
<p style="MARGIN-BOTTOM: 0.3cm">was das Suchergebnis (derzeit) auf rund 200000 Seiten einschränkt.</p>
<p style="MARGIN-BOTTOM: 0.3cm">Sucht er nach einem China-Restaurant könnt der vom Suchenden benutzte Suchbegriff </p>
<p style="MARGIN-BOTTOM: 0.3cm"><code>China-Restaurant Baden</code> </p>
<p style="MARGIN-BOTTOM: 0.3cm">sein, was &quot;nur&quot; rund 100000 Einträge liefert.</p>
<p style="MARGIN-BOTTOM: 0.3cm">Diese Beispiele zeigen, dass es wichtig ist, auf mehr als einen Suchbegriff zu optimieren. Im Fall des fiktiven China-Restaurants wäre das</p><ul><li>China-Restaurant</li><li>Baden bei Wien (anstatt nur Baden)</li><li>Niederösterreich</li><li>und der Name des Restaurants, beispielsweise HappyChinese</li></ul><p style="MARGIN-BOTTOM: 0.3cm">&nbsp;</p>
<p style="MARGIN-BOTTOM: 0.3cm">Diese Schlüsselworte sollten einige male im Text vorkommen, aber nicht zu oft. Eine dreimalige Verwendung bei einer Schlüsselwort-Dichte von 5 % kann schon gute Ergebnisse liefern.</p>
<p style="MARGIN-BOTTOM: 0.3cm">Dabei sollte aber auf jeden Fall eine zu häufige Verwendung vermieden werden. Schlüsselwort-Dichten von über 10 % können schnell von den Suchmaschinen als Spamming interpretiert werden und können im schlimmsten Fall zum Ausschluss der Seite aus den Suchmaschinen führen.</p>
<h2>Layout</h2>
<p style="MARGIN-BOTTOM: 0.3cm">Grafisch nett gestaltete Websites mögen vielleicht für den einen oder anderen Benutzer besonders interessant sein, für Suchmaschinen sind sie es nicht. Ein Wort, das durch eine Grafik dargestellt wird, wird von Suchmaschinen einfach nicht erkannt. In Flash oder JavaScript implementierte Seiten liefern für Suchmaschinen keinen relevanten Inhalt. Daher sollten Websites eher text-orientiert gestaltet werden und auf den umfangreichen, aussagekräftigen Content genauso viel - wenn nicht mehr - Wert gelegt werden als auf die grafische Gestaltung.</p>
<p style="MARGIN-BOTTOM: 0.3cm">Ein absoluter Suchmaschinen-Killer sind Frames. Seiten die die Frames deklarieren beinhalten normalerweise keinen eigenen Content sondern binden nur weitere Seiten in einen Rahmenbereich ein. Da die eigentliche Content-Seite untergeordnet ist, wird sie auch von Suchmaschinen als weniger Relevant betrachtet. Weiters führt es zu dem Problem, dass die eigentlichen untergeordneten Seiten schlecht verlinkbar sind.</p>
<h2>Domain- und Dateinamen</h2>
<p style="MARGIN-BOTTOM: 0.3cm">Worte in Domains und Dateinamen werden von manchen Suchmaschinen ebenfalls als relevant betrachtet. Es ist also durchaus sinnvoll, den Dateinamen entsprechend zu benennen. Also besser <q>speisekarte.html</q> als <q>213.html</q>. Gleiches gilt für Domainnamen. &quot;restaurant-happychinese.at&quot; kann wenn es um Suchmaschinenoptimierung geht besser sein als nur <q>happychinese.at</q>. Allerdings gehen solche Domain-Namen auf kosten der Merkbarkeit. Daher ist es immer noch besser, den Domainnamen kurz und prägnant zu halten. Wenn allerdings der ursprünglich gewünschte Domain-Name nicht mehr verfügbar ist, macht die Integration eines zusätzlichen Schlüsselwortes im Domain-Namen in Hinsicht auf die Suchmaschinenoptimierung Sinn.</p>
<h2>Meta-Tags im Header</h2>
<p style="MARGIN-BOTTOM: 0.3cm">Meta-Tags im Header haben eine wechselhafte Geschichte hinter sich. Anfangs wurden sie schnell durch sogenannte SEO-Spezialisten dazu missbraucht um alle möglichen Schlüsselworte in das <em>Keywords</em>-Meta-Tag des den Headers zu stopfen. Das hat dazu geführt, dass Suchmaschinen irrelevanten Seiten vorne listeten. Dies hat dann dazu geführt, dass Suchmaschinen diese Meta-Tags eine Zeit lang ignorierten. Mittlerweile sind Suchmaschinen etwas intelligenter geworden und trennen relevante Keywords im Header von Suchmaschinen-Spam. Dies wird unter Anderen dadurch erreicht indem überprüft wird, ob ein in der Keywords-Liste vorkommendes Schlüsselwort auch im Text vorkommt.</p>
<p style="MARGIN-BOTTOM: 0.3cm">Lange Listen von Schlüsselworten sollten auf jeden Fall vermieden werden.</p>
<p><code>&lt;META name=&quot;keywords&quot; content=&quot;HappyChinese, China-Restaurant, Baden bei Wien, Niederösterreich, chinesische Küche&quot;&gt;</code></p>
<p style="MARGIN-BOTTOM: 0.3cm">&nbsp;</p>
<p style="MARGIN-BOTTOM: 0.3cm">ist auf jeden Fall erfolgversprechender als</p>
<p><code>&lt;META name=&quot;keywords&quot; content=&quot;HappyChinese, China-Restaurant, Baden bei Wien, Niederösterreich, chinesische Küche, Essen, Trinken, Fortgehen, Unterhaltung, China, Chop Suey, Bambussprossen, Peking-Ente, Suki-Jaki, Schweinefleisch süss-sauer, chinesische Suppe, süss-sauer&quot;&gt;</code></p>
<p style="MARGIN-BOTTOM: 0.3cm">Nicht nur, dass eine lang Liste von Keywords die Wertung des einzelnen Schlüsselwortes verringert besteht bei Überfüllung von Keywords auch das Risiko, dass Suchmaschinen die Seite als Spam werten und dann schlechter reihen oder ganz ausschliessen.</p>
<p style="MARGIN-BOTTOM: 0.3cm">Ein weiteres von Suchmaschinen teilweise gut bewertetes Meta-Tag im HTML-Header ist das <em>Description</em>-Element.</p>
<p style="MARGIN-BOTTOM: 0.3cm">Auch hier gilt, dass die Beschreibung nicht allzulang sein sollte (weniger als 120 Zeichen). Und wie der Name des Tags schon aussagt sollte es eine Beschreibung sein, keine Schlüsselwort-Auflistung.</p>
<p style="MARGIN-BOTTOM: 0.3cm">Im Falle des beispielhaften Restaurants könnte das sein</p>
<p><code>&lt;META name=&quot;description&quot; content=&quot;Website des China-Restaurants HappyChinese in Baden bei Wien. Informationen über die Speisekarte, Anfahrtsweg und Öffnungszeiten&quot;&gt;</code></p>
<p style="MARGIN-BOTTOM: 0.3cm">Die Verwendung des Description-Tag bietet noch einen weiteren Vorteil: Einige Webkataloge übernehmen den Inhalt des Description-Tag als Beschreibung für die Seite, was einiges an manueller Tipparbeit ersparen kann. Das bedeutet aber auch, dass die Beschreibung menschenfreundlich sein soll - also keine sinnbefreite Liste von Keywords.</p>
<p style="MARGIN-BOTTOM: 0.3cm">&nbsp;</p>
<h2>Hervorhebung mit Tags</h2>
<p style="MARGIN-BOTTOM: 0.3cm">Viele Suchmaschinen interpretieren in spezielle Tags eingeschlossene Schlüsselworte als wichtig. Dazu zählen beispielsweise das Header-Tag &lt;h1&gt;, oder die logische Auszeichnung mit &lt;em&gt; für <a name="SECTION00057000000000000000">emphasize, also &quot;betonen&quot; und &lt;strong&gt; für stark betonen. Auch die tags &lt;b&gt; für Fettschrift und &lt;i&gt; können einen ähnlichen Effekt haben.</a></p>
<p>Suchmaschinenoptimierung (italic) wird also möglicherweise wichtiger gewertet als nur Suchmaschinenoptimierung (normalschrift). Es kann also durchaus nützlich sein, wichtige Elemente mit Tags sowohl für den Besucher der Website als auch für die Suchmaschinen hervorzuheben.</p>
<p style="MARGIN-BOTTOM: 0.3cm">Aber auch hier gilt: Nicht übertreiben. Es ist sinnlos alle in Fett zu stellen oder den gesamten Text als Überschrift zu markieren. Das hebt weder die Benutzerfreundlichkeit noch die Akzeptanz durch die Suchmaschinen und hebt die relevanz der der einzelnen Wörter gegenseitung aus. Hervorhebungen durch Fettschrift oder Italic sollte also nur für einzelne Wörter oder Absätze durchgeführtwerden, wenn diese auch für den Menschen wichtig sind.</p>
<h2>Grafiken</h2>
<p style="MARGIN-BOTTOM: 0.3cm">Grafiken sind für Suchmaschinen im Prinzip wertlos. Grafiken sollten also sparsam verwendet werden. Falls Text-Elemente besonders gestalten werden sollen, ist es wesentlich besser dieses mittels CSS zu tun, als durch das Einbinden einer Grafik. </p>
<h2>Offsite-Optimierung</h2>
<p style="MARGIN-BOTTOM: 0.3cm">Neben der Onsite-Optimierung stellt die Offsite-Optimierung einen wesentlichen Teil dar. Offsite-Optimierung ist Optimierung, die – wie die Bezeichnung schon sagt - nicht auf der Website selbst geschieht. Sie ist dadurch etwas schwerer zu bewerkstelligen.</p>
<p style="MARGIN-BOTTOM: 0.3cm">Suchmaschinen vertreten die Ansicht, dass gut häufig verlinkte Seiten wichtiger sind als selten verlinkte Seiten. Das ist darauf zurückzuführen, dass wichtige Seiten oft gerne freiwillig verlinkt sind. Das freie Nachschlagewerk Wikipedia ist von der Internet-Community sehr oft verlinkt (mehrere Millionen Links zeigen auf sie), und wird daher auch von den Suchmaschinen als sehr wichtig interpretiert. Dies führt dazu, dass ein Themeneintrag in der Wikipedia oft in den Top 30 erscheint, egal wie viele Seiten es zu dem Thema im Internet gibt.</p>
<p style="MARGIN-BOTTOM: 0.3cm">Gute Websites werden häufig freiwillig verlinkt. Dass man jemals so viele Links bekommt wie die Wikipedia ist freilich unwahrscheinlich. Trotzdem kann man auch selbst einiges tun um Links auf die eigene Seite zu bekommen:</p>
<p style="MARGIN-BOTTOM: 0.3cm">Eine Möglichkeit stellt die Eintragung in Webkataloge dar. <a href="http://www.yahoo.com/" title="Öffnet einen externen Link in einem neuen Fenster" target="_blank" class="external-link-new-window" title="">Yahoo</a> und <a href="http://dmoz.org/" title="Öffnet einen externen Link in einem neuen Fenster" target="_blank" class="external-link-new-window" title="">dmoz.org</a> sind die Urväter der Webkataloge. Im Gegensatz zu Yahoo ist die Eintragung in <a href="http://www.dmoz.de/" title="Öffnet einen externen Link in einem neuen Fenster" target="_blank" class="external-link-new-window" title="">dmoz.de</a> jedoch kostenlos. Mittlerweile gibt es einige andere Webkataloge, wie beispielsweise <a href="http://www.retort.de/" title="Öffnet einen externen Link in einem neuen Fenster" target="_blank" class="external-link-new-window" title="">www.retort.de</a>, <a href="http://www.pseek.net/" title="Öffnet einen externen Link in einem neuen Fenster" target="_blank" class="external-link-new-window" title="">PSeek.net</a> und Andere.</p>
<p style="MARGIN-BOTTOM: 0.3cm">Besonders sinnvoll kann natürlich die Eintragung in regionale bzw. Themenkataloge sein. Ähnliches gilt für regionale Portale. Für das im obigen Beispiel angeführte China-Restaurant wäre beispielsweise eine Eintragung im Portal <a href="http://www.baden.at/" title="Öffnet einen externen Link in einem neuen Fenster" target="_blank" class="external-link-new-window" title="">www.baden.at</a> sinnvoll.</p>
<p style="MARGIN-BOTTOM: 0.3cm">Es gibt Dienstleister die einen kostenlosen Eintrag in tausende Webkataloge und Suchmaschinen versprechen. Diese sind mit grösster Vorsicht zu geniessen. Erstens gibt es nicht so viele relevante Kataloge, zweitens unterscheidet sich die Struktur guter Kataloge was automatisierten Eintrag verhindert und drittens kann es passieren dass man auf so genannten Linklisten landet. Solche Linklisten wurden nicht für Menschen sondern nur zur Suchmaschinenoptimierung online gestellt. Das birgt die Gefahr, dass Suchmaschinen Links die sich auf solchen Linklisten befinden aus dem Index werfen, da offensichtlich versucht wurde den Suchmaschinen-Algorithmus zu betrügen.</p>
<p class="userstyle-attention" style="MARGIN-BOTTOM: 0.3cm"><em>Es ist also auf jeden Fall besser sich in einzelne gute Webkataloge manuell einzutragen, also auf sogenannte kostenlose Eintragungsdienste zu vertrauen. Es kann bei in Anspruchsnahme solcher Eintragungs-Dienste dazu führen, dass man nachher zwar mit SPAM zugemüllt wird, aber trotzdem nicht besser gelistet wird (im schlimmsten Fall kann es sogar zu einem Rauswurf führen).</em></p>
<p style="MARGIN-BOTTOM: 0.3cm">Wichtig ist auch die der für den Link verwendete Text. Der Text im Link wird als Keyword der Zielseite gewertet, und trägt damit zur Schlüsselwort-Gewichtung bei.</p>
<p style="MARGIN-BOTTOM: 0.3cm">So wurde George W. Bush's website von politischen Aktivisten sehr oft mit dem Anker-Text <q>miserable failure</q> verlinkt, was dazu führte, dass Bush's Website bei einer Suche nach <q>miserable failure</q> auf Platz 1 bei Google aufscheinte, obwohl diese Worte auf der Seite nicht vorkamen.</p>
<p style="MARGIN-BOTTOM: 0.3cm">Diese Vorgangsweise wird Google-Bombing genannt. Google hat bald erkannt, dass der gezielte Einsatz von Links dazu verwendet werden um einer Seite Schlüsselworte zuzuweisen die nicht relevant sind (obwohl sich gerade in Bushs Fall ja genau darüber trefflich streiten liesse).</p>
<p class="userstyle-attention" style="MARGIN-BOTTOM: 0.3cm"><em>Der gezielte Einsatz von Anker-Texten ist nach wie vor sinnvoll, aber es solle vermieden werden immer nur mit dem haargenau dem gleichen Text zu verlinken, da Suchmaschinen dies als Spam werten könnten.</em></p>
<h2>Der Google PageRank</h2>
<p>Wie bereits im Abschnitt Offsite-Optimierung erwähnt, führen Links auf die Seite zu besseren Ergebnissen. Der Google-PageRank ist sozusagen ein Gradmesser dafür: Wenn eine gut verlinkte Seite (also eine Seite mit gutem Pagerank) auf&nbsp; eine andere Seite zeigt, bekommt die Zielseite einiges des PageRank ab, da der&nbsp; Link als wichtig gewertet wird.</p>
<p>In der Theorie sollte man also danach streben, links von Seiten mit hohem PR zu bekommen, da diese die eigene Seite aufwerten. Soviel zur Theorie. In der Praxis hat der in der Google Toolbar angezeigte Wert recht wenig Einfluss auf das tatsächliche Suchergebnis.&nbsp; Die in der Toolbar angezeigten Werte werden nur von Zeit zu Zeit aktualisiert und spiegeln nicht den aktuellen Wert wieder.</p>
<p class="userstyle-attention"><em>Auch Seiten mit niedrigem PageRank werden oft gut gefunden. Der in der Google Toolbar angezeigte PR ist meistens nicht am letzten Stand und der PageRank an sich macht nur einen kleinen Teil der Bewertung aus. Es ist also ziemlich sinnlos verzweifelt Links von Seiten mit hohem PageRank nachzulaufen.</em></p>
<h2>Menüs und Navigation</h2>
<p style="MARGIN-BOTTOM: 0.3cm">Auch für die Navigation innerhalb der Seite gilt das gleiche wie von aussen: Gut verlinkte Unterseiten werden höher bewertet - aber eben nur bei <q>echten</q> Links. Links über JavaScript werden von Suchmaschinen in der Regel nicht verfolgt und sind daher für die erfolgreiche Listung in Suchmaschinen schlecht.</p>
<p style="MARGIN-BOTTOM: 0.3cm">Die Navigation innerhalb der Seite sollte also über Textlinks erfolgen. Menüs lassen sich mit unsortierten Listen (&lt;ul&gt;) gut strukturieren und per CSS benutzerfreundlich gestalten. Diese Strukturierung hilft auch, dass Hilfsprogramme für Sehbehinderte mit der Seite gut zurecht kommen.</p>
<h2>Vermeiden Sie Dirty Tricks</h2>
<p style="MARGIN-BOTTOM: 0.3cm">Eine Zeit lang haben Webschaffende versucht Seiten mit Keywords voll zu stopfen und diese dazu noch vom Benutzer zu verbergen, beispielsweise indem für die Schrift die gleiche Farbe wie für den Hintergrund verwendet wurde. Das hat auch funktioniert. Aber die Betonung liegt auf hat. Suchmaschinen haben solche Seiten mit der Zeit bestraft und schlechter gelistet oder aus dem Index gekickt.</p>
<p style="MARGIN-BOTTOM: 0.3cm">Einige Zeit hat Google Elemente die mit dem CSS-Attribut <code>display: none</code> bzw.&nbsp; <code>visibility: hidden</code> versehen waren nicht im Index aufgenommen. Mittlerweile werden scheinbar jene Teile wieder indiziert, nur wie es in Zukunft aussieht ist nicht sicher. Suchmaschinen können schnell wieder auf die Idee kommen derartig versteckte Elemente entweder zu ignorieren oder zumindest geringer zu bewerten.</p>
<p class="userstyle-attention" style="MARGIN-BOTTOM: 0.3cm"><em>Auch &quot;legitime&quot; Verwendung von Techniken die die Inhalte verbergen können heikel sein. Es ist für Suchmaschinen schwer zu unterscheiden was zur Suchmaschinenoptimierung und was zur Gestaltung verwendet wurde. Es besteht also auch das Risiko, dass zu verspieltes Design &quot;bestraft&quot; wird.</em></p>
<p style="MARGIN-BOTTOM: 0.3cm">Verspielte Layouts mit hidden Elementen die dann dynmaisch eingeblendet werden (beispielsweise in einer FAQ in der dann die Antwort dynamisch ausklappt indem die Antworten per Javascript wieder auf Visible gesetzt werden) bergen also das Risiko, dass sie in von Suchmaschinen (in diesem Fall irrtümlicherweise) als Suchmaschinenspam erkannt werden.</p>
<p class="userstyle-attention" style="MARGIN-BOTTOM: 0.3cm"><em>Suchmaschinen werden mit der Zeit intelligenter. Natürlich gibt es immer wieder Tricks die noch funktionieren. Kurzfristig können diese auch Erfolg haben. Langfristig bergen sie allerdings das Risiko eines Rauswurfs. <br /></em></p>
<p style="MARGIN-BOTTOM: 0.3cm">So hat BMW bis 2006 eine mit Keywords gespickte Doorway-Page betrieben, die der Suchmaschine Schlüsselworte vorgaukelte. 2006 wurde dann BMW aus dem Google-Index geschmissen und erst wieder aufgenommen als die Seite bereinigt war. Und es ist durchaus davon auszugehen, dass es kleinere Websites nach einem Rausschmiss schwerer haben wieder in den Index zu kommen als der Konzern BMW. Vorsicht ist also durchaus angesagt. </p>
<h1>Fazit</h1>
<p style="MARGIN-BOTTOM: 0.3cm">Suchmaschinenoptimierung ist nicht Suchmaschinen-Spamming, sondern die <em>Vermeidung von Gestaltungen und Strukturen, die Suchmaschinen bei ihrer Arbeit behindern</em>. Suchmaschinen-Optimierung ist auch die gezielte Formulierung von Texten, sodass sie relevante Schlüsselworte beinhalten - es ist aber nicht das Vollstopfen mit unwichtigen Schlüsselworten.</p>
<p style="MARGIN-BOTTOM: 0.3cm"><br /><br /></p>]]></content:encoded>
            <category>Marketing</category>
			<category>Suchmaschinen-Optimierung</category>
			
            <author>prucha@helicon.at</author>
            <pubDate>Fri, 07 Sep 2007 01:55:00 +0200</pubDate>
        </item>
        
        <item>
            <title>Benutzerdefinierte Styles im RTE unter IE</title>
            <link>http://www.webkontext.net/artikel/archiv/2007/september/artikel/benutzerdefinierte-styles-im-rte-unter-ie/</link>
            <description>IE benötigt spezielle Cache-Einstellungen um die drop-down-box für benutzerdefinierte Style im htmlArea darzustellen. </description>
            <content:encoded><![CDATA[<p>Wer sich wundert, dass die drop-down-box für benutzerdefinierte Styles im htmlArea im Internet Explorer ausgegraut bleibt, aber im Firefox richtig dargestellt wird, sollte mal einen Blick auf die Cache-Konfiguration des Internet Explorers werfen:</p>
<p>IE7: Internet Optionen/Allgemein/Browser-Verlauf/Einstellungen</p>
<p>IE6: Internetoptionen/Allgemein/Temporäre Internet-Dateien/Einstellungen</p>
<p>Folgende Einstellungen müssen vorgenommen werden, damit IE mit dem htmlArea zurechtkommt:</p><blockquote style="margin-bottom:0;margin-top:0;"><p>Neuere Versionen der gespeicherten Seiten suchen: Automatisch</p>
<p>Zu verwendendernder Speicherplatz: mindstens 32 MB</p></blockquote><p>&nbsp;</p>
<p>&nbsp;</p>]]></content:encoded>
            <category>Typo3</category>
			<category>Browser</category>
			
            <author>prucha@helicon.at</author>
            <pubDate>Mon, 03 Sep 2007 22:22:00 +0200</pubDate>
        </item>
        
        <item>
            <title>RSS-Feed mit HTML formatieren</title>
            <link>http://www.webkontext.net/artikel/archiv/2007/august/artikel/rss-feed-mit-html-formatieren/</link>
            <description>RSS ist dafür da um von RSS-Readern gelesen und aufbereitet zu werden. Dementsprechend unlesbar sehen RSS-Feeds auch aus, wenn ein Benutzer sich ohne entsprechendem Plugin oder Software auf den Feed verirrt. XSLT kann helfen RSS-Feeds auch für Menschen leicht lesbar zu machen.</description>
            <content:encoded><![CDATA[<p><acronym title="Really Simple Syndication"><dfn>RSS</dfn></acronym>, ein standardisiertes Format zur Verbreitung von Nachrichten, ist dafür da um von RSS-Readern gelesen und aufbereitet zu werden. Dementsprechend unlesbar sehen RSS-Feeds auch aus, wenn ein Benutzer sich ohne entsprechendem Plugin oder Software auf den Feed verirrt. <acronym title="XSL Transformations">XSLT</acronym>, eine Teilfunktion der Extensible Stylesheet Language zur Transformtion von XML<em>,</em> kann helfen RSS-Feeds auch für Menschen leicht lesbar zu machen.</p>
<p class="userstyle-attention"><em>Das XML eines RSS-Feeds beinhaltet keinerlei Informationen wie der Feed dargestellt werden soll, sondern nur strukturierte Daten.</em> </p>
<p>Dementsprechend verwirrend kann es für einen Benutzer sein, wenn er sich irrtümlich auf einen RSS-Feed „verirrt“ keine Plugins zur Aufbereitung der Feeds installiert hat und auch sonst nicht mit RSS vertraut ist.</p>
<p>Ein unformatierter RSS2-Feed sieht im Browser ungefähr so aus:</p>
<p>&nbsp;<img src="fileadmin/user_upload/Artikel-Bilder/rss2html/rss-ohne-xsl.jpg" alt="RSS-Feed ohne Transformation" style="BORDER-RIGHT: thin solid; BORDER-TOP: thin solid; BORDER-LEFT: thin solid; WIDTH: 380px; BORDER-BOTTOM: thin solid; HEIGHT: 274px" title="RSS-Feed ohne Transformation" /></p>
<p>&nbsp;</p>
<p>Der Screenshot wurde auf Basis <a href="beispiele/rss-2-html-transform/rss-ohne-xsl.xml" title="Öffnet einen externen Link in einem neuen Fenster" class="external-link-new-window" title="">dieses Beispiel-Feeds erstellt</a>. Wer keine Software für das Handling des Feeds installiert hat wird ein ähnliches Ergebnis bekommen wie im Screenshot. Für einen User also nicht gerade einladend. Natürlich kann man dem entgegenhalten, dass RSS-Feeds an sich dafür gedacht sind von Software gelesen und formatiert zu werden, nicht von Menschen. Aber nicht jeder User hat entsprechende Software installiert oder ist mit RSS vertraut.</p>
<p>Unformatierte RSS Feeds haben also folgende Nachteile:</p><ul><li><p style="MARGIN-TOP: 0.1cm; MARGIN-BOTTOM: 0.1cm">Nur schwer lesbar</p></li><li><p style="MARGIN-TOP: 0.1cm; MARGIN-BOTTOM: 0.1cm">Keine Möglichkeit einen Link zu einem Artikel per Mouse-Klick zu öffnen</p></li><li><p style="MARGIN-TOP: 0.1cm; MARGIN-BOTTOM: 0.1cm">Corporate Design wird unterbrochen und die Website sieht für einen nicht mit RSS vertrauten Besucher „fehlerhaft“ aus.</p></li></ul><p>RSS-Feeds müssen aber nicht so aussehen. Ein Beispiel für einen formatierten und aufbereiteten Feed ist der <a href="http://news.typo3.org/rss.xml" title="Öffnet einen externen Link in einem neuen Fenster" target="_blank" class="external-link-new-window" title="">RSS2-Feed von Typo3.org</a>. Dies wird mit XSL Transformations (XSLT) erreicht. XSLT ist eine Programmiersprache zur Transformation von XML-Dokumenten. Es baut auf der logischen Sturktur eines XML-Dokumentes auf und erlaubt die Definition von Umwandlungs-Regeln.</p>
<p>Grundsätzlich hat ein RSS2-Feed folgende Struktur:</p>
<pre class="codeblock">&lt;?xml version=&quot;1.0&quot; encoding=&quot;utf-8&quot;?&gt;<br />&lt;?xml-stylesheet type=&quot;text/xsl&quot; href=&quot;beispiel-rss-2-html.xsl&quot; media=&quot;screen&quot; ?&gt;<br />&lt;rss version=&quot;2.0&quot;<br />xmlns:content=&quot;http://purl.org/rss/1.0/modules/content/&quot;&gt;<br />  &lt;channel&gt;<br />    &lt;title&gt;<em>Feed-Titel</em>&lt;/title&gt;<br />    &lt;link&gt;<em><a href="http://www.meine-seite.net/" target="_blank" title="">www.meine-seite.net</a></em>&lt;/link&gt;<br />    &lt;description&gt;<em>Beschreibung des Feeds</em>&lt;/description&gt;<br />    &lt;language&gt;de&lt;/language&gt;<br />    &lt;image&gt;<br />      &lt;title&gt;<em>Feed-Titel</em>&lt;/title&gt;<br />      &lt;url&gt;http://www.meine-seite.net/mein-feed-icon.gif&lt;/url&gt;<br />      &lt;link&gt;<em><a href="http://www.meine-seite.net/" target="_blank" title="">www.meine-seite.net</a></em>&lt;/link&gt;<br />      &lt;width&gt;254&lt;/width&gt;<br />      &lt;height&gt;39&lt;/height&gt;<br />      &lt;description&gt;<em>Beschreibung des Feeds</em>&lt;/description&gt;<br />    &lt;/image&gt;<br />    &lt;lastBuildDate&gt;<em>Zeitpunkt des letzten Updates</em>&lt;/lastBuildDate&gt;<br />    &lt;item&gt;<br />      &lt;title&gt;<em>Titel des Artikels</em>&lt;/title&gt;<br />      &lt;link&gt;<em>Link zum Artikel</em>&lt;/link&gt;<br />      &lt;description&gt;<em>Artikel-Teaser (Zusammenfassung)</em>&lt;/description&gt;<br />      &lt;content:encoded&gt;<em>Artikel-Text</em>&lt;/content:encoded&gt;<br />      &lt;category&gt;<em>Artikel-Keyword</em>&lt;/category&gt;<br />      &lt;category&gt;<em>Artikel-Keyword</em>&lt;/category&gt;<br />      &lt;author&gt;<em>Autor</em>&lt;/author&gt;<br />      &lt;pubDate&gt;<em>Erstellungsdatum des Artikels</em>&lt;/pubDate&gt;<br />    &lt;/item&gt;<br />  &lt;/channel&gt;<br />&lt;/rss&gt;</pre>
<p>Eine Beschreibung der Elemente von RSS2-Feeds ist hier zu finden: <a href="http://www.rssboard.org/rss-specification" target="_blank" title="">http://www.rssboard.org/rss-specification</a>.</p>
<p>Diese Struktur gilt es per XSLT so zu transformieren, dass aus dem XML leicht lesbares, formatiertes HTML wird.</p>
<h2 class="western">Aus XML wird HTML</h2>
<p>Mit XSLT ist es möglich Regeln zu definieren, die den XML-basierenden RSS-Feed mit HTML-Tags aufbereiten. Die meisten modernen Browser verfügen über einen integrierten XSLT-Prozessor. Die Beispiele in dem Artikel beziehen sich auf RSS2, können aber nach geringfügiger Anpassung für andere Feed-Strukturen verwendet werden.</p>
<p>Grundsätzlich passiert bei der Transformation folgendes:</p><ol><li>Der Browser bekommt vom Server den RSS-Feed</li><li>Anhand der im Feed angeführten XSL-Datei wird der Feed transformiert (in diesem Fall mit HTML-Tags formatiert)</li><li>Der formatierte Feed wird im Browser lesbar dargestellt.</li></ol><h3 class="western">XSL-File in den RSS-Feed einbinden</h3>
<p>Damit der Browser weiss, welche Transformations-Regeln er anwenden muss, muss das XSL-File in den RSS2-Feed eingebunden werden. Die zweite Zeile verweist auf die Datei mit den Transformations-Regeln:</p>
<pre class="codeblock">&lt;?xml version=&quot;1.0&quot; encoding=&quot;utf-8&quot;?&gt;<br /><strong>&lt;?xml-stylesheet type=&quot;text/xsl&quot; href=&quot;beispiel-rss-2-html.xsl&quot; media=&quot;screen&quot; ?&gt;</strong></pre>
<p class="userstyle-attention"><em>Um dies in Typo3 zu erreichen ist es am einfachsten das tt_news template für die RSS-Feeds entsprechend anzupassen.</em></p>
<p>Mehr ist am RSS-Feed selbst nicht zu ändern. Alle Regeln für die Aufbereitung und Formatierung des Feeds stehen im XSL-File, das in diesem Beispiel beispiel-rss-2-html.xsl heisst.</p>
<h3 class="western">Transformationsregeln im XSL-File</h3>
<p>Mit XSLT sieht der <a href="beispiele/rss-2-html-transform/rss-mit-xsl.xml" title="Öffnet einen externen Link in einem neuen Fenster" class="external-link-new-window" title="">Beispiel-RSS-Feed</a> schon aufgeräumter auf:</p>
<p>&nbsp;<img border="1" width="380" src="fileadmin/user_upload/Artikel-Bilder/rss2html/rss-mit-xsl.jpg" height="274" alt="" /></p>
<p>Die Formatierung des Feeds wurde mit folgender Transformation erreicht (Erklärung weiter unten):</p>
<pre class="codeblock">&lt;?xml version=&quot;1.0&quot;?&gt;<br />&lt;xsl:stylesheet version=&quot;1.0&quot;<br />xmlns:xsl=&quot;http://www.w3.org/1999/XSL/Transform&quot;<br />	xmlns:content=&quot;http://purl.org/rss/1.0/modules/content/&quot;<br />	xmlns:wfw=&quot;http://wellformedweb.org/CommentAPI/&quot;<br />	xmlns:dc=&quot;http://purl.org/dc/elements/1.1/&quot;<br />&gt;<br />	&lt;xsl:template match=&quot;rss&quot;&gt;<br />		&lt;html&gt;<br />			&lt;!-- ===Template des HTML-Head-Parts=== --&gt;<br />			&lt;head&gt;<br />				&lt;title&gt;<br />					&lt;xsl:value-of select=&quot;/rss/channel/title&quot;/&gt;<br />				&lt;/title&gt;<br />				&lt;!-- ===Stylesheet einbinden. Gegebenenfalls muss absoluter Pfad verwendet werden === --&gt;<br />				&lt;link rel=&quot;stylesheet&quot; href=&quot;rss-xsl-styles.css&quot;/&gt;<br />			&lt;/head&gt;<br />			&lt;!-- ===Template des HTML-body-Parts=== --&gt;<br />			&lt;body&gt;<br />				&lt;div class=&quot;full-feed&quot;&gt;<br />					&lt;!-- Hier werden die anderen Templates hinein genierert. Siehe weiter unten --&gt;<br />					&lt;xsl:apply-templates/&gt;<br />				&lt;/div&gt;<br />			&lt;/body&gt;<br />		&lt;/html&gt;<br />	&lt;/xsl:template&gt;<br />	<br />	&lt;!-- ===TEMPLATE FUER DAS CHANNEL-ELEMENT --&gt;<br />	<br />	&lt;xsl:template match=&quot;channel&quot;&gt;<br />	&lt;div id=&quot;header&quot;&gt;<br />		&lt;h1&gt;<br />		&lt;xsl:element name=&quot;a&quot;&gt;<br />			&lt;xsl:attribute name=&quot;href&quot;&gt;<br />				&lt;xsl:value-of select=&quot;link&quot; /&gt;<br />			&lt;/xsl:attribute&gt;<br />			&lt;xsl:element name=&quot;img&quot;&gt;<br />				&lt;xsl:attribute name=&quot;src&quot;&gt;<br />					&lt;xsl:value-of select=&quot;image/url&quot;/&gt;<br />				&lt;/xsl:attribute&gt;<br />				&lt;xsl:attribute name=&quot;alt&quot;&gt;<br />					&lt;xsl:value-of select=&quot;title&quot;/&gt;<br />				&lt;/xsl:attribute&gt;<br />			&lt;/xsl:element&gt;<br />		&lt;/xsl:element&gt;<br />		&lt;/h1&gt;<br />		&lt;p&gt;&lt;strong&gt;Dies ist ein per XSL in HTML transformierter Beispiel-RSS2-Feed. Die Beschreibung wie das geht finden sie &lt;a href=&quot;http://www.webkontext.net/&quot;&gt;hier&lt;/a&gt;. Weitere Artikel von &lt;a href=&quot;http://www.webkontext.net/&quot;&gt;WEBKONTEXT.net hier&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;<br />		&lt;xsl:value-of select=&quot;description&quot;/&gt;&lt;br /&gt;<br />		Letzte &amp;#196;nderung: &lt;xsl:value-of select=&quot;substring(pubDate,5,18)&quot;/&gt;&lt;br /&gt;<br />	&lt;/div&gt;<br />	<br />	&lt;!-- ===TEMPLATE FUER DIE ITEM-ELEMENTE --&gt;<br /><br />	&lt;xsl:apply-templates select=&quot;item&quot;/&gt;<br />	&lt;/xsl:template&gt;<br />	&lt;xsl:template match=&quot;item&quot;&gt;<br />		&lt;div class=&quot;feed-item&quot;&gt;<br />			&lt;h2&gt;<br />			&lt;xsl:element name=&quot;a&quot;&gt;<br />				&lt;xsl:attribute name=&quot;href&quot;&gt;<br />					&lt;xsl:value-of select=&quot;link&quot; /&gt;<br /><br />				&lt;/xsl:attribute&gt;<br />				&lt;xsl:value-of select=&quot;title&quot; /&gt;<br />			&lt;/xsl:element&gt;<br />			&lt;/h2&gt;<br />			&lt;p&gt;<br />			&lt;xsl:value-of select=&quot;description&quot;/&gt;<br />			&lt;span class=&quot;morelink&quot;&gt;<br />				&amp;#160;<br />				&lt;xsl:element name=&quot;a&quot;&gt;<br />					&lt;xsl:attribute name=&quot;href&quot;&gt;<br />						&lt;xsl:value-of select=&quot;link&quot; /&gt;<br />					&lt;/xsl:attribute&gt;[mehr...]<br />				&lt;/xsl:element&gt;<br />			&lt;/span&gt;<br />			&lt;/p&gt;<br />			&lt;xsl:if test=&quot;pubDate&quot;&gt;<br />				&lt;span class=&quot;itempubDate&quot;&gt;Datum: &lt;xsl:value-of select=&quot;substring(pubDate,5,18)&quot;/&gt;&lt;/span&gt;<br />			&lt;/xsl:if&gt;<br /><br />		&lt;/div&gt;<br />	&lt;/xsl:template&gt;<br />&lt;/xsl:stylesheet&gt;</pre>
<p>Das für die Formatierung des RSS-Feeds verwendete XSLT sieht auf den ersten Blick etwas kompliziert aus, allerdings brauchen wir für die Transformation des RSS-Feeds nur einige wenige Regeln. Eine vollständige Beschreibung von XSLT findet sich <a href="http://www.w3.org/TR/xslt" target="_blank" title="">hier</a>. Auch die <a href="http://de.wikipedia.org/wiki/Xslt" title="Öffnet einen externen Link in einem neuen Fenster" target="_blank" class="external-link-new-window" title="">Wikipedia</a> bietet einen kurzen Überblick über die XSLT.</p>
<p>Im Wesentlichen brauchen wir für die Transformation von RSS nach HTML nur eine Hand voll Regeln im XSLT:</p>
<p><strong>xsl:template:</strong> Das Template wird immer angewendet, wenn der Name eines Elements dem angegebenen entspricht: <code>&lt;xsl:template match=&quot;channel&quot;&gt;</code> im XSLT bedeutet also, dass das eingeschlossene Element auf Elemente namens „Channel“ angewendet wird.</p>
<p><strong>xsl:apply-templates</strong>: Wendet an dieser Stelle die Templates an. Das Attribut select spezifiziert, welche Elemente verarbeitet werden sollen: <code>&lt;xsl:apply-templates select=&quot;item&quot;&gt;</code> bedeutet also, dass an dieser Stelle Item-Elemente eingefügt werden sollen. </p>
<p><strong>xsl:value-of:</strong> Fügt an dieser Stelle den Wert des per Attribut select spezifizierten Elements ein. Beispielsweise fügt <code>&lt;xsl:value-of select=&quot;/rss/channel/title&quot;/&gt;</code>.den Wert des Elements Title des Elements Channel ein. Da XML als Baum strukturiert ist, kann im select-Attribut der komplette Pfad zu einem Element angegeben werden.</p>
<p><strong>xsl:element</strong> und <strong>xsl:attribute</strong>: Diese setzen bei der Transformation Tags zusammen. Vollständige Tags können auch direkt im XSLT angeführt werden, sobald jedoch Attribute des Tags anhand von Werten im XML gesetzt werden müssen, kommen diese Regeln zur Anwendung.</p>
<p>Diese Zeilen markieren das XML-File als XSLT:</p>
<pre class="codeblock">&lt;?xml version=&quot;1.0&quot;?&gt;<br />&lt;xsl:stylesheet version=&quot;1.0&quot;<br />xmlns:xsl=&quot;http://www.w3.org/1999/XSL/Transform&quot;<br />	xmlns:content=&quot;http://purl.org/rss/1.0/modules/content/&quot;<br />	xmlns:wfw=&quot;http://wellformedweb.org/CommentAPI/&quot;<br />	xmlns:dc=&quot;http://purl.org/dc/elements/1.1/&quot;<br />&gt;</pre>
<p>Da ein RSS2-Feed mit einem Element Namens RSS umschlossen ist, wird als erstes ein Template für dieses Element deklariert. Dies geschieht mit</p>
<pre class="codeblock">	&lt;xsl:template match=&quot;rss&quot;&gt;<br />		&lt;html&gt;<br />			&lt;!-- ===Template des HTML-Head-Parts=== --&gt;<br />			&lt;head&gt;<br />				&lt;title&gt;<br />					&lt;xsl:value-of select=&quot;/rss/channel/title&quot;/&gt;<br />				&lt;/title&gt;<br />				&lt;!-- ===Stylesheet einbinden. Gegebenenfalls muss absoluter Pfad verwendet werden === --&gt;<br />				&lt;link rel=&quot;stylesheet&quot; href=&quot;rss-xsl-styles.css&quot;/&gt;<br />			&lt;/head&gt;<br />			&lt;!-- ===Template des HTML-body-Parts=== --&gt;<br />			&lt;body&gt;<br />				&lt;div class=&quot;full-feed&quot;&gt;<br />					&lt;!-- Hier werden die anderen Templates hinein genierert. Siehe weiter unten --&gt;<br />					&lt;xsl:apply-templates/&gt;<br />				&lt;/div&gt;<br />			&lt;/body&gt;<br />		&lt;/html&gt;<br />	&lt;/xsl:template&gt;</pre>
<p>Die innerhalb des Templates angeführten Elemente werden 1:1 ins generierte HTML übertragen, in diesem Fall also das Head und Body.</p>
<p>Das XSLT-Element <code>&lt;xsl:value-of select=&quot;/rss/channel/title&quot;/&gt;</code> zwischen den HTML-Title-Tags übernimmt den Wert des RSS-Titels und fügt ihn als HTML-Title ein. Als nächstes wird das externe CSS-File eingebunden.</p>
<p>Im HTML-Body-Element wird ein <dfn>div</dfn>, also ein Container, mit der Klasse <dfn>full-feed</dfn> generiert. Das <code>&lt;xsl:apply-templates/&gt;</code> innerhalb des body-tags weist den XSLT-Prozessor an dort die Templates für den header und die Items des RSS-Feeds anzuwenden.</p>
<pre class="codeblock">	&lt;xsl:template match=&quot;channel&quot;&gt;<br />	&lt;div id=&quot;header&quot;&gt;<br />		&lt;h1&gt;<br />		&lt;xsl:element name=&quot;a&quot;&gt;<br />			&lt;xsl:attribute name=&quot;href&quot;&gt;<br />				&lt;xsl:value-of select=&quot;link&quot; /&gt;<br />			&lt;/xsl:attribute&gt;<br />			&lt;xsl:element name=&quot;img&quot;&gt;<br />				&lt;xsl:attribute name=&quot;src&quot;&gt;<br />					&lt;xsl:value-of select=&quot;image/url&quot;/&gt;<br />				&lt;/xsl:attribute&gt;<br />				&lt;xsl:attribute name=&quot;alt&quot;&gt;<br />					&lt;xsl:value-of select=&quot;title&quot;/&gt;<br />				&lt;/xsl:attribute&gt;<br />			&lt;/xsl:element&gt;<br />		&lt;/xsl:element&gt;<br />		&lt;/h1&gt;<br />		&lt;p&gt;&lt;strong&gt;Dies ist ein per XSL in HTML transformierter Beispiel-RSS2-Feed. Die Beschreibung wie das geht finden sie &lt;a href=&quot;http://www.webkontext.net/&quot;&gt;hier&lt;/a&gt;. Weitere Artikel von &lt;a href=&quot;http://www.webkontext.net/&quot;&gt;WEBKONTEXT.net hier&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;<br />		&lt;xsl:value-of select=&quot;description&quot;/&gt;&lt;br /&gt;<br />		Letzte &amp;#196;nderung: &lt;xsl:value-of select=&quot;substring(pubDate,5,18)&quot;/&gt;&lt;br /&gt;<br />	&lt;/div&gt;</pre>
<p>Dieses Template transformiert den Header, (also Titel, Beschreibung, Logo usw.) des RSS-Feeds. Der Header wird mit einem div mit der Klasse <dfn>header </dfn>umschlossen. Der Kopfbereich wird so formatiert, dass in der Überschrift das Logo des Feeds erscheint. Wer dem RSS-Feed kein Icon zugewiesen hat, kann das Element zur Generierung der img-Tags einfach löschen und durch ein <code>&lt;xsl:value-of select=&quot;title&quot;/&gt;</code> ersetzen.</p>
<p>Zum Schluss werden noch die einzelnen Artikel-Einträge formatiert. Diese befinden sich im RSS-Feed in Tags mit dem Namen <code>&lt;Item&gt;</code> eingeschlossen. Dafür ist folgender Bereich im XSL-File zuständig:</p>
<pre class="codeblock">	&lt;!-- ===TEMPLATE FUER DIE ITEM-ELEMENTE --&gt;<br /><br />	&lt;xsl:apply-templates select=&quot;item&quot;/&gt;<br />	&lt;/xsl:template&gt;<br />	&lt;xsl:template match=&quot;item&quot;&gt;<br />		&lt;div class=&quot;feed-item&quot;&gt;<br />			&lt;h2&gt;<br />			&lt;xsl:element name=&quot;a&quot;&gt;<br />				&lt;xsl:attribute name=&quot;href&quot;&gt;<br />					&lt;xsl:value-of select=&quot;link&quot; /&gt;<br /><br />				&lt;/xsl:attribute&gt;<br />				&lt;xsl:value-of select=&quot;title&quot; /&gt;<br />			&lt;/xsl:element&gt;<br />			&lt;/h2&gt;<br />			&lt;p&gt;<br />			&lt;xsl:value-of select=&quot;description&quot;/&gt;<br />			&lt;span class=&quot;morelink&quot;&gt;<br />				&amp;#160;<br />				&lt;xsl:element name=&quot;a&quot;&gt;<br />					&lt;xsl:attribute name=&quot;href&quot;&gt;<br />						&lt;xsl:value-of select=&quot;link&quot; /&gt;<br />					&lt;/xsl:attribute&gt;[mehr...]<br />				&lt;/xsl:element&gt;<br />			&lt;/span&gt;<br />			&lt;/p&gt;<br />			&lt;xsl:if test=&quot;pubDate&quot;&gt;<br />				&lt;span class=&quot;itempubDate&quot;&gt;Datum: &lt;xsl:value-of select=&quot;substring(pubDate,5,18)&quot;/&gt;&lt;/span&gt;<br />			&lt;/xsl:if&gt;<br /><br />		&lt;/div&gt;<br />	&lt;/xsl:template&gt;</pre>
<p>Jeder Artikel-Eintrag wird für die Ausgabe so formatiert, dass er von einem div mit der Klasse <dfn>feed-Item</dfn> umschlossen ist. Darin wird der Titel des Artikels als h2-Überschrift formatiert. Weiters wird der Teaser-Text (also die description des Artikel-Items ausgegeben und mit einem Link zum eigentlichen Artikel versehen. Das ist auch einer der wesentlichen Vorteile einer per XSLT-transformierten und HTML-Formatierten Ausgabe eines RSS-Feeds: Die URLs der Artikel werden als Link dargestellt und sind damit auch ohne RSS-Reader leicht öffenbar.</p>
<p><br /><br /></p>]]></content:encoded>
            <category>Typo3</category>
			<category>HTML/CSS</category>
			<category>Tutorial</category>
			<category>XML</category>
			<category>XSL</category>
			<category>XSLT</category>
			<category>News-Feed</category>
			<category>RSS</category>
			
            
            <pubDate>Mon, 13 Aug 2007 05:25:00 +0200</pubDate>
        </item>
        
        <item>
            <title>CSS-Gestylte Tabellen in Typo3</title>
            <link>http://www.webkontext.net/artikel/archiv/2007/july/artikel/css-gestylte-tabellen-in-typo3/</link>
            <description>Wer mal den RTE per Page-TS soweit konfiguriert hat, dass er selbst definierte Klassen annimmt, braucht trotzdem noch ein paar Einstellungen im Template.</description>
            <content:encoded><![CDATA[<p>Ein Fallstrick bei Typo3 kann sein, dass Typo3 versucht vom Redakteur eingegebenen oder genierten HTML-Code bei der Ausgabe zu säubern. Eigentlich ziemlich erfreulich, nur leider führt die Säuberungsaktion nicht immer zum gewünschten Ergebnis.</p>
<h1>Weg mit class=&quot;bodytext&quot;</h1>
<p>Standardmässig weist Typo3 allen Absätzen die CSS-Klasse <em>bodytext</em> zu.&nbsp; Das kann mit einer Zeile im Template-Setup leicht unterdrückt werden:</p>
<p class="userstyle-code-block"><strong>Template-Setup:</strong><code># Ein P bleibt ein P und wird nicht zum P class=&quot;bodytext&quot; <br />lib.parseFunc_RTE.nonTypoTagStdWrap.encapsLines.addAttributes.P.class &gt;<br /></code></p>
<p>Diese Zeile verhindert, dass bei Paragraph-Tags automatisch ein class=bodytext angehängt wird.</p>
<h1>Im Editor angegebene Klasse bei Tabellen beibehalten</h1>
<p>Standardmässig weist Typo3 einer Tabelle die Klasse <em>contenttable</em> zu, auch wenn im RTE der Tabelle eine andere Klasse zugewiesen wurde. </p>
<p>Mit folgenden Zeilen im Template-Setup lässt sich das verhindern:</p>
<p class="userstyle-code-block"><strong>Template-Setup:</strong><code>#<br /># Wenn einer Table im Editor eine Klasse zugewiesen wurde diese beibehalten<br />#<br /><br />lib.parseFunc_RTE.externalBlocks.table.stdWrap.HTMLparser.tags.table.fixAttrib.class.list &gt;<br /></code></p>
<h1>Keine P's in Tabellenzellen generieren</h1>
<p>Per default generiert Typo3 p-Tags um den Inhalt von im RTE eingegebenen Tabellen-Zellen. Mit &nbsp; <code>lib.parseFunc_RTE.externalBlocks.table.HTMLtableCells.default &gt;</code> im Template-Setup lässt sich verhindern, dass Typo3 Table-Zellen durch den Parser schickt und aufgrund der fehlenden Umschliessung mit P-Tags diese hinein generiert. </p>
<p class="userstyle-attention"><strong>Da wirft allerdings das Problem auf, dass dann beispielsweie in einer Zelle eingegebene Links nicht mehr umgesetzt werden.</strong></p>
<p>Dieses Problem lässt sich umgehen, indem man Typo3 anweist die Einstellungen von lib.ParseFunc zu übernehmen. Dadurch werden die Tags in Tabellen-Zellen geparst, ohne dass zuätzliche P-Tags generiert werden.</p>
<p class="userstyle-code-block"><strong>Template-Setup:</strong><code># keine P in TD generieren aber trotzdem Inhalt parsen<br /><br />lib.parseFunc_RTE.externalBlocks.table.HTMLtableCells.default &gt;<br />lib.parseFunc_RTE.externalBlocks.table.HTMLtableCells.default.stdWrap.parseFunc =&lt; lib.parseFunc&nbsp; <br /></code></p>
<p>&nbsp;</p>
<p>&nbsp;</p>]]></content:encoded>
            <category>Typo3</category>
			<category>Tutorial</category>
			
            <author>prucha@helicon.at</author>
            <pubDate>Sat, 14 Jul 2007 13:50:00 +0200</pubDate>
        </item>
        
        <item>
            <title>Firefox mit Marktanteilen bix zu 44 %</title>
            <link>http://www.webkontext.net/artikel/archiv/2007/july/artikel/firefox-mit-marktanteilen-bix-zu-44/</link>
            <description>Firefoxs Marktanteil variiert sehr stark von Land zu Land. In Slowenien kommt er auf rund 40 %, in Gesamt-Europa auf fast 25 %.</description>
            <content:encoded><![CDATA[<p>Dass der freie Web-Browser <a href="http://www.mozilla-europe.org/de/products/firefox/" title="Öffnet einen externen Link in einem neuen Fenster" target="_blank" class="external-link-new-window" title=""><dfn>Firefox</dfn></a> immer mehr an Beliebtheit gewinnt ist soweit keine Überraschung. Überraschend sind allerdigs, dass der Marktanteil sehr stark von Land zu Land variiert.</p>
<p>Wie der französiche <a href="http://www.xitimonitor.com/en-us/browsers-barometer/firefox-march-2007/index-1-2-3-77.html" title="Öffnet einen externen Link in einem neuen Fenster" target="_blank" class="external-link-new-window" title="">XiTi-Monitor</a> berichtet, kommt der Firefox in Europa mittlerweile&nbsp; (März 2007) auf einen Marktanteil von nahezu 24.1 %.</p>
<p>Einzelne Länder können jedoch einen wesentlich grösseren Anteil von Firefox-Usern aufweisen. Am häufigsten wird der Firefox in Slowenien und Finnland (mit jeweils über 40 % Anteil) benutzt.</p>
<p>Obwohl der Firefox im deutschsprachigen Raum (Deutschland, Österreich, Schweiz) nicht an die Spitzenwerte in Finnland herankommt zeigt die Studie doch, dass auch bei uns der Firefox äusserst beliebt ist:</p>
<p>&nbsp;</p><table cellpadding="1" cellspacing="1" style="BORDER-RIGHT: 1px solid; BORDER-TOP: 1px solid; BORDER-LEFT: 1px solid; WIDTH: 100%; BORDER-BOTTOM: 1px solid" class="contenttable"><tbody><tr><th align="left">Land</th><th align="left">Marktanteil</th></tr><tr><td>Deutschland</td><td>36.2 %</td></tr><tr><td>Österreich</td><td>27.6 %</td></tr><tr><td>Europa Durchschnitt</td><td>24.1%</td></tr><tr><td>Schweiz</td><td>21.4 %</td></tr></tbody></table><p>&nbsp;</p>
<p>Auf den Internet Explorer hin zu optimieren kann mittlerweile also fast ein Drittel der Besucher kosten.</p>
<p>&nbsp;</p>]]></content:encoded>
            <category>Browser</category>
			
            <author>prucha@helicon.at</author>
            <pubDate>Sat, 07 Jul 2007 14:47:00 +0200</pubDate>
        </item>
        
        <item>
            <title>Logische Textauszeichnung in HTML</title>
            <link>http://www.webkontext.net/artikel/archiv/2007/june/artikel/logische-textauszeichnung-in-html/</link>
            <description>Lange Zeit waren Tags zur logischen Textauszeichnung weitgehend vergessen. Dank CSS gewinnt die logische Textauszeichnung wieder an Bedeutung.</description>
            <content:encoded><![CDATA[<p>Grundsätzlich lässt sich zwischen physikalischer und logischer Textauszeichnung unterscheiden. Die <dfn>physikalische Textauszeichnung</dfn> gibt an, wie ein Element <em>auszusehen</em> hat, die <dfn>logische Textauszeichnung</dfn> gibt an, um <em>was</em> es sich bei dem Element handelt.</p>
<p>In der Praxis überschneiden sich beide: Auch die meisten Tags zur logischen Textauszeichnung haben bestimmte Darstellungen zur Folge.</p>
<p>Ursprünglich war an die physikalische Textauszeichnung bei der Entwicklung von HTML kaum gedacht worden. Zum Zeitpunkt der Entwicklung waren Workstations noch hauptsächlich ASCII-Terminals die keine grafische Darstellung beherrschten. Daher war die physikalische Textauszeichnung mit Funktionen zur Wahl der Schrift, Farbe und dergleichen nebensächlich. Der Browser sollte anhand der Information um was es sich handelt selbst entscheiden wie er den Textteil darstellt. Das war für die damals hauptsächlich wissenschaftlichen Texte auch ausreichend.</p>
<p>Mit der Kommerzialisierung des Webs gewann aber die Gestaltung einer Website mehr und mehr Bedeutung über dessen Inhalt, und die wenigen zur Verfügung stehenden Tags wurden missbraucht um Seiten zu gestalten.</p>
<p>Ein Beispiel dafür ist das Tag <code>&lt;blockquote&gt;</code>, das laut HTML-Spezifikation ein Zitat markiert. Da aber die meisten Browser „Zitate“ eingerückt darstellten, wurde <code>&lt;blockquote&gt;</code> von Webdesignern bald missbraucht um Text einzurücken, auch wenn es sich nicht um ein Zitat handelte.</p>
<p>Seit der Einführung von CSS sind derartige Missbräuchliche Verwendungen von Tags nicht mehr notwendig, da sich die Gestaltung über Klassen bis ins Detail regeln lässt.</p>
<p>Trotzdem, oder gerade deswegen kommt der <em>logischen</em> Auszeichnung von Texten wieder mehr Bedeutung zu, insbesondere auch in Hinblick auf <acronym title="Extensible HyperText Markup Language">XHTML</acronym>, welches die Gestaltung nur mehr über CSS erlaubt. Gute logische Auszeichnung bietet mehrere Vorteile:</p><ul><li>Sinnvolle Darstellung auf allen Ausgabegeräten, auch reinen Text-Browsern.</li><li>Bessere Interpretation durch Screenreader: Logische Auszeichnung erleichtert die Verwendung von Hilfsmitteln für Sehbehinderte. Textpassagen werden entsprechend der Markierung betont</li><li>Logische Textauszeichnung erleichtert die Übergabe von HTML-Texten, beispielsweise in Blogs, da auf der Website die den Artikel übernimmt die eigenen CSS-Definitionen unter Umständen nicht vorhanden sind bzw. ausgefiltert werden.</li><li>Erleichterter Umstieg auf XHTML</li></ul><h1>Tag in einem eigenen CSS definieren</h1>
<p>Wie die logisch markierten Bereiche dargestellt werden hängt vom Browser ab. In der Regel unterscheidet sich die Darstellung nicht wesentlich. Wer sichergehen will, dass der logisch ausgezeichnete Bereich so dargestellt wird wie gewünscht, kann da die Tags in einem eignenen CSS definieren:</p>
<p>Mit <code>&lt;strong&gt; </code>markierte Elemente werden von den meisten Browsern fett dargestellt. Wer möchte, dass diese Elemente fett und zusätzlich in rot dargestellt werden, kann dies beispielsweise mit folgender CSS-Definition tun</p>
<p><samp>strong {<br />font-weight: bold;<br />color: #FF0000;<br />}</samp></p>
<h1 class="western">strong - Stark hervorzuhebender</h1>
<p>Das Tag <code>&lt;strong&gt;</code> markiert stark hervorzuhebende Textteile.</p>
<p>Die meisten Browser stellen mit <code>&lt;strong&gt;</code> markierten Text standardmässig in Fettschrift dar.</p>
<h6>Beispiel:</h6>
<p><samp>&lt;strong&gt;Stark hervorzuhebender Text&lt;/strong&gt;</samp></p>
<h6>Ausgabe:</h6>
<p><strong>Stark hervorzuhebender Text</strong></p>
<h1>em: Betonen</h1>
<p>Das Tag <code>&lt;em&gt;</code> steht für <em>Emphasize</em>, also „betonen“. Mit diesem Tag werden zu betonende Textelemente markiert.</p>
<p>Die meisten Browser stellen betonten mit <code>&lt;em&gt;</code> markierte Textteile in Kursivschrift dar.</p>
<h6>Beispiel:</h6>
<p><samp>Es ist &lt;em&gt;sehr&lt;/em&gt; wichtig, Text auch logisch zu strukturieren</samp></p>
<h6>Ausgabe:</h6>
<p>Es ist sehr wichtig, Text auch logisch zu strukturieren</p>
<h1>cite: Kurzes Zitat oder Referenz zu anderen Quellen</h1>
<p><code>&lt;cite&gt;</code> markiert Zitat aus anderen Quellen beziehungsweise eine Referenz auf andere Quellen. Damit sind Zitate oder Referenzen gemeint die im Lauftext eingebunden sind.</p>
<p>Mit &lt;cite&gt;cite&lt;/cite&gt; markierte Teile werden von den meisten Browsern standardmässig in Kursivschrift dargestellt </p>
<h6>Beispiel:</h6>
<p><samp>Eines der bekanntesten Zitate ist sicher &lt;cite&gt;Hamlet: Sein oder Nichtsein, das ist hier die Frage (To be, or not to be: that is the question)&lt;/cite&gt;.</samp></p>
<h6>Ausgabe:</h6>
<p>Eines der bekanntesten Zitate ist sicher &lt;cite&gt;Hamlet: Sein oder Nichtsein, das ist hier die Frage (To be, or not to be: that is the question)&lt;/cite&gt;</p>
<h1>blockquote: Längeres Zitat</h1>
<p>Im Gegensatz zu <code>&lt;cite&gt;</code> markiert <code>&lt;blockquote&gt;</code> ein längeres Zitat, das in einem eigenen Abatz dargestellt wird.</p>
<p>Bei <code>&lt;blockquote&gt;</code> handelt es sich um ein Block-Element. Der Textblock wird von den meisten Browsern standardmässig eingerückt dargestellt.</p>
<h6>Beispiel: </h6>
<p><samp>&lt;blockquote&gt; Werde ich recht behalten, werden die Deutschen sagen, ich sei Deutscher, die Franzosen, ich sei Europäer und die Amerikaner, ich sei Weltbürger. Werde ich nicht recht behalten, werden die Amerikaner sagen, ich sei Europäer, die Franzosen, ich sei Deutscher und die Deutschen, ich sei ein Jude.&lt;br&gt;&lt;br&gt;- Albert Einstein, befragt über die möglichen Auswirkungen seiner Relativitätstheorie&lt;/blockquote&gt;</samp></p>
<h6>Ausgabe: </h6><blockquote style="margin-bottom:0;margin-top:0;"><p>Werde ich recht behalten, werden die Deutschen sagen, ich sei Deutscher, die Franzosen, ich sei Europäer und die Amerikaner, ich sei Weltbürger. Werde ich nicht recht behalten, werden die Amerikaner sagen, ich sei Europäer, die Franzosen, ich sei Deutscher und die Deutschen, ich sei ein Jude.<br /><br />- Albert Einstein, befragt über die möglichen Auswirkungen seiner Relativitätstheorie</p></blockquote><h1>dfn: Definition</h1>
<p>Mit <code>&lt;dfn&gt; </code>kann ein definiertes wort markiert werden. Dies wird meistens bei der ersten Verwendung im Text gemacht:</p>
<h6>Beispiel:</h6>
<p><samp>&lt;dfn&gt;HTML&lt;/dfn&gt; steht für Hypertext Markup Language und &lt;dfn&gt;CSS&lt;/dfn&gt;für Cascaded Style Sheets.</samp></p>
<h6>Ausgabe:</h6>
<p><dfn>HTML</dfn> steht für Hypertext Markup Language und <dfn>CSS</dfn> für Cascaded Style Sheets.</p>
<p>&nbsp;</p>
<h1 class="western">kbd: Tastatureingabe</h1>
<p>Mit <code>&lt;kbd&gt; </code>können – beispielsweise in einem Benutzerhandbuch – vom User vorzunehmende Eingaben markiert werden.</p>
<p>Die meisten Browser stellen in <code>kbd</code> eingeschlossenen Texte in nicht-proportionaler Schrift dar</p>
<h6>Beispiel:</h6>
<p><samp>Geben sie bitte &lt;kbd&gt;cd /&lt;/kbd&gt; ein um ins Hauptverzeichnis zu wechseln.</samp></p>
<h6>Ausgabe:</h6>
<p>Geben sie bitte &lt;kbd&gt;cd /&lt;/kbd&gt; ein um ins Hauptverzeichnis zu wechseln.</p>
<h1>samp: Beispiel</h1>
<p>Das Tag <code>&lt;samp&gt;</code> markiert ein Beispiel. In Tutorials können damit Beispiele markiert werden, und hat damit eine ähnliche Funktion wie das Tag <code>&lt;code&gt;.</code></p>
<h6>Beispiel:</h6>
<p><samp>&lt;samp&gt;&lt;dfn&gt;HTML&lt;/dfn&gt; steht für Hypertext Markup Language und &lt;dfn&gt;CSS&lt;/dfn&gt;für Cascaded Style Sheets.&lt;/samp&gt;</samp></p>
<h6>Ausgabe:</h6>
<p><samp>&lt;dfn&gt;HTML&lt;/dfn&gt; steht für Hypertext Markup Language und &lt;dfn&gt;CSS&lt;/dfn&gt;für Cascaded Style Sheets.</samp> </p>
<h1 class="western">code: Computer-Code</h1>
<p>Das Tag <code>&lt;code&gt; </code>markiert Computer-Code, also Ausschnitte aus Programmen, HTML-Quelltext oder ähnliches.</p>
<h6>Beispiel:</h6>
<p><samp>Ausgabe von „Hallo Welt“ in einer Schleife in Pascal: &lt;code&gt;for x := 1 to 10 do writeln ('Hallo Welt');&lt;/code&gt;</samp></p>
<h6>Ausgabe:</h6>
<p>Ausgabe von „Hallo Welt“ in einer Schleife in Pascal: <code>for x := 1 to 10 do writeln ('Hallo Welt');</code></p>
<h1 class="western">address: Adresse</h1>
<p>Mit <code>&lt;address&gt;</code> kann eine Adresse markiert werden:</p>
<h6>Beispiel:</h6>
<p><samp>&lt;address&gt;<br />Helicon Software Development&lt;br&gt;<br />Trimplinggasse 6&lt;br&gt;<br />A-2500 Baden<br />&lt;/address&gt;</samp></p>
<h6>Ausgabe:</h6>
<p><address>Helicon Software Development<br />Trimplinggasse 6<br />A-2500 Baden</address></p>
<h1 class="western">abbr: Abkürzung</h1>
<p>Mit <code>&lt;abbr&gt;</code> önnen im Quelltext Abkürzungen markiert werden und unter Verwendung des title-Attributs eine Erklärung eingeblendet werden.</p>
<h6>Beispiel:</h6>
<p><samp>In &lt;abbr title=&quot;Hypertext Markup Language&quot;&gt;HTML&lt;/abb</samp><samp>r&gt; kann das Tag &lt;strong&gt; verwendet werden um Textteile besonders hervorzuheben.</samp></p>
<h6>Ausgabe:</h6>
<p>In <acronym title="Hypertext Markup Language">HTML</acronym> kann das Tag &lt;strong&gt; verwendet werden um Textteile besonders hervorzuheben.</p>
<h1 class="western">Ins/Del: Gelöscht und hinzugefügt</h1>
<p>Mit <code>&lt;del&gt; </code>lassen sich Textteile als gelöscht, und mit <code>&lt;ins&gt;</code> als hinzugefügt markieren. Damit können Änderungsvorgänge dargestellt werden.</p>
<p>Beim Tag <code>&lt;ins&gt;</code> kann optional durch Angabe des Attributs dattime noch zusätzlich der Zeitpunkt der Änderung angegeben werden. Dabei muss das Format yyyy-mm-dd verwendet werden. Ebenso optional ist die Verwendung des Attributs cite welches ermöglicht auf ein HTML-Dokument zu verweisen da nähere Angaben macht.</p>
<p>Die meisten Browser stellen gelöschte, also in <code>&lt;del&gt;</code> eingeschlossene Textteile durchgestrichen, mit <code>&lt;ins&gt;</code> hinzugefügte unterstrichen dar.</p>
<h6>Beispiel:</h6>
<p><samp>Das Projekt ist im &lt;del&gt;Juni&lt;/del&gt;&lt;ins datetime=“2007-03-17“&gt;Juli&lt;/ins&gt; abgeschlossen.</samp></p>
<h6>Ausgabe:</h6>
<p>Das Projekt ist im <del>Juni</del><ins datetime="“2007-03-17“">Juli</ins> abgeschlossen.</p>]]></content:encoded>
            <category>HTML/CSS</category>
			<category>XHTML</category>
			
            <author>prucha@helicon.at</author>
            <pubDate>Sun, 17 Jun 2007 11:13:00 +0200</pubDate>
        </item>
        
        <item>
            <title>Werbung im Internet</title>
            <link>http://www.webkontext.net/artikel/archiv/2007/june/artikel/werbung-im-internet/</link>
            <description>Internet-Marketing wird für Unternehmen immer wichtiger. Die Werbeformen haben sich aber auch im Internet im Laufe der Zeit geändert.</description>
            <content:encoded><![CDATA[<p>Vorweggenommen, Mundpropaganda&nbsp;– oder in diesem Kontext eher Link-Propaganda&nbsp;– ist sicher auch im WWW einer der sichersten Wege zum Erfolg. User tauschen in Foren, Chatrooms und Social Networks Links von Seiten aus, die sie mögen, und tragen damit zum Bekanntheitsgrad des Webangebots massgeblich bei. Der besondere Vorteil ist, dass sich die Benutzer im Allgemeinen untereinander trauen und ein Link hier eine Hilfe und keine aufdringliche Werbung darstellt, insbesondere weil der Link meistens im Kontext des gerade diskutierten Themas steht.</p>
<p>Der von manchen Webmastern gerne betriebene Gästebuch- und Foren-Spam stellt meist keine (positive) Mundpropaganda dar, sondern wird als lästig empfunden. Einträge wie &quot;Super Artikel, schau doch mal www.meineseite.com an&quot; diskreditiert die Zielseite eher, als sie ihr hilft. </p>
<p>Um in den Genuss von Mundpropaganda zu kommen, muss natürlich der Inhalt der Website stimmen. Nichtssagende Werbeseiten ohne nennenswerten Inhalt werden kaum freiwillig verlinkt werden. Aber selbst wenn die Seite gut ist, kann es am Anfang notwendig sein, klassische Internet-Werbung zu betreiben, insbesondere wenn es sich um ein heiss umkämpftes Themenfeld handelt und auch die Suchmaschinen nicht weiterhelfen um gefunden zu werden.</p>
<h1>Kontext</h1>
<p>User besuchen Websites um sich zu einem bestimmten Thema zu informieren bzw. die dortigen Angebote wahrzunehmen. Daher ist kontext-bezogene Werbung wesentlich sinnvoller, als Werbung, die in keinem Zusammenhang steht mit dem eigentlich erwünschten Thema.</p>
<p>Werbung für Gartenmöbel wird beispielsweise auf einer Website zum Thema Mathematik kaum den erwünschten Erfolg, selbst wenn die Website sehr gut besucht ist. Sie wird von den Benutzern eher als störend empfunden werden und bestenfalls keinen, schlimmstenfalls einen negativen Effekt erzeugen. Die gleiche Gartenmöbel-Werbung bei gleicher Positionierung auf einer Webpage über Gartengestaltung kann jedoch gut funktionieren, da sie unter Umständen vom Benutzer sogar als hilfreich empfunden wird.</p>
<h1>Banner</h1>
<p>Banner, Textlinks und Popups stellen dabei die bekanntesten Werbeformen dar. Allerdings beinhalten diese auch einige Fallstricke.</p>
<p>Banner-Werbung war anfangs sehr effektiv. Hauptgrund: Sie war neu, Banner waren unbekannt und die Leute klickten, weil sie wissen wollten was sich hinter dem Banner verbirgt. Der Erfolg der Banner hatte aber auch zur Folge, das immer mehr Seiten mit Banner übersäht waren.</p>
<p>Das führte zu der bereits 1998 in einer Studien beschriebenen Banner-Blindheit (http://www.internettg.org/newsletter/dec98/banner_blindness.html). Der Versuchsaufbau war denkbar simpel: Es wurde ein banner-artiges Gebilde gezeigt und ein Stück darunter ein kleiner im Text eingebetteten Text-Link. Die meisten Benutzer folgten nicht dem Banner, sondern dem wesentlich kleineren Link. Es ist nicht davon auszugehen, dass die Benutzer den Banner wirklich übersahen, sondern ihn eher ignorierten, weil er als Werbung empfunden wurde.</p>
<p>Wenn die Banner aber nicht gänzlich übersehen, sondern nur ignoriert und damit zumindest unbewusst aufgenommen werden, können Banner zumindest zur Bekanntheit einer Marke bzw. Angebots, beitragen auch wenn sie nicht unbedingt zu einem click-through führen.</p>
<p>Dabei ist aber auch wichtig zu beachten, dass Banner auf Seiten nicht störend platziert werden. Das Persuasive Technology Lab der Stanford University hat 2001 versucht in einer <a href="http://captology.stanford.edu/pdf/p61-fogg.pdf" title="Öffnet einen externen Link in einem neuen Fenster" target="_blank" class="external-link-new-window" title=""><img src="typo3/ext/rtehtmlarea/htmlarea/plugins/TYPO3Browsers/img/external_link_new_window.gif" alt="Öffnet einen externen Link in einem neuen Fenster" />Studie</a>&nbsp; festzustellen, was eine Website vertrauenswürdig erscheinen lässt. Die Autoren kamen zu dem Schluss, dass aggressive Werbung auf Seiten zu Vertrauensverlust der Benutzer führen kann, gut gemachte Banner-Werbung aber auch das Vertrauen erhöhen kann.</p>
<p>Viele grosse Medien-Seiten sind auf Werbung angewiesen und finanzieren sich daraus. Allerdings sind die Seiten meistens so gestaltet, dass die Werbung für den Benutzer nicht extrem störend wirkt. Banner sind meistens dezent auf der Seite platziert und stören damit nicht den Lesefluss. Dadurch unterscheiden sie sich massgeblich von den blinkenden Banner-Seiten die vielfach zum Ärger der Benutzer über Banner beitragen. Eine <a href="http://www.considereddesign.com/publications/TOCHI05.pdf" title="Öffnet einen externen Link in einem neuen Fenster" target="_blank" class="external-link-new-window" title=""><img src="typo3/ext/rtehtmlarea/htmlarea/plugins/TYPO3Browsers/img/external_link_new_window.gif" alt="Öffnet einen externen Link in einem neuen Fenster" />Studie</a>&nbsp; von MOIRA BURKE (Carnegie Mellon University), ANTHONY HORNOF (University of Oregon), ERIK NILSEN (Lewis &amp; Clark College) und NICHOLAS GORMAN (University of Southern California) hat gezeigt, dass schlechte Banner-Werbung die empfundene Arbeitslast und den Lesefluss stören kann, und letztendlich vergessen wird.</p>
<p>Aus dem Original-Banner (468 × 60 Pixel) haben sich mit der Zeit weitere Bannergrössen entwickelt, die unterschiedlich eingesetzt werden können und damit eine benutzerfreundliche Gestaltung der Website erleichtern:</p>
<p><strong>Rectangles and Pop-Ups</strong></p><table cellpadding="1" cellspacing="1" style="BORDER-RIGHT: 0px solid; BORDER-TOP: 0px solid; BORDER-LEFT: 0px solid; WIDTH: 100%; BORDER-BOTTOM: 0px solid" class="htmlarea-showtableborders"><tbody><tr><th align="left">Format</th><th>Name</th></tr><tr><td>300 × 250</td><td>Medium Rectangle</td></tr><tr><td>250 × 250</td><td>Square Pop-Up</td></tr><tr><td>240 × 400</td><td>Vertical Rectangle</td></tr><tr><td>336 × 280</td><td>Large Rectangle</td></tr><tr><td>180 × 150</td><td>Rectangle</td></tr></tbody></table><p><br /><strong>Banners und Buttons</strong></p><table cellpadding="1" cellspacing="1" style="BORDER-RIGHT: 0px solid; BORDER-TOP: 0px solid; BORDER-LEFT: 0px solid; WIDTH: 100%; BORDER-BOTTOM: 0px solid" class="htmlarea-showtableborders"><tbody><tr><th align="left">Format</th><th>Name</th></tr><tr><td>468 × 60</td><td>Full Banner (der bekannteste aller Banner-Formate)</td></tr><tr><td>234 × 60</td><td>Half Banner</td></tr><tr><td>88 × 31</td><td>Micro Bar</td></tr><tr><td>120 × 90</td><td>Button 1</td></tr><tr><td>120 × 60</td><td>Button 2</td></tr><tr><td>120 × 240</td><td>Vertical Banner</td></tr><tr><td>125 × 125</td><td>Square Button</td></tr><tr><td>728 × 90</td><td>Leaderboard</td></tr></tbody></table><p><strong>Skyscrapers</strong></p><table cellpadding="1" cellspacing="1" style="BORDER-RIGHT: 0px solid; BORDER-TOP: 0px solid; BORDER-LEFT: 0px solid; WIDTH: 100%; BORDER-BOTTOM: 0px solid" class="htmlarea-showtableborders"><tbody><tr><th align="left">Format</th><th>Name</th></tr><tr><td>160 × 600</td><td>Wide Skyscraper</td></tr><tr><td>120 × 600</td><td>Skyscraper</td></tr><tr><td>300 × 600</td><td>Half Page Ad</td></tr></tbody></table><p>Skyscraper werden von Benutzern vielfach als angenehm empfunden, da sie nicht den vertikalen Lesefluss stören, und meist rechts oder links ausserhalb des Textes angebracht sind.</p>
<p>Insbesondere Werbung rechts am Rand neben der vertikalen Bildlaufleiste haben gute Klickraten. Ein möglicher Grund dafür ist, dass sich beim Lesen meistens der Cursor auf der Bildlaufleiste, und damit in der Nähe der Werbung befindet. Der Benutzer muss also beim Blick nach rechts um die Bildlaufleiste zu treffen, einen kurzen Blick auf die Werbung richten und hat auch schon den Mousecursor in der Nähe. Unabhängig davon wird vertikale Werbung als wenig störend empfunden, was zur Benutzerakzeptanz beiträgt.</p>
<h1>Textlinks</h1>
<p>Obwohl Textlinks relativ unauffällig sind, können sie bemerkenswert effektiv sein. Mit ein Grund dafür ist, dass sie vielfach nicht auf den ersten Blick als Werbung empfunden werden. Ein guter Titel, der im Bezug zum Thema steht, kann leicht dazu führen, dass der Besucher der Webpage gerne auf den gebotenen Link klickt.</p>
<h1>Popups</h1>
<p>Popups werden von Usern als noch wesentlich störender empfunden als Banner. Moderne Browser haben bereits Popup-Blocker integriert, was das unerwünschte Zeigen von eben diesen verhindert. Popups verdecken unter Umständen den gesamten erwünschten Inhalt. Das kann zu brauchbaren Klick-Raten führen, ob es letztendlich auch zum gewünschten Erfolg führt, ist dagegen fraglich, da Popups von 78% der Benutzer als sehr störend empfunden werden. Layer-Ads sind entsprechen in der grundlegenden Funktion den Popups und wurden eigentlich nur entwickelt um die von den Benutzern verwendeten Popup-Blocker auszuhebeln. Sie wurden Anfangs auch von den grossen Medien-Unternehmen gerne genutzt, kommen mittlerweile aber immer weniger zum Einsatz, da sie letztendlich beim Benutzer den gleichen Ärger auslösen wie Popups.</p>
<h1>Paidmail</h1>
<p>Neuere, meistens kostenlose Formen von Werbung sind Paidmail und Besuchertausch. Bei Paidmail wird der Benutzer sogar dafür bezahlt auf Werbung zu klicken.</p>
<p>Um Paidmail zu empfangen, muss man sich bei sogenannten Paid-Mailern anmelden. Ab dann bekommt man Werbung zum gewünschten Thema zugeschickt. Da der Benutzer aber in der Regel sich nur anmeldet um für das Ansehen der Seite bezahlt zu werden, kann davon ausgegangen werden, dass der Streuverlust relativ hoch ist, da Paidmail &quot;erzwungener Traffic&quot; ist: Der Benutzer muss auf einen Link klicken um das zu bekommen, was er eigentlich will, nämlich Punkte bzw. Geld. Hier gilt es abzuschätzen wie gross die Wahrscheinlichkeit ist, dass der Benutzer letztendlich wirklich auf der beworbenen Seite hängen bleibt und den Dienst nützt (z.B. eben einkauft). Da aber beim Paidmail&nbsp;– im Gegensatz zum Besuchertausch&nbsp;– tatsächlich ein Mensch die Seite besucht, sind die einen oder anderen Erfolge nicht ausgeschlossen.</p>
<h1>Besuchertausch</h1>
<p>Besucher-Tausch funktioniert nach der Methode: &quot;Besuchst du meine Website, so besuche ich Deine&quot;. Klingt auf den ersten Blick vielversprechend, ist es aber nicht. Die meisten Besuchertausch-Systeme funktionieren automatisch, das heisst es wird eine Seite nach der Anderen eingeblendet. Es ist nichtmal eine Bestätigung durch den Benutzer des Besuchertausch-Systems erforderlich. Das führt dazu, dass der Besuchertausch auch laufen kann und Hits entstehen, ohne dass ein Mensch die Seite zu Gesicht bekommen hat. Ein Webshop-Betreiber wird von diesem System also genau nichts haben&nbsp;– eine Maschine kauft nun mal nicht selbst ein. </p>
<h1>Fazit</h1>
<p>Guter, von der Internet-Community freiwillig verlinkter Content sowie gute Auffindbarkeit in den Suchmaschien sind sicherlich die besten Wege zum Erfolg im Internet.</p>]]></content:encoded>
            <category>Marketing</category>
			<category>AdWords</category>
			<category>AdSense</category>
			
            
            <pubDate>Wed, 06 Jun 2007 22:03:00 +0200</pubDate>
        </item>
        
        <item>
            <title>Web 2.0 - und kein Ende</title>
            <link>http://www.webkontext.net/artikel/archiv/2007/may/artikel/web-20-und-kein-ende/</link>
            <description>Gerade erst haben wir uns mit dem Begriff Web 2.0 angefreundet, wird es sich wohl schon zur Version 2.1 oder gar 2.2 weiter entwickelt haben.
War zu Beginn noch der Gedanke, der User soll sich und seine Welt (inter)aktiv in das Web einbringen, so reift langsam die Erkenntnis, dass dies vielleicht auf Dauer doch zuviel verlangt war schliesslich heisst es ja auch &quot;Geben und Nehmen&quot;.</description>
            <content:encoded><![CDATA[<p>Das mag auch daran liegen, dass Web 2.0 nicht nur etwas für &quot;junge Männer&quot; ist, sondern von Usern aller Altersschichten und beiderlei Geschlechts angenommen wird, so eine Studie von Booz Allen Hamilton (<a href="http://www.boozallen.com/" target="_blank" title="">www.boozallen.com</a>). Obwohl neuere Websites noch von überdurchschnittlich jüngeren Surfern besucht werden (50% der MySpace User sind unter 25), fällt doch schon ein Anteil von beinahe einem Viertel in die Kategorie der 35 bis 49-jährigen. Bei etablierteren Webangeboten ist die Altersverteilung noch ausgewogener. So sind beispielsweise 25% der Amazon-User über 50 Jahre.</p>
<p>Damit wird die Web 2.0 Community immer mehr auch zum Wirtschaftsfaktor: In der Studie wurde festgestellt, dass 43% der britischen MySpace User Kaufbewertungen von unbekannten MySpace-Anwendern in Ihre Entscheidung miteinbeziehen. Das ermöglicht neue Wege der Meinungsbildung und Erzielung von Kaufentscheidungen - und damit auch Risiken, aber auch Chancen für Handel und Industrie. </p>
<p>Web 2.0 hat bereits heute die kritische Masse erreicht - und Lösungen wie MySpace oder YouTube sind dabei, trotz aller Diskussionen um Urheberschutz und Lizenzverletzungen, zum Motor des &quot;neuen&quot; Internets zu werden. Jene Anbieter, die sich dieser Aufgabe mit aller Kraft widmen und diese auch zu lösen im Stande sind, werden die Gewinner dieses Internet-Booms sein.</p>]]></content:encoded>
            <category>Allgemeines</category>
			<category>Marketing</category>
			
            
            <pubDate>Sun, 27 May 2007 19:11:00 +0200</pubDate>
        </item>
        
        <item>
            <title>Text-Menü mit Grafik in Typo3</title>
            <link>http://www.webkontext.net/artikel/archiv/2007/may/artikel/text-menue-mit-grafik-in-typo3/</link>
            <description>Mit Typo3 lassen sich auch ohne GMENU Grafiken in Menüpunkte einbinden. TMENU, also Text-Menü-Elemente reichen und sind dazu noch barriere-freier.</description>
            <content:encoded><![CDATA[<p>Um Menüpunkte mit Grafiken versehen bedarf es nicht der Verwendung von GMENU-Objekten. TMENU bietet die Möglichkeit zum Text des Menüpunktes Grafiken darzustellen.</p>
<p>Das <dfn>GMENU</dfn> ist ein Unterobjekt von dem <em>HMENU</em> und generiert ein grafisches Menü, bei dem jeder Link eine separate GIF-Datei ist. <dfn>TMENU</dfn> objekte sind grundsätzlich text-orientiert, können aber wie in dem Beispiel mit Grafiken versehen werden.</p>
<p style="MARGIN-BOTTOM: 0cm">Dieses Beispiel soll ein Top-Menü produzieren, bei welchem vor jedem Menüpunkt eine von der Seite abhängige Grafik dargestellt werden soll. Ist die Seite nicht die aktive, soll das Bild in S/W angezeigt werden, bewegt der Besucher den Maus-Cursor über den Menüpunkt oder ist die Seite aktiv wird das Bild in Farbe angezeigt.</p>
<p style="MARGIN-BOTTOM: 0cm">Die Struktur des Menüs ist Grundsätzlich folgende:</p><blockquote style="margin-bottom:0;margin-top:0;"><p style="MARGIN-BOTTOM: 0cm">&lt;ul&gt;</p>
<p style="MARGIN-BOTTOM: 0cm">&lt;li&gt;&lt;a&gt;&lt;img&gt;&lt;/a&gt;&lt;div&gt;&lt;/a&gt;Titel&lt;/a&gt;&lt;/div&gt;&lt;/li&gt;</p>
<p style="MARGIN-BOTTOM: 0cm">&lt;li&gt;&lt;a&gt;&lt;img&gt;&lt;/a&gt;&lt;div&gt;&lt;/a&gt;Titel&lt;/a&gt;&lt;/div&gt;&lt;/li&gt;</p>
<p style="MARGIN-BOTTOM: 0cm">&lt;li&gt;&lt;a&gt;&lt;img&gt;&lt;/a&gt;&lt;div&gt;&lt;/a&gt;Titel&lt;/a&gt;&lt;/div&gt;&lt;/li&gt;</p>
<p style="MARGIN-BOTTOM: 0cm">...</p>
<p style="MARGIN-BOTTOM: 0cm">&lt;/ul&gt;</p></blockquote><p style="MARGIN-BOTTOM: 0cm"><strong>TS-Template</strong></p>
<p class="userstyle-code-block"><code>field.mainMenu = HMENU<br />field.mainMenu.entryLevel = 0<br />field.mainMenu.maxItems = 5<br />field.mainMenu.1 = TMENU<br />field.mainMenu.1<br />{<br />#wrappe das ganze Menue in ul<br />wrap = &lt;ul&gt;|&lt;/ul&gt;<br /><br />#Die einzelnen menuepunkte wrappe in li<br />NO.allWrap = &lt;li&gt;|&lt;/li&gt;<br /><br /># Die Beschriftung des menuepunktes wrapppe in eine div mit klasse caption<br /><br />NO.linkWrap = &lt;div class=&quot;caption&quot;&gt;|&lt;/div&gt;<br /><br /># Bild soll verlinkt werden<br />NO.beforeImgLink = 1<br /><br /># Hole das Bild aus media-feld und bearbeite es<br />NO.beforeImg = GIFBUILDER<br />NO.beforeImg<br />{<br />format = jpg<br />#definiere groese des bildes im menue<br />XY = 105,70<br />10 = IMAGE<br />10.file<br />{<br />#bild aus media-feld holen<br />import = uploads/media/<br />import.field = media<br />import.listNum = 0<br />}<br /># bild wird grau dargestellt wenn punkt nicht angewaehlt<br />30 = EFFECT<br />30.value = gray<br />}<br /><br /># Alternative Darstellung fuer Mouse-Over (RO). Bild ist in Farbe wenn sich maus<br /># ueber Menuepunkt bewegt.<br />NO.RO = 1<br />NO.beforeROImg &lt; .NO.beforeImg<br />NO.beforeROImg<br />{<br /># Bild nicht in Grau konvertieren bei Roll-Over<br />30.value =<br />}<br />#<br /># Format wenn Aktiv. Div fuer Caption bekommt zusaetzlich Klasse caption-active<br />#<br />ACT &lt; .NO<br />ACT = 1<br />ACT.linkWrap = &lt;div class=&quot;caption caption-active&quot;&gt;|&lt;/div&gt;<br />ACT.beforeImg<br />{<br /># Nicht ausgrauen !<br />30.value =<br />}<br />#Current Menue-Punkte sind wie Active – Einfach uebernehmen<br />CUR &lt; .ACT<br />CUR = 1<br />}</code></p>
<p style="MARGIN-BOTTOM: 0cm">&nbsp;</p>
<p style="MARGIN-BOTTOM: 0cm">Das Script gestaltet sich relativ einfach. <code>wrap = &lt;ul&gt;|&lt;/ul&gt;</code> umschliesst das gesamte Menü mit den Tags UL. Dadurch wird eine unsortierte Liste generiert. <code>NO.allWrap = &lt;li&gt;|&lt;/li&gt;</code> ist dafür zuständig die einzelnen Menüpunkte mit List-Item-Tags zu versehen. Ich versehe die Beschriftung noch zusätzlich mit einem DIV: <code>NO.linkWrap = &lt;div class=&quot;caption&quot;&gt;|&lt;/div&gt;</code>. Das ist nicht unbedingt notwendig und kann je nach Bedarf anders gewählt werden.</p>
<p style="MARGIN-BOTTOM: 0cm"><strong>Template-TS (Auszug)</strong></p>
<p class="userstyle-code-block"><code>&nbsp;NO.beforeImg = GIFBUILDER<br />NO.beforeImg<br />{<br />format = jpg<br />#definiere groese des bildes im menue<br />XY = 105,70<br />10 = IMAGE<br />10.file<br />{<br />#bild aus media-feld holen<br />import = uploads/media/<br />import.field = media<br />import.listNum = 0<br />}<br /># bild wird grau dargestellt wenn punkt nicht angewaehlt<br />30 = EFFECT<br />30.value = gray<br />}<br /></code></p>
<p style="MARGIN-BOTTOM: 0cm">Für die Darstellung der Grafik ist <code>NO.beforeImg</code> zuständig. Falls das Bild nach dem Text des Menüpunkts dargestellt werden soll kann auch <code>NO.afterImg</code> verwendet werden.</p>
<p style="MARGIN-BOTTOM: 0cm">Dieses Beispiel zeigt, wie dafür ein Bild aus dem Medien-Feld der Seite genommen, und entsprechend konvertiert werden kann.</p>
<p style="MARGIN-BOTTOM: 0cm">Dieses Menü geht davon aus, dass das Bild für die Seite als erstes Element im Medien-Feld steht (Achtung: Um Medien angeben zu können, muss der Seitentyp <em>Advanced</em> gewählt werden.</p>
<p style="MARGIN-BOTTOM: 0cm">Dieser Abschnitt weist Typo3 an, die Grafik für das Menü aus dem Media-Feld zu nehmen und durch den GIFBUILDER zu jagen. Dabei wird in diesem Beispiel davon ausgegangen, dass die Grafik 105 x 70 Pixel gross ist. Durch die Angabe des Effekts „gray“wird das Bild in S/W konvertiert.</p>
<p style="MARGIN-BOTTOM: 0cm">Natürlich können auch andere Grössen gewählt werden (einfach bei XY die anderen Werte angeben) und gegebenenfalls – falls nicht sicher gestellt ist, dass das Bild in der richtigen Grösse vorliegt – mit SCALE sklalieren. Mehr Infos dazu in der Doku des GIFBUILDER.</p>
<p>Bei Mouse-Over (in TMENUITEM ist dafür das Feld RO bzw. NO.beforeROImg zuständig) soll das Bild in Farbe, also ohne S/W-Konvertierung dargestellt werden. Für diesen Zweck wird die Deklaration von NO.beforeImg mit &lt; in NO.beforeROImg kopiert und das für den Grau-Effekt zuständige Feld value mit einem Leerstring überschrieben. Es wird also auf die Grafik kein Effekt ausgeführt.</p>
<p><strong>Template-TS (Auszug):</strong></p>
<p class="userstyle-code-block"><code>NO.RO = 1<br />NO.beforeROImg &lt; .NO.beforeImg<br />NO.beforeROImg {<br /># Bild nicht in Grau konvertieren bei Roll-Over<br />30.value =<br />}</code></p>
<p style="MARGIN-BOTTOM: 0cm">Die Menü-Stati <em>ACT </em>und <em>CUR </em>bekommen die Deklaration von NO zugewiesen wobei der Filter auch für beforeImg überschrieben wird, da das Bild der aktuellen Seite in Farbe dargestellt werden soll. Zusätzlich wird dem div um den Link-Text mit <code>ACT.linkWrap = &lt;div class=&quot;caption caption-active&quot;&gt;|&lt;/div&gt;</code> noch eine weitere Klasse zugewiesen</p>
<p style="MARGIN-BOTTOM: 0cm">Natürlich kann das CSS beliebig gestaltet werden. Für den Test wurde folgendes CSS verwendet:</p>
<p style="MARGIN-BOTTOM: 0cm"><strong>Beispiel-CSS:</strong></p>
<p class="userstyle-code-block"><code>#top_menu ul<br />{<br />margin-left: 10px;<br />line-height: 1em;<br />list-style: none;<br />position: absolute;<br />left: 0px;<br />top: 77px;<br />line-height: 1.4em;<br />}<br />#top_menu ul li<br />{<br />text-align: center;<br />float: left;<br />width: 125px<br />}<br />#top_menu ul li .caption<br />{<br />display: table-cell;<br />vertical-align: middle;<br />width: 125px;<br />height: 38px;<br />}<br />#top_menu ul li .caption-active a,<br />#top_menu ul li .caption-active a:link,<br />#top_menu ul li .caption-active a:visited<br />{<br />color: #FFFFFF;<br />}</code></p>
<p style="MARGIN-BOTTOM: 0cm">Ich gehe in dem Beispiel davon aus, dass sich das Menü in einem DIV mit der ID top_menu befindet. Dieses CSS bildet nebeneinander stehende Menüpunkte, jeweils mit jeweils einem mit Text unterschriebenen Bild.</p>
<p>&nbsp;</p>
<p style="MARGIN-BOTTOM: 0cm">&nbsp;</p>]]></content:encoded>
            <category>Typo3</category>
			<category>Tutorial</category>
			
            <author>prucha@helicon.at</author>
            <pubDate>Fri, 11 May 2007 21:05:00 +0200</pubDate>
        </item>
        
        <item>
            <title>Beispiel-HTML-Code im Text darstellen.</title>
            <link>http://www.webkontext.net/artikel/archiv/2007/may/artikel/beispiel-html-code-im-text-darstellen/</link>
            <description>Die Standard-Konfiguration des RTE hat die Angewohnheit auch bekannte Tags die im WYSIWYG-Modus des RTE eingegeben wurden in &quot;echte&quot; Tags zu verwandeln, was bei der Eingabe von HTML-Beispielen in Texten zur Verzweiflung führen kann. Eine Abhilfe.</description>
            <content:encoded><![CDATA[<p>Der von der Standard-Konfiguration von Typo3 gewählte Ansatz, auch im WYSIWYG-Modus (also nicht in der HTML-Ansicht) eingegebene Tags im Quelltext zu erhalten und nicht in &lt;tag&amp;qt; zu verwandeln ist an und für sich nicht so dumm. Es ist nun mal wesentlich schneller und einfacher &lt;b&gt;Mein fetter Text&lt;/b&gt; einzugeben, als den hervorzuhebenden Text nachher extra zu markieren und per Button fett zu stellen.</p>
<p>Allerdings hat dieser Lösungsweg auch den Nachteil, dass es so sehr mühsam bis unm�glich wird HTML-Beispielcode in den Quelltext einzufügen, da dem RTE bekannte Tags nun als &quot;echte&quot; tags und nicht als Beispielcode interpretiert würde.</p>
<p>Um htmlArea dies abzugwöhnen und tags als Klartext zu erhalten sind nur zwei Zeilen in der Page-TSconfig notwendig:</p>
<p><strong>Page-TSConfig:</strong><code>RTE.default.proc {<br />dontHSC_rte = 1<br />dontUndoHSC_db = 1<br />}</code></p>
<pre>&nbsp;</pre>]]></content:encoded>
            <category>Typo3</category>
			
            <author>prucha@helicon.at</author>
            <pubDate>Thu, 03 May 2007 21:00:00 +0200</pubDate>
        </item>
        
        <item>
            <title>Microsofts Internet-Explorer voran</title>
            <link>http://www.webkontext.net/artikel/archiv/2007/april/artikel/microsofts-internet-explorer-voran/</link>
            <description>Microsofts Webbrowser liegen mit einem Marktanteil von 85,81% unangefochten an der Spitze.</description>
            <content:encoded><![CDATA[<p>Laut der aktuellen Statistik von Onestat (<a href="http://www.onestat.com/" target="_blank" title="">www.onestat.com</a>) liegt der Webbrowser aus Redmond (alle Versionen bis 7.0) mit einem Marktanteil von 85,81% unangefochten an der Spitze. Gefolgt wird Microsofts Browser laut der aktuellen Analyse des holländischen Webanalyse-Spezialisten von Mozilla Firefox mit 11,69%. Die neueste Version des Internet-Explorers 7.0 liegt mit 10,97% dem OpenSource Projekt Firefox dabei ganz dicht auf den Fersen, abgeschlagen sind Apple Safari (1,64%), Opera (0,58%) und Netscape (0,13%).</p>
<p>In Deutschland ist die Dominanz von Microsoft nicht ganz so stark, der Browser Firefox von der Mozilla-Foundation kann hier mit einem Marktanteil von über einem Viertel aller User Microsoft doch etwas Paroli bieten. Microsoft hält hier bei 69,47%, Firefox hat 25,66%, Opera 2,1%, Apples Safari 1,22% und weit abgeschlagen liegt Netscape mit 0,22$.</p>
<p>Quelle: Onestat, <a href="http://www.onestat.com/" target="_blank" title="">www.onestat.com</a></p>]]></content:encoded>
            <category>Allgemeines</category>
			<category>Browser</category>
			
            
            <pubDate>Thu, 26 Apr 2007 18:17:00 +0200</pubDate>
        </item>
        
        <item>
            <title>Google-AdWords in der Qualitätsoffensive (via Ecin)</title>
            <link></link>
            <description>Um die Treffer bei den AdWords relevanter zu machen, will Google ungenauen Anzeigen das Leben schwer machen. Das heißt Preise erhöhen für die schlechte und senken für die gute Werbung. Relevanz ist das Stichwort, dem sich das Google AdWords-Programm verpflichtet fühlt. Denn wenn gekaufte Anzeigen zu einem Stichwort nicht passen, bekommen nicht nur die Werbetreibenden und Google weniger Aufmerksamkeit, sonder auch die User sind genervt.</description>
            <content:encoded><![CDATA[]]></content:encoded>
            <category>Marketing</category>
			
            
            <pubDate>Fri, 16 Mar 2007 10:07:00 +0100</pubDate>
        </item>
        
        <item>
            <title>Browserweichen und Hacks für den IE</title>
            <link>http://www.webkontext.net/artikel/archiv/2007/march/artikel/browserweichen-und-hacks-fuer-den-ie/</link>
            <description>HTML- und CSS-Hacks für den Internet-Explorer sind weit verbreitet und viele Web-Pages beschreiben sie. Leider werden dabei oft die grundlegenden Informationen wie der Hack funktioniert nicht mitbeschrieben.</description>
            <content:encoded><![CDATA[<p>Fast jeder Webdesigner oder Entwickler kommt früher oder später in die Verlegenheit einen Hack oder Workaround für den Internet-Explorer verwenden zu müssen, da der IE die Seite nicht richtig darstellt. Alle möglichen Hacks- und Workarounds sind im Internet beschrieben, doch leider fehlen oft die grundlegenden Informationen wie dieser Hack funktioniert. Dabei können diese Informationen wichtig sein, um den Hack auch auf andere Probleme umzulegen.</p>
<p>Grundsätzlich funktionieren die Hacks meistens nach einem bestimmten Schema: Man nützt eine Schwäche oder Bug des Internet Explorers aus, um eine andere Schwäche oder Bug zu umgehen. Klingt pervers, ist es auch</p>
<p class="userstyle-attention">Grundätzlich sollte auf Hacks so weit wie möglich verzichtet werden,&nbsp; da sie immer einen Missbrauch von HTML/CSS darstellen und nie sicher gestellt ist, dass der Hack noch in der nächsten Version von IE den gewünschten Effekt erzielt</p>
<p>Nur manchmal lassen sich Hacks nun mal nicht vermeiden. Besondere Kundenwünsche können Webdesigner dazu zwingen Deklarationen verwenden zu müssen, die im IE nun mal ohne Hack nicht richtig funktionieren.</p>
<h1>Conditionals in HTML</h1>
<p>Die verwendung von Conditionals in HTML stellt an sich eigentlich keine Hack dar und ist sicher die sauberste Variante um für den Internet Explorer zusätzliche oder andere CSS-Deklarationen zu verwenden. </p>
<p class="userstyle-code-block"><strong>Beispiel-HTML-Header:</strong><code>&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;allgemein.css&quot; /&gt;<br /><br />&lt;!--[if IE]&gt;<br />  &lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;nur-ie.css&quot; /&gt;<br />&lt;![endif]--&gt;</code></p>
<p class="userstyle-attention">Diese Art von Browserweiche nützt keinen IE-Bug aus und ist daher eine der Zukunftssicheren. Trotzdem ist anzumerken, dass sie nicht HTML-Standard sind.</p>
<p>Die Browserweiche ist relativ flexibel und bietet auch Operatoren und die Abfrage bestimmter Versionen des IE: </p><table class="table" style="width: 80%;"><tbody><tr><th style="width: 20%;" align="left">Operator</th>   <th style="width: 80%;" align="left">Erläuterung / Beispiel</th>  </tr>  <tr class="u">   <td>!</td>   <td>Nicht-Operator.<br /><code>&lt;!--[if !IE]&gt; Wenn nicht Internt Explorer  &lt;![endif]--&gt;</code></td>  </tr>  <tr class="g">   <td>lt</td>   <td>Kleiner-als-Operator.<br /><code>&lt;!--[if lt IE 6]&gt; Wenn Internet Explorer kleiner Version 6 verwendet wird  &lt;![endif]--&gt;</code></td>  </tr>  <tr class="u">   <td>lte</td>   <td>Kleiner-Gleich-Operator.<br /><code>&lt;!--[if lte IE 5.5]&gt; Wenn Internet Explorer kleiner oder gleich Version 5.5 verwendet wird  &lt;![endif]--&gt;</code></td>  </tr>  <tr class="g">   <td>gt</td>   <td>Größer-als-Operator.<br /><code>&lt;!--[if gt IE 5]&gt; Wenn Internet Explorer grösser Version 5 verwendet wird  &lt;![endif]--&gt;</code></td>  </tr>  <tr class="u">   <td>gte</td>   <td>Grösser-Gleich-Operator.<br /><code>&lt;!--[if gte IE 6]&gt; Wenn Internet Explorer 6 oder neuer verwendet wird&lt;![endif]--&gt;</code></td></tr></tbody></table><p>Bekannte Werte für den Vergleich sind</p>
<p>&nbsp;</p><table class="contenttable"><thead><tr><th align="left">Wert</th><th align="left">Version</th></tr></thead><tbody><tr><td>IE</td><td>Alle Internet Explorer Versionen</td></tr><tr><td rowspan="1">IE 5</td><td rowspan="1">Internet Explorer 5</td></tr><tr><td rowspan="1">IE 5.5</td><td rowspan="1">Internet Explorer 5.5</td></tr><tr><td rowspan="1">IE 6</td><td rowspan="1">Internet Explorer 6</td></tr><tr><td rowspan="1">IE 7</td><td rowspan="1">Internet Explorer 7<br /> </td></tr></tbody></table><h1>Javascript-Bugfixes für den IE</h1>
<p>Im Internet finden sich mittlerweile einige interessante Javascript-Libraries die versuchen Probleme des IE zu umgehen.</p>
<p>Besonders bemerkenswert und umfangreich ist <a href="http://dean.edwards.name/" title="Öffnet einen externen Link in einem neuen Fenster" target="_blank" class="external-link-new-window" title="">Dean Edwards</a> Projekt <a href="https://sourceforge.net/projects/ie7/" title="Öffnet einen externen Link in einem neuen Fenster" target="_blank" class="external-link-new-window" title=""><em>IE7 {css2: auto}</em></a></p>
<p>Dieses Projekt hat nicht direkt etwas mit dem Internet Explorer 7 zu tun. Im Gegenteil. Das Projekt stammt aus dem Jahre 2004 und versuchte damals schon die gröbsten CSS-Probleme des Internet Explorers zu umgehen. Ein äusserst interessantes Projekt, aber leider noch in der Alpha-Version.</p>
<h1>Der * html Hack </h1>
<p>Mit dem * html Hack lassen sich bedingte Deklarationen für den Internet Explorer erzielen.</p>
<p>Verschachtelte CSS-Deklarationen werden immer von aussen nach innen interpretiert.&nbsp; So besagt beispielsweise die Deklaration&nbsp; a.mein-absatz&nbsp; code {....},&nbsp; dass die angegebene Formatierung für in code-tags eingeschlossene Bereiche nur dann verwendet werden soll, wenn sie sich innerhalb eines Absatzes mit der Klasse mein-absatz befindet.</p>
<p class="userstyle-attention">Im Internet-Explorer 7 gibt es mit diesem Hack im strict-modus Probleme. Daher ist die Verwendung nicht unbedingt empfehlenswert.</p>
<p>* html bedeutet also, dass sich das html-element in &quot;irgendwas&quot; befinden muss. Nun ist es aber so, dass alle Browser ausser dem Internet-Explorer html als das Root-Element betrachten. Das ist logisch, weil &lt;html&gt; nicht in andere Tags eingeschlossen wird, und daher * html eigentlich unsinnig ist. </p>
<p><strong>Typischer HTML-Code:</strong></p>
<p class="userstyle-code-block"><code>&lt;html&gt;<br />&nbsp; &lt;head&gt;<br />&nbsp; &nbsp; ....<br />&nbsp; &lt;/head&gt;<br />&nbsp; &lt;body&gt;<br />&nbsp;&nbsp;&nbsp; ....<br />&nbsp; &lt;/body&gt;<br />&lt;/html&gt;</code></p>
<p>Ausserhalb von html ist nichts mehr. * html ist also eigentlich eine unsinnige, aber trotzdem syntaktisch valide Deklaration. Der Hack nützt aus, dass der Internet Explorer im Gegensatz zu allen anderen Browsern diese unsinnige Deklaration interpretiert. </p>
<p>Das Risiko ist also, dass IE auch </p>
<p>Daruch lassen sich allgemeine Deklarationen so überschreiben, dass sie nur vom IE interpretiert werden:</p>
<p class="userstyle-code-block"><strong>Test-HTML-Code:</strong><code>&lt;html&gt;<br />&lt;head&gt;<br /><br />&nbsp; &lt;style type=&quot;text/css&quot;&gt;<br /><br />&nbsp;&nbsp;&nbsp; /* Die allgemeine Deklaration */<br /><br />&nbsp;&nbsp;&nbsp; .mein-test {<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; font-weight: bold;<br />&nbsp;&nbsp;&nbsp; }<br /><br />&nbsp;&nbsp;&nbsp; /* und hier nur für den IE */<br /><br /><br />&nbsp;&nbsp;&nbsp; * html .mein-test {<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; font-weight: normal;<br />&nbsp;&nbsp;&nbsp; }<br /><br /><br />&nbsp; &lt;/style&gt;<br /><br />&lt;/head&gt;<br />&lt;body&gt;<br />&nbsp; &lt;p&gt;Ich teste hier wie &lt;span class=&quot;mein-test&quot;&gt;die Klasse mein-test&lt;/span&gt; dargestellt wird.&lt;p&gt;<br />&lt;/body&gt;<br />&lt;/html&gt;</code></p>
<p>Auf allen Browsern ausser dem IE wird</p>
<pre>Ich teste hier wie <strong>die Klasse mein-test</strong> dargestellt wird.</pre>
<p align="left">angezeigt wird. Nur beim IE erscheint</p>
<pre>Ich teste hier wie die Klasse mein-test dargestellt wird.</pre>
<p align="left">Was für diesen Test genau der gewünschte Effekt ist.</p>
<p align="left">&nbsp;</p>
<h1>Fazit</h1>
<p>Auf Browswerweichen und Hacks kann derzeit leider nur selten verzichtet werden. Design-Ansprüche von Kunden zwingen Web-Designer dazu auch CSS zu verwenden, das vom Internet Explorer ohne Hack und Workaround nicht richtig dargestellt wird, was leider immer wieder zu Mehraufwand und Mehrkosten bei Web-Projekten führt. Hacks die ihrerseits wieder Bugs des IE ausnützen sollten dabei aber weitgehend vermieden werden, da nie auszuschliessen ist, dass Microsoft genau den ausgenützten Bug in zukünfigten Versionen beheben wird. Der Einsatz von Browserweichen auf basis von Conditionals in HTML stellt derzeit die sicherste Methode dar um spezielle Deklarationen für den IE zu verwenden. </p>
<p>&nbsp;</p>]]></content:encoded>
            <category>Browser</category>
			<category>HTML/CSS</category>
			
            <author>prucha@helicon.at</author>
            <pubDate>Tue, 06 Mar 2007 16:17:00 +0100</pubDate>
        </item>
        
        <item>
            <title>Default-CSS des Browsers anzeigen</title>
            <link>http://www.webkontext.net/artikel/archiv/2007/march/artikel/default-css-des-browsers-anzeigen/</link>
            <description>Wer sich schon öfter gewundert hat wie denn die Tags im CSS vordefiniert sind, kann das im Firefox leicht herausfinden</description>
            <content:encoded><![CDATA[<p>Manchmal kann es durchaus interessant sein zu wissen, wie diverse HTML-Elemente in CSS standardmässig deklariert sind. Im Firefox ist das recht leicht herauszufinden:</p>
<p>Diese Links zeigen die Default-CSS-Deklartion des Firefox an:</p>
<p>resource:///res/html.css (Standard-Deklaration)</p>
<p>resource:///res/forms.css (Form-Elemente)</p>
<p>resource:///res/quirk.css (Abweichungen für den Quirk-Mode)</p>]]></content:encoded>
            <category>Browser</category>
			<category>HTML/CSS</category>
			
            <author>prucha@helicon.at</author>
            <pubDate>Sat, 03 Mar 2007 23:13:00 +0100</pubDate>
        </item>
        
        <item>
            <title>CODE-Tag für Typo3</title>
            <link>http://www.webkontext.net/artikel/archiv/2007/march/artikel/code-tag-fuer-typo3/</link>
            <description>Für vorformatierten Sourcecode gibt es in HTML den tag CODE. Dieser Artikel zeigt wie dieses Tag in Typo3 verwendet werden kann.
</description>
            <content:encoded><![CDATA[<p>Der tag <em>CODE</em> ist dafür vorgesehen, Teile von Text als Computercode auszuzeichnen. Standardm�ssig zeigen Browser in CODE-Tags eingebetteten Text in Monotype-Fonts (also beispielsweise Courier) dar.Typo3 kennt in der Default-Konfiguration den Code-Tag nicht. Um ihn zu verwenden sind ein sowohl im Template als auch in der RTE-Konfiguration ein paar Einstellungen vorzunehmen, da Typo3 den Tag sonst verwirft bzw. in lesbaren Text konvertiert.Zuerst die im Template vorzunehmenden Einstellungen:</p>
<p class="userstyle-code-block">&nbsp;</p>
<pre><code>styles.content.links {<br />&nbsp; allowTags := addToList(code)<br />}</code></pre>
<p>&nbsp;</p>
<p>===</p>
<p><strong>styles.content.links {<br />&nbsp; allowTags := addToList(code)<br />}</strong></p>
<p>===</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>Damit kennt Typo3 mal das Code-Tag und es wird nicht mehr verworfen.</p>
<p class="userstyle-attention">Achtung: addToList ist erst ab Typo3 Version 4 verf�gbar und h�ngt den in Klammer stehenden wert an den bestehenden Wert an. In älteren Versionen von Typo3 muss die gesamte Liste der erlaubten Tags angef�hrt werden.</p>
<p>Wer den RTE verwendet muss noch eine Deklaration im Page-TScript vornehmen, damit der Editor den Tag kennt und ihn nicht beim Speichern verwirft.</p>
<p>Dies geschicht durch folgende Zeilen in der Page-TScript der obersten Seite des Baumes:</p>
<p><strong>Page-TScript:</strong><code>RTE.default {<br /><br />&nbsp;&nbsp; &nbsp;## sicherstellen dass die angef�hrten Tags zulässig sind und nicht verworfen werden<br />&nbsp;&nbsp; &nbsp;<br />&nbsp;&nbsp; &nbsp;proc.allowTags := addToList(div, code)<br /><br />&nbsp;&nbsp; &nbsp;## sicherstellen dass die angeführten Tags zulässig sind und nicht verworfen werden<br />&nbsp;&nbsp; &nbsp;<br />&nbsp;&nbsp; &nbsp;proc.allowTagsOutside := addToList(div, code)<br /><br />&nbsp;&nbsp; &nbsp;#<br />&nbsp;&nbsp; &nbsp;# proc.entryHTMLparser_db: Umsetzung für Editor-&gt;DB konfigurieren<br />&nbsp;&nbsp; &nbsp;#<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; proc.entryHTMLparser_db {<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; allowTags &lt; RTE.default.proc.allowTags<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; allowTagsOutside &lt; RTE.default.proc.allowTagsOutside<br />&nbsp;&nbsp; &nbsp;}<br />&nbsp;&nbsp; &nbsp;<br />&nbsp;&nbsp; &nbsp;#<br />&nbsp;&nbsp; &nbsp;# proc.HTMLparser_rte: Umsetzung f�r DB-&gt;Editor konfigurieren<br />&nbsp;&nbsp; &nbsp;#<br /><br />&nbsp;&nbsp; &nbsp;proc.HTMLparser_rte {<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; allowTags &lt; RTE.default.proc.allowTags<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; allowTagsOutside &lt; RTE.default.proc.allowTagsOutside<br />&nbsp;&nbsp; &nbsp;}<br /><br /><br />}</code>Um es den Benutzer einfacher zu machen Code-Blöcke schneller einzufügen kann es auch noch hilfreich sein, für diesen Zweck ein benutzerdefiniertes Element zu erstellen. Dies geschicht auch im Page-TScript:</p>
<p>&nbsp;</p>
<p><strong>Page-TScript:</strong><code>RTE.default {<br /><br />&nbsp; &nbsp; ## Zus�tzliche Buttons für den RTE - Zeigt Button &quot;User-Elemente&quot; im RTE an.          <br /><br />&nbsp; &nbsp; showButtons := addToList(user)     <br /><br />&nbsp;&nbsp;&nbsp; #<br />&nbsp;&nbsp;&nbsp;     # Userelement definieren     <br />&nbsp;&nbsp;&nbsp; #     <br /><br />&nbsp;&nbsp;&nbsp; userElements.10.7 = SourceCode     <br />&nbsp;&nbsp;&nbsp; userElements.10.7 {             <strong></strong><br />&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp; description = F�gt einen Block Source Code ein. Verwendet dafür Code-Tags             <br />&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp; mode = wrap         <br />&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp; content = &lt;p&gt;&lt;b&gt;Code:&lt;/b&gt;&lt;code&gt;|&lt;/code&gt;&lt;/p&gt;<br />&nbsp;&nbsp;&nbsp; }<br />}<br /> </code></p>]]></content:encoded>
            <category>Typo3</category>
			<category>Tutorial</category>
			
            <author>prucha@helicon.at</author>
            <pubDate>Sat, 03 Mar 2007 20:45:00 +0100</pubDate>
        </item>
        
        <item>
            <title>Saubere URLs ohne mod_rewrite</title>
            <link>http://www.webkontext.net/artikel/archiv/2007/march/artikel/saubere-urls-ohne-mod-rewrite/</link>
            <description>Für ein PHP-Projekt habe ich einige Zeit gerätselt wie ich am besten dynamischen Content dynamisch präsentieren, aber gleichzeitig so &qu