<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>jerie.de</title>
	<atom:link href="http://jerie.de/feed/" rel="self" type="application/rss+xml" />
	<link>http://jerie.de</link>
	<description>Styles für über 16.5 Millionen</description>
	<lastBuildDate>Mon, 10 Oct 2011 08:06:05 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>CSS3 NavigationBar</title>
		<link>http://jerie.de/css/css-navigationbar/</link>
		<comments>http://jerie.de/css/css-navigationbar/#comments</comments>
		<pubDate>Thu, 06 Oct 2011 10:24:41 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[CSS]]></category>
		<category><![CDATA[CSS3]]></category>
		<category><![CDATA[Gradient]]></category>

		<guid isPermaLink="false">http://jerie.de/?p=134</guid>
		<description><![CDATA[For a recent project I created a navigation bar and css only styled buttons. As it is no longer used for the project feel free to use it on your own. It&#8217;s still &#8220;work in progress&#8221; and can be tweaked. &#8230; <a href="http://jerie.de/css/css-navigationbar/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>For a recent project I created a navigation bar and css only styled buttons. As it is no longer used for the project feel free to use it on your own. It&#8217;s still &#8220;work in progress&#8221; and can be tweaked. But you get the idea.<br />
<span id="more-134"></span><br />
<a href="http://jerie.de/wp-content/uploads/2011/10/nav-button.jpg"><img class="alignnone size-full wp-image-135" title="nav-button" src="http://jerie.de/wp-content/uploads/2011/10/nav-button.jpg" alt="" width="578" height="398" /></a></p>
<p><strong>Annotation:</strong><br />
As I wanted to style the links (a class=&#8221;tab-button&#8221;) without any additional elements it&#8217;s a must have to set the title attribute the same as the link text. You have to play with padding on the .tab-button and .tab-button::before to fit your needs. You can also add a span to the link and use the same css as its used for the .tab-bar (ul = a, li = span).</p>
<h2>Markup</h2>
<pre class="qoate-code">
&lt;ul class="tab-bar"&gt;
	&lt;li&gt;Link 1&lt;/li&gt;
	&lt;li class="active"&gt;Link 2&lt;/li&gt;
	&lt;li&gt;Link 3&lt;/li&gt;
&lt;/ul&gt;

&lt;hr /&gt;

&lt;a class="tab-button" title="Button 1" href="#"&gt;Button 1&lt;/a&gt;
&lt;a class="tab-button active" title="Button 2" href="#"&gt;Button 2&lt;/a&gt;
</pre>
<h2>CSS</h2>
<pre class="qoate-code">
ul
{
	list-style: none outside none;
}
.tab-bar,
.tab-button
{
	border-radius: 8px;
	overflow: hidden;
	background-image: -moz-linear-gradient(center bottom , #fff 30%, #c6c5c5 75%);
	background-image: -webkit-gradient(linear,left bottom,left top,color-stop(0.3, #fff),color-stop(0.75, #c6c5c5));
	padding: 3px;
}
.tab-bar li:first-child {
    border-bottom-left-radius: 8px;
    border-top-left-radius: 8px;
}
.tab-bar li:last-child {
    border-bottom-right-radius: 8px;
    border-top-right-radius: 8px;
}

.tab-button::before,
.tab-button.active::before
{
    content: attr(title);
	position: absolute;
	border-radius: 8px;
	padding: 0 20px;
	top: 3px;
	left: 3px;
}
.tab-bar li
{
	float: left;
	width: 33.333%;
	margin: 0 -1px;
	padding: 10px 0;
}
.tab-bar li,
.tab-button::before,
.tab-button.active::before
{
    border: 1px solid #aeaeae;
    text-align: center;
 	text-shadow: 1px 1px 0 #fff;
	background-image: 	-webkit-gradient(linear,left bottom, left top, color-stop(0, #CCCCCC),color-stop(1, #EEEEEE));
	background-image: 	-moz-linear-gradient(center bottom, #ccc 0%, #eee 100%);
}
.tab-button
{
 	line-height: 2em;
    padding: 5px 20px 19px 28px;
	position: relative;
}

.tab-bar li.active,
.tab-button.active::before
{
    background: none repeat scroll 0 0 #b8b8b8;
    box-shadow: 2px 2px 6px -4px inset;
 	text-shadow: none;
}
</pre>
]]></content:encoded>
			<wfw:commentRss>http://jerie.de/css/css-navigationbar/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Magento Hauptnavigation aufteilen / Themenwelten</title>
		<link>http://jerie.de/thisnthat/magento-hauptnavigation-aufteilen-themenwelten/</link>
		<comments>http://jerie.de/thisnthat/magento-hauptnavigation-aufteilen-themenwelten/#comments</comments>
		<pubDate>Thu, 28 Jan 2010 11:31:17 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Magento]]></category>
		<category><![CDATA[This & That]]></category>
		<category><![CDATA[Tricks]]></category>

		<guid isPermaLink="false">http://jerie.de/?p=116</guid>
		<description><![CDATA[Für ein aktuelles Projekt möchte ich neben der Standardnavigation für Kategorien (z.B. Bücher, DVD, Elektronik) eine alternative Navigation anlegen. In dieser Navigation bewegt man sich in Themenwelten, z.B. &#8220;Alles für&#8217;s Weinachtsfest&#8221;, &#8220;Präsente für den Valentinstag&#8221;&#8230; Die Navigationen sollen unabhängig voneinander &#8230; <a href="http://jerie.de/thisnthat/magento-hauptnavigation-aufteilen-themenwelten/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Für ein aktuelles Projekt möchte ich neben der Standardnavigation für Kategorien (z.B. Bücher, DVD, Elektronik) eine alternative Navigation anlegen. In dieser Navigation bewegt man sich in Themenwelten, z.B. &#8220;Alles für&#8217;s Weinachtsfest&#8221;, &#8220;Präsente für den Valentinstag&#8221;&#8230;<br />
<span id="more-116"></span><br />
Die Navigationen sollen unabhängig voneinander und an unterschiedlichen Stellen auf der Webseite angezeigt werden.<br />
Außerdem sollen sie möglichst komfortabel über die Administration gepflegt und jederzeit verändert und erweitert werden können.</p>
<p>Scribbel der geplanten Platzierung:<br />
<img src="http://jerie.de/wp-content/uploads/2010/01/menu-special.jpg" alt="menu-special" title="menu-special" width="578" height="264" class="alignnone size-full wp-image-119" /></p>
<h2>Vorüberlegung:</h2>
<p>Liegen die Kategorien der Hauptnavigation (oben) und die Kategorie &#8220;Themenwelten&#8221; in der selben Rootkategorie, so kann das Hauptmenu abgebildet werden, indem die Kategorie &#8220;Themenwelten&#8221; einfach ausgeblendet wird.</p>
<p>Die zweite Navigation (links) soll nur die Kindelemte (Weihnachten, Valentinstag&#8230;) der Kategorie &#8220;Themenwelten&#8221; anzeigen.</p>
<h2>Anlegen der Kategorien in der Administration:</h2>
<p><img src="http://jerie.de/wp-content/uploads/2010/01/menu-admin.jpg" alt="menu-admin" title="menu-admin" width="578" height="372" class="alignnone size-full wp-image-120" /><br />
Zunächst lege ich die Kategorien in der Administration an. Die entsprechende Struktur zeigt der Screenshot. &#8220;root-1&#8243; ist die Rootkategorie meines Shops. Für die nächsten Schritte benötigen wir die ID der Kategorie &#8220;Themenwelten&#8221;. In meinem Fall ist das die &#8220;12&#8243;.</p>
<p>Sind alle Kategorien angelegt und werden im Frontend angezeigt, kann es jetzt weitergehen.</p>
<h2>Ausblenden der Kategorie Themenwelten (ID 12)</h2>
<p><strong>Anmerkung:</strong> meine Ausführungen beziehen sich auf das Default Theme. Es kann möglich sein, dass die Dateien bei Ihnen anders heißen.</p>
<p>Datei: <strong>magento/app/design/frontend/deinpackage/deintheme/template/navigation/top.phtml</strong></p>
<p>Hier werden die Menuelemente ausgegeben. Wir suchen:</p>
<pre class="qoate-code">
&lt;?php foreach ($this-&gt;getStoreCategories() as $_category): ?&gt;&lt;br /&gt;
&lt;?php echo $this-&gt;drawItem($_category) ?&gt;&lt;br /&gt;
&lt;?php endforeach ?&gt;
</pre>
<p>Und ersetzen zu:</p>
<pre class="qoate-code">
&lt;?php foreach ($this-&gt;getStoreCategories() as $_category): ?&gt;&lt;br /&gt;
&lt;?php if($_category-&gt;getData('entity_id') == 12): ?&gt;&lt;br /&gt;
&lt;?php else: ?&gt;&lt;br /&gt;
&lt;?php echo $this-&gt;drawItem($_category) ?&gt;&lt;br /&gt;
&lt;? endif ?&gt;&lt;br /&gt;
&lt;?php endforeach ?&gt;
</pre>
<p>Vergewissern Sie sich, dass Sie bei in Zeile 2 die ID verwenden, die für Ihr Setup gilt.<br />
Ein kurzer Check im Frontend und die Kategorie Themenwelten sollte nicht mehr angezeigt werden.</p>
<h2>Zweite Navigation (Themenwelten) erstellen</h2>
<p>In: <strong>magento/app/design/frontend/deinpackage/deintheme/template/navigation/</strong> erstellen wir eine neue Datei <strong>special.phtml</strong> und schreiben einen kurzen Blindtext hinein um später prüfen zu können, ob im Frontend auch etwas ankommt.</p>
<p>Jetzt muss der Block für das neue Menu in den Layout Dateien (XML) eingetragen werden.<br />
In: <strong>magento/app/design/frontend/deinpackage/deintheme/layout/page.xml</strong> ergänze ich im Block für die Linke Spalte (left), also in:</p>
<pre class="qoate-code">
&lt;block type=&quot;core/text_list&quot; name=&quot;left&quot; as=&quot;left&quot; translate=&quot;label&quot;&gt;
</pre>
<p>den Block für das Menu:</p>
<pre class="qoate-code">
&lt;block type=&quot;core/text_list&quot; name=&quot;special.menu&quot; as=&quot;specialMenu&quot;/&gt;
</pre>
<p>In: <strong>magento/app/design/frontend/deinpackage/deintheme/layout/catalog.xml</strong> ergänze ich in der default Sektion:</p>
<pre class="qoate-code">
&lt;reference name=&quot;special.menu&quot;&gt;&lt;br /&gt;
&lt;block type=&quot;catalog/navigation&quot; name=&quot;catalog.specialnav&quot; template=&quot;catalog/navigation/special.phtml&quot;/&gt;&lt;br /&gt;
&lt;/reference&gt;
</pre>
<p>Das sollte es jetzt schon gewesen sein. Machen wir den Check ob im Frontend unser Blindext in der linken Spalte erscheint. Jawoll. Alles Da.<br />
Falls nicht, kann es sein, dass sie in der phtml-Datei die Ihre akteulle Page verwendet (1column.ptml, 2columns-left.phtml &#8230;) an der entsprechenden Stelle noch: </p>
<pre class="qoate-code">
&lt;?php echo $this-&gt;getChildHtml('specialMenu') ?&gt;
</pre>
<p>eintragen müssen.</p>
<h2>Menuelemte aus der Themenkategorie ausgeben</h2>
<p>Datei: <strong>magento/app/design/frontend/deinpackage/deintheme/template/navigation/special.phtml</strong></p>
<p>Hier will ich nun die Kindelemente der Kategorie mit ID 12 ausgeben. Die Ausgabe erfolgt als einfache unsortierte Liste und kann sehr einfach über CSS gestaltet werden. Da ich keine weiteren Unterebenen habe ist es recht simpel. </p>
<p>Copy &#038; Paste</p>
<pre class="qoate-code">
&lt;ul id=&quot;nav-specials&quot;&gt;&lt;br /&gt;
&lt;?php $parentCategoryId = 12; // set correct parent category id&lt;br /&gt;
foreach (Mage::getModel('catalog/category')-&gt;load($parentCategoryId)-&gt;getChildrenCategories() as $childCategory) &lt;br /&gt;
{ ?&gt;&lt;br /&gt;
&lt;li&gt;&lt;a href=&quot;&lt;?php echo $childCategory-&gt;getUrl();?&gt;&quot;&gt;&lt;?php echo $childCategory-&gt;getName();?&gt;&lt;/a&gt;&lt;/li&gt;&lt;br /&gt;
&lt;? } ?&gt;&lt;br /&gt;
&lt;/ul&gt;
</pre>
<p>Frontend Check -> Läuft. Und alle so&#8230; <strong>YEAH</strong>.</p>
<h3>Update</h3>
<p>Nach Hinweis von <a href="twitter.com/therouv">Rouven Alexander Rieker</a> folgende Ergänzung:<br />
Das ganze funktioniert auch, wenn man die Kategorie &#8220;Themenwelten&#8221; in der Admin auf &#8220;inaktiv&#8221; stellt. Dann erspart man sich die &#8220;top.phtml&#8221; zu editieren.</p>
<p><strong>Funktioniert nicht</strong> mit Flat Catalog Category.</p>
]]></content:encoded>
			<wfw:commentRss>http://jerie.de/thisnthat/magento-hauptnavigation-aufteilen-themenwelten/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Magento &#8211; E-Mail Vorlagen anpassen</title>
		<link>http://jerie.de/magento/magento-e-mail-vorlagen-anpassen/</link>
		<comments>http://jerie.de/magento/magento-e-mail-vorlagen-anpassen/#comments</comments>
		<pubDate>Tue, 13 Oct 2009 11:24:22 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Magento]]></category>
		<category><![CDATA[E-Mail]]></category>
		<category><![CDATA[Tipps]]></category>

		<guid isPermaLink="false">http://jerie.de/?p=103</guid>
		<description><![CDATA[Wenn man aus seinem Magentoshop HTML E-Mails verschicken möchte, die zum CI des Shops passen, so hat man freie Hand bei der Gestaltung. Da es unglaublich viele E-Mail Vorlagen im System gibt, möchte ich ein paar Tipps geben, wie man &#8230; <a href="http://jerie.de/magento/magento-e-mail-vorlagen-anpassen/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Wenn man aus seinem Magentoshop HTML E-Mails verschicken möchte, die zum CI des Shops passen, so hat man freie Hand bei der Gestaltung. Da es unglaublich viele E-Mail Vorlagen im System gibt, möchte ich ein paar Tipps geben, wie man die Arbeit und spätere Pflege optimieren kann.<br />
<span id="more-103"></span><br />
Wenn man sich für HTML Mails entscheidet und die E-Mail Vorlagen entsprechend umsetzen möchte, sollte man sich zunächst im Klaren darüber sein, dass die Darstellung der E-Mail beim Kunden je nach verwendetem Mail Programm (Outlook, Thunderbird, MacOs Mail&#8230;) oder Online Mail Provider (Google Mail, Web.de, GMX &#8230;) sehr unterschiedlich ist. Leider unterstützt kein Programm/Seite, alle HTML Funktionen und/oder CSS Eigenschaften, die man im modernen Webdesign verwendet. Besonders so weit verbreitete Mail Programme wie Outlook 2007 machen es nahezu unmöglich in HTML Mails &#8220;vernünftiges&#8221; Markup zu verwenden.</p>
<h2>HTML und CSS in E-Mails</h2>
<p>Bevor man sich an die Gestaltung macht, sollte man einen Blick in folgende Liste werfen: <a title="http://www.campaignmonitor.com/css/" href="http://www.campaignmonitor.com/css/">http://www.campaignmonitor.com/css/</a><br />
Hier werden die wichtigsten Tags und CSS Eigenschaften der wichtigsten Mail Programme überprüft und man ieht sofort, was geht, was geht nicht.</p>
<p>Hat man sich durch die Liste gearbeitet, kommt man unweigerlich zu dem Schluß die E-Mails in einem Tabellenraster zu gestalten. CSS setze ich sparsam ein.<br />
Meist genügt es, Schriftfarben, Hintergrundfarben anzupassen und ein Logo einzubinden.</p>
<h2>Wiederkehrende Inhalte ausgliedern</h2>
<p>- Jede meiner E-Mail Vorlagen hat die gleiche Kopfzeile mit dem Logo, einem Link zum Shop und Platz um eine wichtige Info einzublenden (z.B. für besondere Aktionen)<br />
- Jede E-Mail Vorlage hat einen Footer mit Links zum Beutzerkonto, Impressum und AGB, außerdem Kontaktdaten, UstID und Ladenadresse<br />
- Einige E-Mail Vorlagen verwenden im Footer das Widerrufsrecht<br />
- Einige E-Mail Vorlagen verwenden einen Absatz mit Informationen &#8220;Sollten Sie fragen zu Ihrer Betsellung haben&#8230;&#8221;</p>
<p>Da diese Blöcke in fast jeder Mail vorkommen und eigenes Markup und Text haben, macht es Sinn sie auszugliedern. Änderungen müssen so nur in einer Datei gemacht werden und die E-Mail Vorlagen im Adminsystem müssen nicht geändert werden.</p>
<p>Zunächst habe ich mir im <strong>Verzeichnis app/design/frontend/default/meintheme/template/email</strong> die phtml-Dateien für die entsprechenden Blöcke angelegt. Diese Dateien beinhalten sämtliches Markup und ggf. Texte.</p>
<p><img class="size-full wp-image-105 alignnone" title="email-vorlagen" src="http://jerie.de/wp-content/uploads/2009/10/email-vorlagen.png" alt="email-vorlagen" width="173" height="100" /></p>
<p><strong>Beispiel für footer-start.phtml</strong></p>
<pre class="qoate-code">
&lt;table class="footer" width="100%"&gt;
&lt;tr&gt;
&lt;td style="border-top:2px solid #998682;"&gt;meinedomain |
&lt;a href="http://www.meinedomain.de/index.php/customer/account/login/" style="color:#ad4a52;"&gt;Ihr Konto&lt;/a&gt; |
&lt;a  style="color:#ad4a52;" href="http://www.meinedomain.de/index.php/impressum"&gt;Impressum&lt;/a&gt; |
&lt;a style="color:#ad4a52;" href="http://www.meinedomain.de/index.php/agb"&gt;AGB&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
</pre>
<p>Sind alle Templatedateien vorbereitet, geht es nun daran die E-Mail Vorlagen in der Administration anzupassen, sodass die Templates auch verwendet werden. Das muss man einmalig erledigen. Sorry <img src='http://jerie.de/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' /> </p>
<p>Um die Templates nun in der E-Mail Vorlage aufzurufen fügt man folgendes ein:</p>
<pre class="qoate-code">
{{block type='core/template' area='frontend' template='email/footer-start.phtml'}}
</pre>
<p>Hier mal ein <strong>Beispiel</strong> für eine komplette E-Mail (new-order):</p>
<pre class="qoate-code">
{{block type='core/template' area='frontend' template='email/header-start.phtml'}}
&lt;table cellspacing="0" cellpadding="0" border="0" width="100%"&gt;
  &lt;tr&gt;
  &lt;td valign="top"&gt;
  &lt;p&gt;&lt;strong&gt;Hallo {{htmlescape var=$order.getBillingAddress().getName()}}&lt;/strong&gt;,&lt;br/&gt;
  Vielen Dank für Ihre Bestellung&lt;/p&gt;
{{block type='core/template' area='frontend' template='email/paragraph-questions.phtml'}}
  &lt;h3 style="border-bottom:2px solid #eee; font-size:1.05em; padding-bottom:1px; "&gt;Ihre Bestellung Nr.{{var order.increment_id}} &lt;small&gt;(vom {{var order.getCreatedAtFormated('long')}})&lt;/small&gt;&lt;/h3&gt;
  &lt;table cellspacing="0" cellpadding="0" border="0" width="100%"&gt;
  &lt;thead&gt;
  &lt;tr&gt;
  &lt;th align="left" width="48.5%" bgcolor="#D9CFC7" style="padding:5px 9px 6px 9px; border:1px solid #bebcb7; border-bottom:none; line-height:1em;"&gt;Rechnungsinformationen:&lt;/th&gt;
  &lt;th width="3%"&gt;&lt;/th&gt;
  &lt;th align="left" width="48.5%" bgcolor="#D9CFC7" style="padding:5px 9px 6px 9px; border:1px solid #bebcb7; border-bottom:none; line-height:1em;"&gt;Zahlungsmethode:&lt;/th&gt;
  &lt;/tr&gt;
  &lt;/thead&gt;
  &lt;tbody&gt;
  &lt;tr&gt;
  &lt;td valign="top" style="padding:7px 9px 9px 9px; border:1px solid #bebcb7; border-top:0;"&gt;
  {{var order.getBillingAddress().format('html')}}
  &lt;/td&gt;
  &lt;td&gt;&amp;nbsp;&lt;/td&gt;
  &lt;td valign="top" style="padding:7px 9px 9px 9px; border:1px solid #bebcb7; border-top:0;;"&gt;
  {{var payment_html}}
  &lt;/td&gt;
  &lt;/tr&gt;
  &lt;/tbody&gt;
  &lt;/table&gt;
  &lt;br/&gt;
  {{depend order.getIsNotVirtual()}}
  &lt;table cellspacing="0" cellpadding="0" border="0" width="100%"&gt;
  &lt;thead&gt;
  &lt;tr&gt;
  &lt;th align="left" width="48.5%" bgcolor="#D9CFC7" style="padding:5px 9px 6px 9px; border:1px solid #bebcb7; border-bottom:none; line-height:1em;"&gt;Versandinformationen:&lt;/th&gt;
  &lt;th width="3%"&gt;&lt;/th&gt;
  &lt;th align="left" width="48.5%" bgcolor="#D9CFC7" style="padding:5px 9px 6px 9px; border:1px solid #bebcb7; border-bottom:none; line-height:1em;"&gt;Versandart:&lt;/th&gt;
  &lt;/tr&gt;
  &lt;/thead&gt;
  &lt;tbody&gt;
  &lt;tr&gt;
  &lt;td valign="top" style="padding:7px 9px 9px 9px; border:1px solid #bebcb7; border-top:0;"&gt;
  {{var order.getShippingAddress().format('html')}}
  &amp;nbsp;
  &lt;/td&gt;
  &lt;td&gt;&amp;nbsp;&lt;/td&gt;
  &lt;td valign="top" style="padding:7px 9px 9px 9px; border:1px solid #bebcb7; border-top:0;"&gt;
  {{var order.getShippingDescription()}}
  &amp;nbsp;
  &lt;/td&gt;
  &lt;/tr&gt;
  &lt;/tbody&gt;
  &lt;/table&gt;
  &lt;br/&gt;
  {{/depend}}
  &lt;table cellspacing="0" cellpadding="0" border="0" width="100%"&gt;
  &lt;thead&gt;
  &lt;tr&gt;
  &lt;th align="left" bgcolor="#D9CFC7" style="padding:5px 9px 6px 9px; border:1px solid #D9CFC7; border-bottom:none; line-height:1em;"&gt;Ihr Kommentar:&lt;/th&gt;
  &lt;/tr&gt;
  &lt;/thead&gt;
  &lt;tbody&gt;
  &lt;tr&gt;
  &lt;td valign="top" style="padding:7px 9px 9px 9px; border:1px solid #bebcb7; border-top:0;"&gt;
  {{var order.getBiebersdorfCustomerordercomment()}}
  &lt;/td&gt;
  &lt;/tr&gt;
  &lt;/tbody&gt;
  &lt;/table&gt;
  &lt;br/&gt;
  {{layout handle="sales_email_order_items" order=$order}}
  &lt;br/&gt;
  {{var order.getEmailCustomerNote()}}
  &lt;/td&gt;
  &lt;/tr&gt;
  &lt;/table&gt;
  {{block type='core/template' area='frontend' template='email/footer-start.phtml'}}
  {{block type='core/template' area='frontend' template='email/footer-sub-data.phtml'}}
  {{block type='core/template' area='frontend' template='email/footer-sub-disclaimer.phtml'}}
  {{block type='core/template' area='frontend' template='email/footer-end.phtml'}}
</pre>
<h2>Weitere Möglichkeiten</h2>
<p>Da es für mich immer einfacher ist und schneller geht die Inhalte in den phtml Dateien zu wechseln habe ich alle Texte in diesen stehen. Möchte man die Elemnte aber über die Adminoberfläche pflegen, so kann man statt der phtml Dateien natürlich auch statische Blöcke einbinden. Optimal ist sicher die Kombination aus beidem. So kann man als Entwickler das Markup einfach über die phtml Dateien pflegen und wer auch immer für die Texte zuständig ist, kann diese via Adminoberfläche Pflegen.</p>
<p><strong>Statische Blöcke direkt in der E-Mail:</strong></p>
<pre class="qoate-code">
{{block type="cms/block" block_id="cms_email_footer"}}
</pre>
<p>In diesem Fall muss via Admin der statische Block mit dem Seitenbezeichner &#8220;cms_email_footer&#8221; angelegt werden.</p>
<p><strong>Statische Blöcke in den Templatedateien:</strong></p>
<pre class="qoate-code">
&lt;? getLayout()-&gt;createBlock('cms/block')-&gt;setBlockId('cms_email_footer')-&gt;toHtml() ?&gt;
</pre>
]]></content:encoded>
			<wfw:commentRss>http://jerie.de/magento/magento-e-mail-vorlagen-anpassen/feed/</wfw:commentRss>
		<slash:comments>8</slash:comments>
		</item>
		<item>
		<title>Magento &#8211; Newsletter für Deutschland</title>
		<link>http://jerie.de/magento/magento-newsletter-fur-deutschland/</link>
		<comments>http://jerie.de/magento/magento-newsletter-fur-deutschland/#comments</comments>
		<pubDate>Tue, 28 Jul 2009 11:45:58 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Magento]]></category>
		<category><![CDATA[Newsletter]]></category>

		<guid isPermaLink="false">http://jerie.de/?p=88</guid>
		<description><![CDATA[Alles was Recht ist Will man in Deutschland einen Newsletter versenden, so müssen sich die Abonennten über eine Double Opt In Funktion anmelden. Das bedeutet, dass der Eintrag in die Empfängerliste in einem zweiten Schritt bestätigt werden muss. Magento versendet &#8230; <a href="http://jerie.de/magento/magento-newsletter-fur-deutschland/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<h3>Alles was Recht ist</h3>
<p>Will man in Deutschland einen Newsletter versenden, so müssen sich die Abonennten über eine Double Opt In Funktion anmelden. Das bedeutet, dass der Eintrag in die Empfängerliste in einem zweiten Schritt bestätigt werden muss. Magento versendet dafür eine Email mit einem Link, den der Empfänger klicken muss. Erst dann ist er für den Empfang des Newsletters freigeschalten.</p>
<p><strong>Bitte betrachtet diesen Beitrag als Anregung. Ich bin kein Programmierer und man kann das sicher eleganter lösen. Es funktioniert, und das war mir wichtig.</strong></p>
<p><span id="more-88"></span></p>
<h2>Einstellungen in Magento</h2>
<p>Möchte man diese Double Opt In Funktion in Magento nutzen, muß das zunächst in der Administration konfiguriert werden.</p>
<p>Administration -&gt; Konfiguration -&gt; Newsletter -&gt;<br />
<img src="http://www.jerie.de/wp-content/uploads/2009/magento-newsletter-admin.png" alt="Magento Newsletter Admin" /></p>
<p>Bei &#8220;Bestätigung nötig&#8221; stellt man auf &#8220;JA&#8221;. Wer jetzt denkt das reicht, liegt leider falsch. Denn out of the Box funktioniert das in Magento wie jetzt wie folgt:</p>
<p>Es gibt folgende Fallunterscheidungen:</p>
<p><strong>Gast trägt sich in Newsletter </strong><br />
In diesem Falle verschickt Magento jetzt die Mail, deren Empfang der Empfänger bestätigen muss, um für den Newsletter freigeschaltet zu sein. <strong>Double Opt In = Perfekt</strong>.</p>
<p><strong>Bereits registrierter User (Bestandskunde) trägt seine Email Adresse ein</strong><br />
Dies ist immer dann der Fall, wenn der entsprechende Kunde bereits einmal im Shop bestellt hat und bereits über ein Kundenkonto verfügt. Ist die eingetragene Email Adresse also bereits mit einem Benutzerkonto registriert versendet Magento KEINE Mail, die der Empfänger bestätigen muss. Der Empfänger ist sofort für den Newsletter freigeschaltet. Völlig egal, dass wir in der Admin &#8220;Bestätigung notwendig&#8221; auf &#8220;Ja&#8221; gestellt haben. <strong>KEIN Double Opt In = SCHLECHT</strong>.</p>
<h2>Editieren der Model Datei</h2>
<p>Um oben genanntes Verhalten zu &#8220;fixen&#8221;, müssen wir etwas in der Subscriper.php vom Newsletter rumhacken.</p>
<p>Damit meine Änderungen bei einem nächsten Update von Magento nicht überschrieben werden, kopiere ich mir die Datei inklusive Verzeichnisstruktur aus dem &#8220;core&#8221; ins &#8220;local&#8221; Verzeichnis.</p>
<p><strong>Quelle:</strong> app/code/core/Mage/Newsletter/Model/Subscriber.php</p>
<p><strong>Ziel:</strong> app/code/local/Mage/Newsletter/Model/Subscriber.php</p>
<p>In der Subscriper.php wird an mehreren Stellen geprüft, ob sich die Email Adresse, die gerade im Formular eingetragen wurde, bereits in der Datenbank befindet. Dies kann zum Beispiel dann vorkommen, wenn der entsprechende Kunde bereits einmal im Shop bestellt hat und bereits über ein Kundenkonto verfügt. Wenn die Email Adresse also bereits mit einem Benutzerkonto registriert ist, versendet Magento keine Authorisierung mehr, sondern schaltet den Benutzer sofort für den Newsletter frei (wie oben bereits beschrieben). Da wir uns in Deutschland natürlich an deutsches Recht halten müssen, wollen wir das nicht.</p>
<p>Wir editieren in  <strong>$customerSession-&gt;isLoggedIn()</strong> <strong>Zeile 311</strong></p>
<p><strong>Vorher:</strong></p>
<pre class="qoate-code">$this-&gt;setStatus(self::STATUS_SUBSCRIBED);</pre>
<p><strong>Nachher:</strong></p>
<pre class="qoate-code">$this-&gt;setStatus(self::STATUS_NOT_ACTIVE);</pre>
<p>Außerdem noch <strong>Zeile 315</strong>:</p>
<p><strong>Vorher:</strong></p>
<pre class="qoate-code">$this-&gt;setSubscriberStatus(self::STATUS_SUBSCRIBED);</pre>
<p><strong>Nachher:</strong></p>
<pre class="qoate-code">$this-&gt;setSubscriberStatus(self::STATUS_NOT_ACTIVE);</pre>
<p><strong>Komplett:</strong></p>
<pre class="qoate-code">if ($customerSession-&gt;isLoggedIn()) {
            $this-&gt;setStoreId($customerSession-&gt;getCustomer()-&gt;getStoreId());
            $this-&gt;setStatus(self::STATUS_NOT_ACTIVE);
            $this-&gt;setCustomerId($customerSession-&gt;getCustomerId());
        } else if ($customer-&gt;getId()) {
            $this-&gt;setStoreId($customer-&gt;getStoreId());
            $this-&gt;setSubscriberStatus(self::STATUS_NOT_ACTIVE);
            $this-&gt;setCustomerId($customer-&gt;getId());
        } else {
            $this-&gt;setStoreId(Mage::app()-&gt;getStore()-&gt;getId());
            $this-&gt;setCustomerId(0);
            $isNewSubscriber = true;
        }</pre>
<p>Wenn wir die Änderung nun speichern sind wir damit schon mal fertig. Magento versendet jetzt für jede einzutragende Emailadresse die Mail zum Bestätigen.</p>
<p>Jetzt gibt jetzt also den <strong>Double Opt In für</strong>:<br />
- Gäste<br />
- bereits registrierte Kunden</p>
<p><strong>Anmerkung:</strong><br />
Trägt sich ein Nutzer mit einer Email Adresse in den Newsletter ein, der bereits einmal eingetragen ist (im Newsletter), so wird sein Status wieder reseted und er erhält eine neue Mail mit Bitte um Bestätigung. Die Email Adresse ist also niemals doppelt eingetragen.</p>
<h2>Erfolgsmail versenden</h2>
<p>Wenn die Eintragung in die Abonnentenliste bestätigt wurde gibt es auf der Seite im Shop eine kurze Bestätigung. Jetzt wollen wir noch eine Bestätigungsmail versenden. &#8220;Anmeldung im Newsletter&#8221;. Das macht Magento auch nicht automatisch für alle. Wir müssen also noch in der gleichen Datei (app/code/local/Mage/Newsletter/Model/Subscriber.php) dafür sorgen, dass die Mail versendet wird:</p>
<p>In <strong>public function confirm($code)</strong> ab Zeile 417 fügen wir ein:</p>
<pre class="qoate-code">$this-&gt;sendConfirmationSuccessEmail();</pre>
<p><strong>Sieht dann so aus:</strong></p>
<pre class="qoate-code">public function confirm($code)
    {
        if($this-&gt;getCode()==$code) {
            $this-&gt;setStatus(self::STATUS_SUBSCRIBED)
                -&gt;setIsStatusChanged(true)
                -&gt;save();
                $this-&gt;sendConfirmationSuccessEmail();
            return true;
        }
        return false;
    }</pre>
<p>In diese Email habe ich dann zusätzlich den Link zum abbestellen des Newsletters gepackt und darum gebeten, die Mail aufzuheben. Ein Formular, mit dem sich Gäste auf der Webseite aus dem Newsletter wieder austragen können, werde ich demnächst gesondert erstellen.</p>
<p>Meine komplette Subscriber.php habe ich hier auch nochmal <a href="http://www.jerie.de/wp-content/uploads/2009/Subscriber.zip">zum Download</a> angehängt.</p>
<p>Ich übernehme keinerlei Verantwortung für eventuelle Fehlfunktionen!</p>
<p>Über Anregungen und Verbesserungsvorschläge freue ich mich.</p>
<h2>Update</h2>
<p>Damit eingeloggte Kunden über Ihren Benutzerbereich den Newsletter einfach via Checkbox abonnieren können (und trotzdem durch das Double Opt Inn müssen) habe ich noch die entsprechende Datei komplett umgestrickt.</p>
<p>Die Änderung betrifft die Datei: app/design/frontend/default/default/ template/customer/form/newsletter.phtml</p>
<pre class="qoate-code">&lt;?php echo $this-&gt;getMessagesBlock()-&gt;getGroupedHtml() ?&gt;
&lt;div class="category-head rounded"&gt;
&lt;h2&gt;&lt;?php echo $this-&gt;__('Newsletter Subscription') ?&gt;&lt;/h2&gt;

&lt;?php if($this-&gt;getIsSubscribed()): ?&gt;
&lt;div class="inner-box"&gt;
&lt;form action="&lt;?php echo $this-&gt;getAction() ?&gt;" method="post" id="form-validate"&gt;
&lt;?php echo $this-&gt;getBlockHtml('formkey')?&gt;
&lt;p&gt;&lt;input type="checkbox" name="is_subscribed" id="subscription" value="1" title="&lt;?php echo $this-&gt;__('General Subscription') ?&gt;"  &lt;?php if($this-&gt;getIsSubscribed()): ?&gt; checked="checked"&lt;?php endif ?&gt; /&gt; &lt;label for="subscription"&gt;Ja, ich möchte den Newsletter erhalten.&lt;/label&gt;&lt;/p&gt;
&lt;p&gt;Sie sind momentan für unseren Newsletter angemeldet. Wenn Sie das Häckchen in der Checkbox entfernen und speichern, werden Sie zukünftig keine Newsletter mehr empfangen.&lt;/p&gt;
&lt;div class="button-set"&gt;
&lt;a href="&lt;?php echo $this-&gt;getBackUrl() ?&gt;" class="link-face-button"&gt;&amp;laquo; &lt;?php echo $this-&gt;__('Back') ?&gt;&lt;/a&gt;
&lt;button type="submit" class="form-button"&gt;&lt;span&gt;&lt;?php echo $this-&gt;__('Save') ?&gt;&lt;/span&gt;&lt;/button&gt;
&lt;/div&gt;
&lt;/form&gt;
&lt;/div&gt;
&lt;script type="text/javascript"&gt;
//&lt;![CDATA[
var dataForm = new VarienForm('form-validate', true);
//]]&gt;
&lt;/script&gt;
&lt;? else: ?&gt;
&lt;div class="inner-box"&gt;
&lt;style&gt;
#advice-required-entry-mycb {position: absolute; margin-top: -70px;}
&lt;/style&gt;
&lt;p&gt;Sie sind momentan &lt;strong&gt;nicht&lt;/strong&gt; für unseren Newsletter angemeldet. Sie können hier den Newsletter mit Ihrer hinterlegten E-Mail Adresse (&lt;i&gt;&lt;?php echo $this-&gt;htmlEscape($this-&gt;getCustomer()-&gt;getEmail()) ?&gt;&lt;/i&gt;) abonieren.&lt;/p&gt;
&lt;fieldset class="newsletter"&gt;
&lt;form action="&lt;?php echo $this-&gt;getUrl('newsletter/subscriber/new') ?&gt;" method="post" id="newsletter-validate"&gt;
&lt;input id="mycb" class="required-entry" type="checkbox" value="1" title="&lt;?php echo $this-&gt;__('General Subscription') ?&gt;" /&gt; &lt;label for="subscription"&gt;Ja, ich möchte den Newsletter erhalten.&lt;/label&gt;
&lt;script type="text/javascript"&gt;
&lt;!--
var newsletterSubscriberForm = new VarienForm('newsletter-validate');
//--&gt;
&lt;/script&gt;
&lt;input name="email" id="newsletter" value="&lt;?php echo $this-&gt;htmlEscape($this-&gt;getCustomer()-&gt;getEmail()) ?&gt;" type="hidden" class="required-entry validate-email input-text" /&gt;
&lt;div class="button-set"&gt;
&lt;a href="&lt;?php echo $this-&gt;getBackUrl() ?&gt;" class="link-face-button"&gt;&amp;laquo; &lt;?php echo $this-&gt;__('Back') ?&gt;&lt;/a&gt;
&lt;input type="submit" value="Speichern" alt="&lt;?php echo $this-&gt;__('Subscribe') ?&gt;" class="form-button" /&gt;
&lt;/div&gt;
&lt;/form&gt;
&lt;/fieldset&gt;
&lt;/div&gt;
&lt;? endif ?&gt;
&lt;/div&gt;</pre>
]]></content:encoded>
			<wfw:commentRss>http://jerie.de/magento/magento-newsletter-fur-deutschland/feed/</wfw:commentRss>
		<slash:comments>21</slash:comments>
		</item>
		<item>
		<title>Magento &#8211; Hersteller in Produktansicht</title>
		<link>http://jerie.de/magento/herstellerinformation-in-der-produktansicht/</link>
		<comments>http://jerie.de/magento/herstellerinformation-in-der-produktansicht/#comments</comments>
		<pubDate>Mon, 20 Jul 2009 10:07:45 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Magento]]></category>

		<guid isPermaLink="false">http://jerie.de/?p=79</guid>
		<description><![CDATA[Da Magento von Hause aus leider nicht die Möglichkeit mitbringt, Herstellerinformationen zu Hinterlegen, musste ich das für ein aktuelles Projekt über einen kleinen Workaround realisieren. Die Grundlage für die Umsetzung ist das bereits vorhandene Attribut &#8220;Manufacturer&#8221; und entsprechnde CMS-Blöcke. 1. &#8230; <a href="http://jerie.de/magento/herstellerinformation-in-der-produktansicht/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Da Magento von Hause aus leider nicht die Möglichkeit mitbringt, Herstellerinformationen zu Hinterlegen, musste ich das für ein aktuelles Projekt über einen kleinen Workaround realisieren. Die Grundlage für die Umsetzung ist das bereits vorhandene Attribut &#8220;Manufacturer&#8221; und entsprechnde CMS-Blöcke.</p>
<p><span id="more-79"></span></p>
<h3>1. Schritt &#8211; Eintragen der Hersteller</h3>
<p>In der Administrationsoberfläche von Magento rufen Sie auf: Katalog -&gt; Attribute -&gt; Attribute verwalten.<br />
Suchen Sie nach dem Attribut &#8220;manufacturer&#8221;.</p>
<p>Das Attributlabel muss hier zwingend &#8220;Hersteller&#8221; lauten. Ansonsten müssen Sie u.U. die Abfrage in der View (weiter unten) anpassen.<br />
Wir bearbeiten nun die Bezeichnungen / Optionen und legen zunächst mal alle unsere Hersteller an. Dabei sollten Sie für diesen Workaround auf Sonderzeichen verzichten (komm ich später noch mal drauf zurück).</p>
<h3>2. Schritt &#8211; CMS Blöcke anlegen</h3>
<p>In der Administration rufen Sie auf: CMS -&gt; Statische Blöcke -&gt; Neuen Block anlegen.</p>
<p><strong>Blocktitel:</strong> Name des Hersteller. Hier &#8220;Wingreen&#8221;. Damit man später immer weiß, dass es sich um eine Herstellerblock handelt, lassen Sie den Seitenbezeichner am besten immer mit der Zeichenfolge &#8220;man-&#8221; starten. Das ist wichtig, benötigen wir dann später auch in der View. Verwenden Sie ein andere Zeichenfolge oder verzichten Sie darauf, müssen Sie u.U. die Abfrage in der View (weiter unten) anpassen. Ebenso dürfen an dieser Stelle KEINE Leerzeichen und auch keine Sonderzeichen verwendet werden. Die Schreibweise muss zwingend die gleiche sein, wie die Bezeichnung der Option im Attribut.<strong><br />
Status: </strong>aktiviert (wichtig!)<strong><br />
Inhalt: </strong>Hier kommt jetzt die Herstellerinformation. HTML erlaubt, Sie können also auch Bilder und Links einfügen und die Informationen beliebig formatieren.</p>
<p><strong>Beispiel:</strong></p>
<p><strong>Attribut Option:</strong> Wingreen and Friends<br />
<strong>CMS-Block Seitenbezeichner:</strong> man-wingreenandfriends</p>
<h3>3. Schritt &#8211; Produktview anpassen.</h3>
<p>Diesen Schritt kann man mit Sicherheit viel eleganter umsetzen, aber ich bin Frontender. Weitergehende PHP Kenntnisse sind leider nicht mein Gebiet. Hier freue ich mich jederzeit über Feedback und Tipps.</p>
<p>Editor Ihrer Wahl: Wir bearbeiten nun die Datei, die in der Produktansicht die Attribute ausgibt. Wichtig: in Ihrem aktivierten Tempalte. &#8220;/app/design/frontend/default/default/template/catalog/product/view/attributes.phtml&#8221;</p>
<p>Hier wird in Zeile 11 die Variable $myType gesetzt und ausgegeben.</p>
<p>In Zeile 14 prüfe ich, ob das Label ($myType) &#8220;Hersteller&#8221; ist, denn dann möchte ich den entsprechenden CMS-Block ausgeben.</p>
<p>Verwenden Sie in Ihrem Attributset ein anderes Attributlabel, so müssen Sie diese Prüfung anpassen.</p>
<p>Jetzt konstruieren wir aus dem Value des Hersteller Attributes die passende Block-ID. Mit str_replace entfernen wir alle Leerzeichen und setzen unseren (in Schritt 2 verwendeten) Prefix davor.</p>
<p>Zeile 16 platziert dann den CMS-Block mit der ID aus $myManufacturer in die Seite.</p>
<p>Falls es sich nicht um die Angabe des Herstellers, sondern z.B. um Gewicht oder Farbe handelt, geben wir in Zeile 18 den ursprünglichen Value des Attributes aus.</p>
<p>Der Code (bestehende attributes.phtml kann komplett ersetzt werden) (<strong>UPDATE unten beachten</strong>)</p>
<pre class="qoate-code">
&lt;?php
    $_helper = $this-&gt;helper('catalog/output');
    $_product = $this-&gt;getProduct()
?&gt;
&lt;?php if($_additional = $this-&gt;getAdditionalData()): ?&gt;
&lt;div class="collateral-box attribute-specs"&gt;
    &lt;table cellspacing="0" class="data-table" id="product-attribute-specs-table"&gt;
    &lt;?php foreach ($_additional as $_data): ?&gt;
    &lt;tr&gt;
        &lt;td class="label"&gt;
       	&lt;?php $myType=$this-&gt;htmlEscape($this-&gt;__($_data['label'])); echo $myType; ?&gt;&lt;/td&gt;
        &lt;td class="data"&gt;
        &lt;?php
			if ($myType == "Hersteller"):
	    		$myManufacturer="man-".str_replace(' ', '',$_helper-&gt;productAttribute($_product, $_data['value'], $_data['code']));
		    	echo $this-&gt;getLayout()-&gt;createBlock('cms/block')-&gt;setBlockId($myManufacturer)-&gt;toHtml();
            else:
                echo $_helper-&gt;productAttribute($_product, $_data['value'], $_data['code']);
			endif;
		?&gt;
		&lt;/td&gt;
    &lt;/tr&gt;
    &lt;?php endforeach; ?&gt;
    &lt;/table&gt;
    &lt;script type="text/javascript"&gt;decorateTable('product-attribute-specs-table')&lt;/script&gt;
&lt;/div&gt;
&lt;?php endif;?&gt;
</pre>
<p>Finished. Auf der Produktseite wird nun die im CMS angelegte Herstellerinformation angezeigt.</p>
<p><strong>Screenshot</strong> (Liveshop comming soon)</p>
<div class="wp-caption alignnone" style="width: 588px"><img title="Magento - Herstellerinformationen in Produktview" src="http://www.jerie.de/wp-content/uploads/2009/herstellerinfo.jpg" alt="Magento - Herstellerinformationen in Produktview" width="578" height="538" />
<p class="wp-caption-text">Magento - Herstellerinformationen in Produktview</p>
</div>
<p><strong>Mehrsprachigen Installationen</strong></p>
<p>Bei mehrsprachigen Installationen sollten Sie die Seitenbezeichner der CMS Blöcke nicht nur mit &#8220;man-&#8221; beginnen lassen, sondern zusätzlich die Sprache integrieren. Zum Beispiel: &#8220;man-en-&#8221;&#8230; Die Prüfung des Labels (Schritt 3) muss dann über eine ODER Prüfung erweitert werden und die Konstruktion der Block-ID abgepast werden.</p>
<h2>UPDATE</h2>
<p>Hier nochmal etwas modifiziert der Code, damit man den Herstellernamen anzeigen lässt, wenn kein entsprechender statischer Block hinterlegt ist.</p>
<pre class="qoate-code">
&lt;?php
    $_helper = $this-&gt;helper('catalog/output');
    $_product = $this-&gt;getProduct()
?&gt;
&lt;?php if($_additional = $this-&gt;getAdditionalData()): ?&gt;
&lt;div class="collateral-box attribute-specs"&gt;
    &lt;table cellspacing="0" class="data-table" id="product-attribute-specs-table"&gt;
    &lt;?php foreach ($_additional as $_data): ?&gt;
    &lt;tr&gt;
        &lt;td class="label"&gt;
       	&lt;?php
            $myType=$this-&gt;htmlEscape($this-&gt;__($_data['label']));
			if ($myType == "Hersteller"):
	    		$myManufacturer="man-".str_replace(' ', '',$_helper-&gt;productAttribute($_product, $_data['value'], $_data['code']));
                $myManufacturer=str_replace('ä', 'ae',$myManufacturer);
                $myManufacturer=str_replace('ö', 'oe',$myManufacturer);
                $myManufacturer=str_replace('ü', 'ue',$myManufacturer);
		    	$myBlock = $this-&gt;getLayout()-&gt;createBlock('cms/block')-&gt;setBlockId($myManufacturer)-&gt;toHtml();
            endif;
                echo $myType;
            ?&gt;
        &lt;/td&gt;
        &lt;td class="data"&gt;
        &lt;?php
            if ($myType == "Hersteller"):
                if($myBlock):
                    echo $myBlock;
                else:
                    echo $_helper-&gt;productAttribute($_product, $_data['value'], $_data['code']);
                endif;
            else:
                echo $_helper-&gt;productAttribute($_product, $_data['value'], $_data['code']);
			endif;
		?&gt;
		&lt;/td&gt;
    &lt;/tr&gt;
    &lt;?php endforeach; ?&gt;
    &lt;/table&gt;
    &lt;script type="text/javascript"&gt;decorateTable('product-attribute-specs-table')&lt;/script&gt;
&lt;/div&gt;
&lt;?php endif;?&gt;
</pre>
]]></content:encoded>
			<wfw:commentRss>http://jerie.de/magento/herstellerinformation-in-der-produktansicht/feed/</wfw:commentRss>
		<slash:comments>8</slash:comments>
		</item>
		<item>
		<title>Wild Navigation with bunny :-)</title>
		<link>http://jerie.de/css/wild-navigation/</link>
		<comments>http://jerie.de/css/wild-navigation/#comments</comments>
		<pubDate>Tue, 03 Feb 2009 10:19:56 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[CSS]]></category>
		<category><![CDATA[Tricks]]></category>

		<guid isPermaLink="false">http://jerie.de/?p=48</guid>
		<description><![CDATA[As time is money I will show you an easy and fast way on how to create a navigation that is not horizontal or vertical, but more like a cloud. Our navigation: Home Portfolio Information Bog Contact Imprint So your &#8230; <a href="http://jerie.de/css/wild-navigation/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>As time is money I will show you an easy and fast way on how to create a navigation that is not horizontal or vertical, but more like a cloud.</p>
<p><span id="more-48"></span></p>
<p><strong>Our navigation:</strong></p>
<style>
#my-navigation1 {background: url(http://jerie.de/wp-content/uploads/2009/02/nav-1.gif) no-repeat; position: relative; width: 578px; height:282px;}
#my-navigation1 li {position: absolute;}
#my-navigation1 li a {display:block; height:100%; width:100%; text-indent:-3000em; }
#nav-portfolio1 {
	left:150px;	top:40px;
	width:183px; height:52px;
}
#nav-home1 {
	left:15px; top:62px;
	width:106px; height:73px;
}
#nav-information1 {
	left:31px; top:141px;
	width:210px; height:48px;
}
#nav-blog1 {
	left:250px; top:100px;
	width:166px; height:70px;
}
#nav-imprint1 {
	left:442px;	top:85px;
	width:123px; height:59px;
}
#nav-contact1 {
	left:401px; top:173px;
	width:138px; height:25px;
}</p>
</style>
<ul id="my-navigation1">
<li id="nav-home1"><a href="... .html">Home</a></li>
<li id="nav-portfolio1"><a href="... .html">Portfolio</a></li>
<li id="nav-information1"><a href="... .html">Information</a></li>
<li id="nav-blog1"><a href="... .html">Bog</a></li>
<li id="nav-contact1"><a href="... .html">Contact</a></li>
<li id="nav-imprint1"><a href="... .html">Imprint</a></li>
</ul>
<p>So your designer send you a screenshot with a navigation like the one above and you want to create the markup for this. First thing most people have in mind is an imagemap or slicing it in Photoshop. As you’re a professional webdesigner, you don’t want to use an imagemap as your are looking for semantics in your code. And as your are a professional webdesigner you will see that slicing is not as easy as it seems. There are overlapping edges in the slice (as shown below) and you will have a lot of work to do, to arrange the slices later.</p>
<p><img class="alignnone size-full wp-image-62" title="nav-2-slice" src="http://jerie.de/wp-content/uploads/2009/02/nav-2-slice.gif" alt="nav-2-slice" width="578" height="282" /></p>
<p><strong>Here we go. Fast and easy. </strong></p>
<p>What we will do is setting up our navigation as an unordered list giving the ul a graphical background and then place the li absolute to overlap the clickareas. Easy, I told you!</p>
<p>As I’m a lazy guy I let adobe dreamweaver help me positioning the links.<br />
Start with an emty dreamweaver document. In the document head add a little stylesheet</p>
<pre class="qoate-code">
body
{
padding: 0; margin: 0;
}
</pre>
<p>Then place the image of your navigation (cutted and optimized as your will use it in your website later) into the body. You don’t need more.</p>
<p>From the layout menu choose “AP Div” icon (1), which lets you create an absolute positioned div-element. Draw a rectangle over our first navigation item (2). When clicking the element you can set its ID (3). Give your element a “speaking” ID. I choose “nav-portfolio”.</p>
<p><img class="alignnone size-full wp-image-60" title="nav-3-dw" src="http://jerie.de/wp-content/uploads/2009/02/nav-3-dw.gif" alt="nav-3-dw" width="578" height="717" /></p>
<p>Repeat this step for every navigation link. Do not forget to name your div-elements. Clicking on a created item lets you edit. This way you can always adjust size and position of the elements.</p>
<p>After placing all the div-elements, let’s take a look at the source code.<br />
You will find something like:</p>
<pre class="qoate-code">
#nav-portfolio {
position:absolute;
left:150px;
top:40px;
width:183px;
height:52px;
z-index:1;
}
#nav-home {
position:absolute;
left:15px;
top:62px;
width:106px;
height:73px;
z-index:2;
}
#nav-informtion {
position:absolute;
left:31px;
top:141px;
width:210px;
height:48px;
z-index:3;
}
#nav-blog {
position:absolute;
left:250px;
top:100px;
width:166px;
height:70px;
z-index:4;
}
#nav-imprint {
position:absolute;
left:442px;
top:85px;
width:123px;
height:59px;
z-index:5;
}
#nav-contact {
position:absolute;
left:401px;
top:173px;
width:138px;
height:25px;
z-index:6;
}
</pre>
<p>You can delete “position: absolute” and “z-index: x” as we don’t need it here. Later we will copy this code to our websites stylesheet.</p>
<p><strong>Now let’s create our semantic navigation.</strong></p>
<p>Open the editor of your choice and create your website or open and edit an existing one. Here I will only show the part for the navigation, of course.</p>
<pre class="qoate-code">
&lt;ul id="my-navigation"&gt;
	&lt;li id="nav-home"&gt;&lt;a href="... .html"&gt;Home&lt;/a&gt;&lt;/li&gt;
	&lt;li id="nav-portfolio"&gt;&lt;a href="... .html"&gt;Portfolio&lt;/a&gt;&lt;/li&gt;
	&lt;li id="nav-information"&gt;&lt;a href="... .html"&gt;Information&lt;/a&gt;&lt;/li&gt;
	&lt;li id="nav-blog"&gt;&lt;a href="... .html"&gt;Bog&lt;/a&gt;&lt;/li&gt;
	&lt;li id="nav-contact"&gt;&lt;a href="... .html"&gt;Contact&lt;/a&gt;&lt;/li&gt;
	&lt;li id="nav-imprint"&gt;&lt;a href="... .html"&gt;Imprint&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
</pre>
<p>A little styling and we are done.</p>
<pre class="qoate-code">
#my-navigation {background: url(mybackground.gif) no-repeat; position: relative; width: 578px; height: 282px;}
#my-navigation li {position: absolute;}
#my-navigation li a {display:block; height:100%; width:100%; text-indent:-3000em; }
</pre>
<p>1. We set the image used above as a background image for our navigation list and set the positioning to relative so absolute positioned elements are positioned related to the ul-element. Set the size to the same size of your image.<br />
2. We are positioning the li elemts absolute and give each li-element the ID we used in dreamweaver (that&#8217;s important).<br />
3. Setting the links to display block with a width and height of 100% to fill the whole li-element.</p>
<p>Now copy the styles from dreamweaver to your websites stylesheet.</p>
<pre class="qoate-code">
#nav-portfolio {
left:150px; top:40px;
width:183px; height:52px;
}
#nav-home {
left:15px; top:62px;
width:106px; height:73px;
}
#nav-informtion {
left:31px; top:141px;
width:210px; height:48px;
}
#nav-blog {
left:250px; top:100px;
width:166px; height:70px;
}
#nav-imprint {
left:442px; top:85px;
width:123px; height:59px;
}
#nav-contact {
left:401px; top:173px;
width:138px; height:25px;
}
</pre>
<p>We are done. Quick and dirty.</p>
<p>Of course, there is no need for using dreamweaver, but it makes the positioning of our elements easier. Writing the code yourself, you should set a border to the li-elements. This way, you can see, what your are doing.</p>
<p>Good luck with your try. I will have a writeup on mouse-overs for this one soon.</p>
]]></content:encoded>
			<wfw:commentRss>http://jerie.de/css/wild-navigation/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Pure CSS Thumbnails</title>
		<link>http://jerie.de/css/pure-css-thumbnails/</link>
		<comments>http://jerie.de/css/pure-css-thumbnails/#comments</comments>
		<pubDate>Fri, 02 Jan 2009 17:07:07 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[CSS]]></category>
		<category><![CDATA[Images]]></category>
		<category><![CDATA[Tricks]]></category>

		<guid isPermaLink="false">http://jerie.de/blog/?p=27</guid>
		<description><![CDATA[Inspired by the article Create Resizing Thumbnails Using Overflow Property on cssglobe.com I changed the CSS to really increase the image on mouseover and to have a different color (blackandwhite) version of the imaged used as the thumbnail. This page &#8230; <a href="http://jerie.de/css/pure-css-thumbnails/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<style>
.thumb		{margin: 2em 0; padding: 0 100px;}
.thumb img	{width: 100px; visibility: hidden; }
.thumb a {width: 100px; display: block; float: left; overflow: hidden; height: 65px; z-index:1; position: relative; margin: 0 20px 0 0; border: solid 1px #ccc;}
.thumb a:hover {overflow:visible; z-index: 1000;}
.thumb a:hover img	{width: 250px; position: absolute;  margin-left: -80px; margin-top: -50px; visibility: visible; border: solid 2px #ff7200; padding: 5px; background: #fff;}
.thumb #m01	{background: url(http://jerie.de/playground/cssthumbs01/01s.jpg);}
.thumb #m02	{background: url(http://jerie.de/playground/cssthumbs01/02s.jpg);}
.thumb #m03	{background: url(http://jerie.de/playground/cssthumbs01/03s.jpg);}
#lazy img		{width: 100px; visibility: visible; }
#lazy a:hover img	{width: 250px;}
</style>
<p>Inspired by the article <a href="http://www.cssglobe.com/post/1305/create-resizing-thumbnails-using-overflow-property" target="_blank">Create Resizing Thumbnails Using Overflow Property</a> on <a href="http://www.cssglobe.com" target="_blank">cssglobe.com</a> I changed the CSS to really increase the image on mouseover and to have a different color (blackandwhite) version of the imaged used as the thumbnail.<br />
<span id="more-27"></span><br />
This page is showing my version of pure CSS thumbnails. Just mouseover the small ones to get the full size version. There is no need for Javasript.</p>
<p><strong>Off course: </strong>it is a complete <strong>missuse considering what thumbnails intended to be</strong> used for. As the full size version is loaded too, there is no saving in data. So it wouldn&#8217;t be a good idea to use the technique for a very large gallery.</p>
<p><strong>Restrictions:</strong> &#8211; two versions for the image needed (of course)  &#8211; full size version should <strong>not be bigger than 3x thumbsize</strong>! &#8211; each thumbnail <strong>needs its own id</strong>. You can use PHP: set a counter and let it generate your ids and css.</p>
<div class="thumb">
<p><a id="m01" href="#"><img src="http://jerie.de/playground/cssthumbs01/01.jpg" alt=" " /></a><br />
<a id="m02" href="#"><img src="http://jerie.de/playground/cssthumbs01/02.jpg" alt=" " /></a><br />
<a id="m03" href="#"><img src="http://jerie.de/playground/cssthumbs01/03.jpg" alt=" " /></a><br />
<br class="nofloat" /></div>
<p><strong>CSS:</strong></p>
<pre class="qoate-code">
.thumb img
{
   width: 100px;
   visibility: hidden;
}
.thumb a
{
   width: 100px;
   display: block;
   float: left;
   overflow: hidden;
   height: 65px; z-index:1;
   position: relative;
   margin: 0 20px 0 0;
   border: solid 1px #ccc;
}
.thumb a:hover
{
   overflow:visible; z-index: 1000;
}
.thumb a:hover img
{
   width: 250px;
   position: absolute;
   margin-left: -125px;
   margin-top: -50px;
   visibility: visible;
}

.thumb #m01	{background: url(01s.jpg);}
.thumb #m02	{background: url(02s.jpg);}
.thumb #m03	{background: url(03s.jpg);}
</pre>
<p><strong>HTML:</strong></p>
<pre class="qoate-code">
&lt;div class="thumb"&gt;
	&lt;a href="#" id="m01"&gt;&lt;img src="01.jpg" /&gt;&lt;/a&gt;
	&lt;a href="#" id="m02"&gt;&lt;img src="02.jpg" /&gt;&lt;/a&gt;

	&lt;a href="#" id="m03"&gt;&lt;img src="03.jpg" /&gt;&lt;/a&gt;

&lt;br class="nofloat"/&gt;
&lt;/div&gt;
</pre>
<h2>Lazy guy version</h2>
<p>I know! People looking for a little CSS Snipplet like this and not doing the work themself are lazy people. So, to support your lazyness, here is the &#8220;lazy guy version&#8221; using <strong>only one picture</strong> for the thumbnails and the full size version. The thumbs are<strong> scaled  by CSS</strong>. The CSS is much smaller as there is no need to add a unique ID to every thumbnail.</p>
<div id="lazy" class="thumb"><a href="#"><img src="http://jerie.de/playground/cssthumbs01/01.jpg" alt=" " /></a><br />
<a href="#"><img src="http://jerie.de/playground/cssthumbs01/02.jpg" alt=" " /></a><br />
<a href="#"><img src="http://jerie.de/playground/cssthumbs01/03.jpg" alt=" " /></a><br />
<br class="nofloat" /></div>
<p><strong>CSS:</strong></p>
<pre class="qoate-code">
.thumb img	{width: 100px;}
.thumb a
{
   width: 100px;
   display: block;
   float: left;
   overflow: hidden;
   height: 65px;
   z-index:1;
   position: relative;
   margin: 0 20px 0 0; 

   border: solid 1px #ccc;
}
.thumb a:hover	{overflow:visible; z-index: 1000;}
.thumb a:hover img
{
   width: 250px;
   position: absolute;
   margin-left: -125px;
   margin-top: -50px;
}
</pre>
<p><strong>HTML:</strong></p>
<pre class="qoate-code">
&lt;div class="thumb"&gt;
	&lt;a href="#"&gt;&lt;img src="01.jpg" /&gt;&lt;/a&gt;
	&lt;a href="#"&gt;&lt;img src="02.jpg" /&gt;&lt;/a&gt;
	&lt;a href="#"&gt;&lt;img src="03.jpg" /&gt;&lt;/a&gt;
&lt;br class="nofloat"/&gt;
&lt;/div&gt;
</pre>
]]></content:encoded>
			<wfw:commentRss>http://jerie.de/css/pure-css-thumbnails/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>

