<?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/"
	>

<channel>
	<title>Magento Experts</title>
	<atom:link href="http://www.mxperts.de/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.mxperts.de</link>
	<description>Alles zum Thema Magento - für Anwender und Entwickler</description>
	<pubDate>Mon, 05 Jul 2010 09:10:38 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.7.1</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Fehlersuche mit Mage::Log()</title>
		<link>http://www.mxperts.de/fehlersuche-mit-magelog/</link>
		<comments>http://www.mxperts.de/fehlersuche-mit-magelog/#comments</comments>
		<pubDate>Mon, 05 Jul 2010 09:07:37 +0000</pubDate>
		<dc:creator>Johannes Teitge</dc:creator>
		
		<category><![CDATA[Code-Snippets]]></category>

		<category><![CDATA[Erste Schritte]]></category>

		<category><![CDATA[Home]]></category>

		<category><![CDATA[To-Top Link]]></category>

		<category><![CDATA[Error-Log]]></category>

		<category><![CDATA[Errors]]></category>

		<category><![CDATA[Fehlersuche]]></category>

		<category><![CDATA[log]]></category>

		<category><![CDATA[mage::log]]></category>

		<guid isPermaLink="false">http://www.mxperts.de/?p=5846</guid>
		<description><![CDATA[Oft können Sie, z.B. bei Magento-Modulen, Klassen und AJAX-Aufrufen, keine Funktionstests mit einem einfachen &#8220;ECHO&#8221; ausführen. Man muss die Ergebnisse der Funktionen in ein Logfile schreiben und auswerten. Magento bietet dafür in der Klasse Mage die Funktion log(). 
Datei: app\Mage.php

    /**
     * log facility (??)
    [...]]]></description>
			<content:encoded><![CDATA[<p>Oft können Sie, z.B. bei Magento-Modulen, Klassen und AJAX-Aufrufen, keine Funktionstests mit einem einfachen &#8220;ECHO&#8221; ausführen. Man muss die Ergebnisse der Funktionen in ein Logfile schreiben und auswerten. Magento bietet dafür in der Klasse Mage die Funktion <strong>log()</strong>. </br><span id="more-5846"></span></p>
<p>Datei: <strong>app\Mage.php</strong>
<pre class="brush: php;">
    /**
     * log facility (??)
     *
     * @param string $message
     * @param integer $level
     * @param string $file
     */
    public static function log($message, $level=null, $file = '')
    {
        if (!self::getConfig()) {
            return;
        }
        if (!Mage::getStoreConfig('dev/log/active')) {
            return;
        }

        static $loggers = array();

        $level  = is_null($level) ? Zend_Log::DEBUG : $level;
        if (empty($file)) {
            $file = Mage::getStoreConfig('dev/log/file');
            $file   = empty($file) ? 'system.log' : $file;
        }

        try {
            if (!isset($loggers[$file])) {
                $logFile = Mage::getBaseDir('var').DS.'log'.DS.$file;
                $logDir = Mage::getBaseDir('var').DS.'log';

                if (!is_dir(Mage::getBaseDir('var').DS.'log')) {
                    mkdir(Mage::getBaseDir('var').DS.'log', 0777);
                }

                if (!file_exists($logFile)) {
                    file_put_contents($logFile,'');
                    chmod($logFile, 0777);
                }

                $format = '%timestamp% %priorityName% (%priority%): %message%' . PHP_EOL;
                $formatter = new Zend_Log_Formatter_Simple($format);
                $writer = new Zend_Log_Writer_Stream($logFile);
                $writer-&gt;setFormatter($formatter);
                $loggers[$file] = new Zend_Log($writer);
            }

            if (is_array($message) || is_object($message)) {
                $message = print_r($message, true);
            }

            $loggers[$file]-&gt;log($message, $level);
        }
        catch (Exception $e){

        }
    }
</pre>
<p></br><br />
Der einfachste Aufruf erfolgt über:</p>
<pre class="brush: php;">
Mage::log('Mein Log-Eintrag');
Mage::logException($Exception);
</pre>
<p>Das Ergebnis finden Sie bei einer Standard-Konfiguration unter <strong>var/log/system.log</strong>, oder  <strong>var/log/exception.log</strong> bei Exceptions. Im Backend von Magento, unter &#8220;System -> Konfiguration ->Entwickleroptionen -> Log Einstellungen&#8221;, kann diese Funktion aktiviert werden und die Dateinamen für die Log-Files vorgegeben werden.</br></br><br />
<img src="http://www.mxperts.de/wp-content/uploads/2010/07/logconfig.jpg"></br></p>
<p>Alternativ kann man die Dateinamen auch mit dem Ausführen der Funktion <b>log()</b> steuern (Das gilt nicht für logException()). Dafür muss man lediglich den dritten Parameter beim Funktionaufruf mit angeben. Der Output wäre dann zum Beispiel wie folgt:</p>
<pre class="brush: php;">
...
$productData['adminlog'] = $user-&gt;getName() . &quot;; &quot; . $roleName . &quot;; &quot; . $formated_date;
$loginfo = $productData['sku'] . &quot; &quot; . $productData['adminlog'];
Mage::log($loginfo, null, &quot;logfile.log&quot;);
...
</pre>
<p>Der Inhalt der Log-Datei sieht dann wie folgt aus:</p>
<pre class="brush: php;">
2010-07-02T07:39:47+00:00 DEBUG (7): MKN-CGE11 Johannes Teitge; Administrators; 01.07.2010 08:11:24
2010-07-02T07:44:42+00:00 DEBUG (7): MKN-CGE11 Johannes Teitge; Administrators; 02.07.2010 07:44:42
</pre>
<p>In diesem Sinne, wünschen wir weiterhin viel Erfolg beim aufspüren Ihrer Magento-Fehler.</p>
<a href="http://www.addtoany.com/add_to/twitter?linkurl=http%3A%2F%2Fwww.mxperts.de%2Ffehlersuche-mit-magelog%2F&amp;linkname=Fehlersuche%20mit%20Mage%3A%3ALog%28%29" title="Twitter" rel="nofollow" target="_blank"><img src="http://www.mxperts.de/wp-content/plugins/add-to-any/icons/twitter.png" alt="Twitter"/></a> <a href="http://www.addtoany.com/add_to/webnews?linkurl=http%3A%2F%2Fwww.mxperts.de%2Ffehlersuche-mit-magelog%2F&amp;linkname=Fehlersuche%20mit%20Mage%3A%3ALog%28%29" title="Webnews" rel="nofollow" target="_blank"><img src="http://www.mxperts.de/wp-content/plugins/add-to-any/icons/webnews.png" alt="Webnews"/></a> <a href="http://www.addtoany.com/add_to/mister-wong?linkurl=http%3A%2F%2Fwww.mxperts.de%2Ffehlersuche-mit-magelog%2F&amp;linkname=Fehlersuche%20mit%20Mage%3A%3ALog%28%29" title="Mister-Wong" rel="nofollow" target="_blank"><img src="http://www.mxperts.de/wp-content/plugins/add-to-any/icons/mister-wong.png" alt="Mister-Wong"/></a> <a href="http://www.addtoany.com/add_to/facebook?linkurl=http%3A%2F%2Fwww.mxperts.de%2Ffehlersuche-mit-magelog%2F&amp;linkname=Fehlersuche%20mit%20Mage%3A%3ALog%28%29" title="Facebook" rel="nofollow" target="_blank"><img src="http://www.mxperts.de/wp-content/plugins/add-to-any/icons/facebook.png" alt="Facebook"/></a> <a href="http://www.addtoany.com/add_to/digg?linkurl=http%3A%2F%2Fwww.mxperts.de%2Ffehlersuche-mit-magelog%2F&amp;linkname=Fehlersuche%20mit%20Mage%3A%3ALog%28%29" title="Digg" rel="nofollow" target="_blank"><img src="http://www.mxperts.de/wp-content/plugins/add-to-any/icons/digg.png" alt="Digg"/></a> <a href="http://www.addtoany.com/add_to/blogmarks?linkurl=http%3A%2F%2Fwww.mxperts.de%2Ffehlersuche-mit-magelog%2F&amp;linkname=Fehlersuche%20mit%20Mage%3A%3ALog%28%29" title="BlogMarks" rel="nofollow" target="_blank"><img src="http://www.mxperts.de/wp-content/plugins/add-to-any/icons/blogmarks.png" alt="BlogMarks"/></a> <a class="a2a_dd addtoany_share_save" href="http://www.addtoany.com/share_save?&amp;linkurl=http%3A%2F%2Fwww.mxperts.de%2Ffehlersuche-mit-magelog%2F&amp;linkname=Fehlersuche%20mit%20Mage%3A%3ALog%28%29"><img src="http://www.mxperts.de/wp-content/plugins/add-to-any/share_save_120_16.png" width="120" height="16" alt="Share/Save/Bookmark"/></a>]]></content:encoded>
			<wfw:commentRss>http://www.mxperts.de/fehlersuche-mit-magelog/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Achtung: ungewolltes ausspionieren Ihres Onlineshops</title>
		<link>http://www.mxperts.de/achtung-ungewolltes-ausspionieren-ihres-onlineshops/</link>
		<comments>http://www.mxperts.de/achtung-ungewolltes-ausspionieren-ihres-onlineshops/#comments</comments>
		<pubDate>Tue, 22 Jun 2010 14:48:13 +0000</pubDate>
		<dc:creator>Johannes Teitge</dc:creator>
		
		<category><![CDATA[Home]]></category>

		<category><![CDATA[Datenklau]]></category>

		<category><![CDATA[Spionage]]></category>

		<category><![CDATA[Tracker]]></category>

		<guid isPermaLink="false">http://www.mxperts.de/?p=5829</guid>
		<description><![CDATA[Für Magento gibt es eine vielzahl kostenfreier Erweiterungen, was dazu führt, dass Shopbesitzer einem &#8220;Installationswahn&#8221; unterliegen. Allzuoft müssen wir dadurch entstandene Schäden wieder in Ordnung bringen. Was aber noch viel schlimmer ist, dass diverse Hersteller von Extensions, Scripte ausführen, welche Daten von Ihrem Shop ausspionieren.
Ich möchte Ihnen das anhand der Erweiterung Autocomplete Search zeigen. Eigentlich [...]]]></description>
			<content:encoded><![CDATA[<p>Für Magento gibt es eine vielzahl kostenfreier Erweiterungen, was dazu führt, dass Shopbesitzer einem &#8220;Installationswahn&#8221; unterliegen. Allzuoft müssen wir dadurch entstandene Schäden wieder in Ordnung bringen. Was aber noch viel schlimmer ist, dass diverse Hersteller von Extensions, Scripte ausführen, welche Daten von Ihrem Shop ausspionieren.<span id="more-5829"></span></ br></ br></p>
<p>Ich möchte Ihnen das anhand der Erweiterung <a href="http://www.magentocommerce.com/magento-connect/tonyfox/extension/2176/autocomplete-search" target=_blank>Autocomplete Search</a> zeigen. Eigentlich wollte wir nur die Integration von jQuery entfernen um die Extension mit JQuery-Base benutzen zu können. Mir ist dann aufgefallen, dass in der config.xml ein Crontab eingtragen wurde.</p>
<pre class="brush: xml;">
...
	&lt;crontab&gt;
		&lt;jobs&gt;
			&lt;autocomplete_callhome&gt;
				&lt;schedule&gt;&lt;cron_expr&gt;0 6 * * *&lt;/cron_expr&gt;&lt;/schedule&gt;
				&lt;run&gt;&lt;model&gt;autocomplete/call::home&lt;/model&gt;&lt;/run&gt;
			&lt;/autocomplete_callhome&gt;
		&lt;/jobs&gt;
	&lt;/crontab&gt;
...
</pre>
<p>Der erste Gedanke: Es könnte ja sein, dass täglich ein Suchindex aufgebaut wird um die Performance der Suche zu beschleunigen. Allerdings wird man nach einsehen des Funktionaufrufs <strong>home</strong> eines besseren belehrt.</p>
<pre class="brush: php;">
&lt;?php
/**
 * This script 'calls home' every day with information that help us to
 * guage the popularity of the module.
 *
 * The information we collect is listed below:
 *
 * 		- Store URL
 */
class TF_Autocomplete_Model_Call {
	const ENABLE = true;

	public function home() {
		if (self::ENABLE) {
			$post = new Zend_Http_Client();
			$post-&gt;setMethod(Zend_Http_Client::POST);
			$post-&gt;setUri('http://www.tonyfox.co.uk/module_stats/tracker.php');
			$post-&gt;setParameterPost(array(
				'module' =&gt; 'TF_Autocomplete',
				'module_version' =&gt; '1.1.0',
				'store_url' =&gt; Mage::getStoreConfig('web/secure/base_url')
			));

			$response = $post-&gt;request();

			echo 'Response: ' . $response-&gt;getStatus() . ' ' . $response-&gt;getMessage();
			echo $response-&gt;getBody();
		}
	}
}
</pre>
<p>An die URL <strong>http://www.tonyfox.co.uk/module_stats/tracker.php</strong> werden die 3 Parameter <strong>modul</strong>, <strong>module_version</strong> und <strong>store_url</strong> einmal täglich gesendet. Ich möchte dem Hersteller nicht unterstellen dass mit den damit gewonnen Daten (Shop-URL) schindluder getrieben wird, aber die Möglichkeit besteht auf alle Fälle. Es ist auch nicht in Ordnung, dass ein Hinweis darauf, nicht der Modulbeschreibung auf www.magentocommerce.de enthalten ist. </p>
<p>Sie müssen für sich selbst entscheiden, ob Sie das tolerieren möchten oder nicht. Indem man den Crontab aus der <strong>config.xml</strong> entfernt, kann man auf alle Fälle die Code deaktivieren.</p>
<p>Viele Grüße<br />
Johannes Teitge</p>
<a href="http://www.addtoany.com/add_to/twitter?linkurl=http%3A%2F%2Fwww.mxperts.de%2Fachtung-ungewolltes-ausspionieren-ihres-onlineshops%2F&amp;linkname=Achtung%3A%20ungewolltes%20ausspionieren%20Ihres%20Onlineshops" title="Twitter" rel="nofollow" target="_blank"><img src="http://www.mxperts.de/wp-content/plugins/add-to-any/icons/twitter.png" alt="Twitter"/></a> <a href="http://www.addtoany.com/add_to/webnews?linkurl=http%3A%2F%2Fwww.mxperts.de%2Fachtung-ungewolltes-ausspionieren-ihres-onlineshops%2F&amp;linkname=Achtung%3A%20ungewolltes%20ausspionieren%20Ihres%20Onlineshops" title="Webnews" rel="nofollow" target="_blank"><img src="http://www.mxperts.de/wp-content/plugins/add-to-any/icons/webnews.png" alt="Webnews"/></a> <a href="http://www.addtoany.com/add_to/mister-wong?linkurl=http%3A%2F%2Fwww.mxperts.de%2Fachtung-ungewolltes-ausspionieren-ihres-onlineshops%2F&amp;linkname=Achtung%3A%20ungewolltes%20ausspionieren%20Ihres%20Onlineshops" title="Mister-Wong" rel="nofollow" target="_blank"><img src="http://www.mxperts.de/wp-content/plugins/add-to-any/icons/mister-wong.png" alt="Mister-Wong"/></a> <a href="http://www.addtoany.com/add_to/facebook?linkurl=http%3A%2F%2Fwww.mxperts.de%2Fachtung-ungewolltes-ausspionieren-ihres-onlineshops%2F&amp;linkname=Achtung%3A%20ungewolltes%20ausspionieren%20Ihres%20Onlineshops" title="Facebook" rel="nofollow" target="_blank"><img src="http://www.mxperts.de/wp-content/plugins/add-to-any/icons/facebook.png" alt="Facebook"/></a> <a href="http://www.addtoany.com/add_to/digg?linkurl=http%3A%2F%2Fwww.mxperts.de%2Fachtung-ungewolltes-ausspionieren-ihres-onlineshops%2F&amp;linkname=Achtung%3A%20ungewolltes%20ausspionieren%20Ihres%20Onlineshops" title="Digg" rel="nofollow" target="_blank"><img src="http://www.mxperts.de/wp-content/plugins/add-to-any/icons/digg.png" alt="Digg"/></a> <a href="http://www.addtoany.com/add_to/blogmarks?linkurl=http%3A%2F%2Fwww.mxperts.de%2Fachtung-ungewolltes-ausspionieren-ihres-onlineshops%2F&amp;linkname=Achtung%3A%20ungewolltes%20ausspionieren%20Ihres%20Onlineshops" title="BlogMarks" rel="nofollow" target="_blank"><img src="http://www.mxperts.de/wp-content/plugins/add-to-any/icons/blogmarks.png" alt="BlogMarks"/></a> <a class="a2a_dd addtoany_share_save" href="http://www.addtoany.com/share_save?&amp;linkurl=http%3A%2F%2Fwww.mxperts.de%2Fachtung-ungewolltes-ausspionieren-ihres-onlineshops%2F&amp;linkname=Achtung%3A%20ungewolltes%20ausspionieren%20Ihres%20Onlineshops"><img src="http://www.mxperts.de/wp-content/plugins/add-to-any/share_save_120_16.png" width="120" height="16" alt="Share/Save/Bookmark"/></a>]]></content:encoded>
			<wfw:commentRss>http://www.mxperts.de/achtung-ungewolltes-ausspionieren-ihres-onlineshops/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Backend-Navigation mit eigenem Logo (Image)</title>
		<link>http://www.mxperts.de/backend-navigation-mit-eigenem-logo-image/</link>
		<comments>http://www.mxperts.de/backend-navigation-mit-eigenem-logo-image/#comments</comments>
		<pubDate>Mon, 21 Jun 2010 07:12:39 +0000</pubDate>
		<dc:creator>Johannes Teitge</dc:creator>
		
		<category><![CDATA[Design & Templates]]></category>

		<category><![CDATA[Home]]></category>

		<category><![CDATA[Backend-Image]]></category>

		<category><![CDATA[Backend-Navigation]]></category>

		<guid isPermaLink="false">http://www.mxperts.de/?p=5720</guid>
		<description><![CDATA[&#8220;Ein Bild sagt mehr als tausend Worte&#8221; - wer kennst diesen Spruch nicht. Bilder prägen sich einfach besser ein, sind multilingual und man kann komplizierte Sachverhalte visualisieren. In der neuen Version von Magento ist dem ein oder anderen sicherlich in der Navigation bereits das PayPal-Logo aufgefallen. Das sticht einem sofort ins Auge und man wird [...]]]></description>
			<content:encoded><![CDATA[<p>&#8220;Ein Bild sagt mehr als tausend Worte&#8221; - wer kennst diesen Spruch nicht. Bilder prägen sich einfach besser ein, sind multilingual und man kann komplizierte Sachverhalte visualisieren. In der neuen Version von Magento ist dem ein oder anderen sicherlich in der Navigation bereits das PayPal-Logo aufgefallen. Das sticht einem sofort ins Auge und man wird sich beim nächsten einloggen ins Backend 100% an die Position des PayPal-Einstellungen erinnern. Wer dies mit seinen eigenen Extensions auch machen möchte, findet nachfolgend wie das funktioniert.</br><span id="more-5720"></span></p>
<p>Wir werden, als Beispiel, das Menü für unsere unsere Extension jQuery-Base stylen, damit Sie auch gleich ein reales Projekt vor Augen haben.</br></p>
<div style="float:left">
<small><strong style="padding-left:10px;">Vorher:</strong></small><br />
<img src="http://www.mxperts.de/wp-content/uploads/2010/06/jquery_be001.jpg" alt="jquery_be001" title="jquery_be001" width="179" height="64" class="alignright size-full wp-image-5729" />
</div>
<div style="float:left">
<small><strong style="padding-left:10px;">Nachher:</strong></small><br />
<img src="http://www.mxperts.de/wp-content/uploads/2010/06/jquery_be002.jpg" alt="jquery_be002" title="jquery_be002" width="179" height="64" class="alignright size-full wp-image-5730" />
</div>
<p><br style="clear:left;"></p>
<p><b>Das Vorgehen ist wir folgt:</b></p>
<p><a href="#image">1. Bilde(r) für den Menüpunkt erstellen</a><br />
<a href="#css">2. CSS-Datei erstellen</a><br />
<a href="#layout">3. Layout-XML für die Extension erstellen</a><br />
<a href="#config">4. Layout-XML über config.xml einbinden</a><br />
<a href="#class">5. CSS-Klasse in system.xml für Menüpunkt definieren</a></p>
<p><a name="image"><br />
<h3 style="padding-left: 5px;border-left: 5px solid red;">Bilde(r) für den Menüpunkt erstellen</h3>
<p></a>Für unser neues Menü erstellen wir zwei unterschiedliche Bilder. Wenn sich der Benutzer mit der Maus über dem Münpunkt befindet, soll ein anderes Bild erscheinen (Hover-Effekt). Die Grafik kann eine belibeige Größe haben, die man über den CSS-Style definieren kann. Man sollte die Grafik aber so wählen, dass die Usabilty im Backend erhalten bleibt.
<p>
<img src="http://www.mxperts.de/wp-content/uploads/2010/06/jquerybase.jpg" alt="jquerybase" title="jquerybase" width="87" height="22" /> <img src="http://www.mxperts.de/wp-content/uploads/2010/06/jquerybase_hover.jpg" alt="jquerybase_hover" title="jquerybase_hover" width="87" height="22" />
</p>
<p></br>Die Bilder speichern wir in das Verzeichnis <strong>skin\adminhtml\base\default\css\jquerybase</strong> mit den Dateinamen <strong>jquerybase.jpg</strong> sowie <strong>jquerybase_hover.jpg</strong>. Für Magento kleiner 1.4 verwenden Sie anstatt <strong>base</strong> das Verzeichnis <strong>default</strong>.</p>
<p><a name="css"><br />
<h3 style="padding-left: 5px;border-left: 5px solid red;">CSS-Datei erstellen</h3>
<p></a>Nun erstellen wir die CSS-Datei <strong>jquerybase.css</strong> und speichern Sie ins gleiche Verzeichnis wie die Bilder.</p>
<pre class="brush: css;">
ul.tabs a.jquerybase span, ul.tabs a.jquerybase:hover span {
  background:url(&quot;jquerybase.jpg&quot;) no-repeat scroll 0 0 transparent;
  height:0;
  overflow:hidden;
  padding:14px 0 0;
  width:150px;
  height: 8px;
  margin-left:16px;
  margin-top:10px;
  padding-left:19px;
}

ul.tabs a.jquerybase:hover span {
  background:url(&quot;jquerybase_hover.jpg&quot;) no-repeat scroll 0 0 transparent;
}
</pre>
<p>Die Klasse <strong>jquerybase</strong> aus der CSS, werden wir später in der system.xml eintragen, damit Magento im Backend diese Klasse integriert. Sie sehen in der CSS die Hover-Defintion und ansonsten recht unspektakulären CSS-Code der selbterklärend ist.</p>
<p><a name="layout"><br />
<h3 style="padding-left: 5px;border-left: 5px solid red;">Layout-XML für die Extension erstellen</h3>
<p></a>Um die bereits erstellte CSS-Datei über eine Extension einbinden zu können muss eine eigens dafür vorgesehene Laayout-XML eingebunden werden. Für unsere Extension ist das die Datei <strong>app\design\adminhtml\default\default\layout\jquerybase.xml</strong>. Der Dateiname, in unserem Fall jquerybase.xml kann frei gewählt werden. In der config.xml wird dieser Dateiname auch angegeben, damit Magento unsere eigene layout.xml einliest.</p>
<pre class="brush: xml; highlight: [7];">
&lt;layout version=&quot;0.1.0&quot;&gt;

  &lt;default&gt;
    &lt;reference name=&quot;head&quot;&gt;
      &lt;action method=&quot;addItem&quot;&gt;
        &lt;type&gt;skin_css&lt;/type&gt;
        &lt;name&gt;css/jquerybase/jquerybase.css&lt;/name&gt;
      &lt;/action&gt;
     &lt;/reference&gt;
  &lt;/default&gt;
 &lt;/layout&gt;
</pre>
<p><a name="config"><br />
<h3 style="padding-left: 5px;border-left: 5px solid red;">Layout-XML über config.xml einbinden</h3>
<p></a>Als nächstes müssen wir Magento noch mitteilen, dass eine eigene Layout.xml eingelesen werden soll. Die Definition dafür befindet sich in in unserem Fall in der Datei <strong>app\code\local\Mxperts\Jquery\etc</strong>.</p>
<pre class="brush: xml; highlight: [7];">
...
    &lt;adminhtml&gt;   

         &lt;layout&gt;
             &lt;updates&gt;
                 &lt;jquery&gt;
                     &lt;file&gt;jquerybase.xml&lt;/file&gt;
                 &lt;/jquery&gt;
             &lt;/updates&gt;
         &lt;/layout&gt;
...
</pre>
<p><a name="class"><br />
<h3 style="padding-left: 5px;border-left: 5px solid red;">CSS-Klasse in system.xml für Menüpunkt definieren</h3>
<p></a>Magento muss im Backendmenü unsere eigen vorgesehen Klasse integrieren. Dies müssen wir in der system.xml angeben und wir sind dann auch schon mit unsere Anpassung fertig. </p>
<pre class="brush: xml; highlight: [5];">
...
    &lt;sections&gt;
        &lt;mxperts translate=&quot;label&quot; module=&quot;mxperts&quot;&gt;
            &lt;label&gt;jQuery&lt;/label&gt;
            &lt;class&gt;jquerybase&lt;/class&gt;
...
</pre>
<a href="http://www.addtoany.com/add_to/twitter?linkurl=http%3A%2F%2Fwww.mxperts.de%2Fbackend-navigation-mit-eigenem-logo-image%2F&amp;linkname=Backend-Navigation%20mit%20eigenem%20Logo%20%28Image%29" title="Twitter" rel="nofollow" target="_blank"><img src="http://www.mxperts.de/wp-content/plugins/add-to-any/icons/twitter.png" alt="Twitter"/></a> <a href="http://www.addtoany.com/add_to/webnews?linkurl=http%3A%2F%2Fwww.mxperts.de%2Fbackend-navigation-mit-eigenem-logo-image%2F&amp;linkname=Backend-Navigation%20mit%20eigenem%20Logo%20%28Image%29" title="Webnews" rel="nofollow" target="_blank"><img src="http://www.mxperts.de/wp-content/plugins/add-to-any/icons/webnews.png" alt="Webnews"/></a> <a href="http://www.addtoany.com/add_to/mister-wong?linkurl=http%3A%2F%2Fwww.mxperts.de%2Fbackend-navigation-mit-eigenem-logo-image%2F&amp;linkname=Backend-Navigation%20mit%20eigenem%20Logo%20%28Image%29" title="Mister-Wong" rel="nofollow" target="_blank"><img src="http://www.mxperts.de/wp-content/plugins/add-to-any/icons/mister-wong.png" alt="Mister-Wong"/></a> <a href="http://www.addtoany.com/add_to/facebook?linkurl=http%3A%2F%2Fwww.mxperts.de%2Fbackend-navigation-mit-eigenem-logo-image%2F&amp;linkname=Backend-Navigation%20mit%20eigenem%20Logo%20%28Image%29" title="Facebook" rel="nofollow" target="_blank"><img src="http://www.mxperts.de/wp-content/plugins/add-to-any/icons/facebook.png" alt="Facebook"/></a> <a href="http://www.addtoany.com/add_to/digg?linkurl=http%3A%2F%2Fwww.mxperts.de%2Fbackend-navigation-mit-eigenem-logo-image%2F&amp;linkname=Backend-Navigation%20mit%20eigenem%20Logo%20%28Image%29" title="Digg" rel="nofollow" target="_blank"><img src="http://www.mxperts.de/wp-content/plugins/add-to-any/icons/digg.png" alt="Digg"/></a> <a href="http://www.addtoany.com/add_to/blogmarks?linkurl=http%3A%2F%2Fwww.mxperts.de%2Fbackend-navigation-mit-eigenem-logo-image%2F&amp;linkname=Backend-Navigation%20mit%20eigenem%20Logo%20%28Image%29" title="BlogMarks" rel="nofollow" target="_blank"><img src="http://www.mxperts.de/wp-content/plugins/add-to-any/icons/blogmarks.png" alt="BlogMarks"/></a> <a class="a2a_dd addtoany_share_save" href="http://www.addtoany.com/share_save?&amp;linkurl=http%3A%2F%2Fwww.mxperts.de%2Fbackend-navigation-mit-eigenem-logo-image%2F&amp;linkname=Backend-Navigation%20mit%20eigenem%20Logo%20%28Image%29"><img src="http://www.mxperts.de/wp-content/plugins/add-to-any/share_save_120_16.png" width="120" height="16" alt="Share/Save/Bookmark"/></a>]]></content:encoded>
			<wfw:commentRss>http://www.mxperts.de/backend-navigation-mit-eigenem-logo-image/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Personalisierter Browsertitel</title>
		<link>http://www.mxperts.de/personalisierter-browsertitel/</link>
		<comments>http://www.mxperts.de/personalisierter-browsertitel/#comments</comments>
		<pubDate>Fri, 11 Jun 2010 06:47:25 +0000</pubDate>
		<dc:creator>Johannes Teitge</dc:creator>
		
		<category><![CDATA[Code-Snippets]]></category>

		<category><![CDATA[Home]]></category>

		<category><![CDATA[Browser-Titel]]></category>

		<category><![CDATA[seo]]></category>

		<category><![CDATA[Title]]></category>

		<guid isPermaLink="false">http://www.mxperts.de/?p=5690</guid>
		<description><![CDATA[Um bei Magento den Browsertitel individuell anpassen zu können, reicht der Standard-Umfang von Magento oft nicht aus. In einem unserer Projekte sollte über ein Produkt-Attribut, über welches ein Text erfasst werden kann, der Browsertitel erweitert werden.
Um das HTML-Tag title anpassen zu können, müssen Sie die Datei /httpdocs/app/design/frontend/default/[Ihr Theme]/template/page/html/head.phtml bearbeiten. Nach den Copyright-Hinweisen finden Sie die [...]]]></description>
			<content:encoded><![CDATA[<p>Um bei Magento den Browsertitel individuell anpassen zu können, reicht der Standard-Umfang von Magento oft nicht aus. In einem unserer Projekte sollte über ein Produkt-Attribut, über welches ein Text erfasst werden kann, der Browsertitel erweitert werden.</br><span id="more-5690"></span></p>
<p>Um das HTML-Tag <b>title</b> anpassen zu können, müssen Sie die Datei <b>/httpdocs/app/design/frontend/default/[Ihr Theme]/template/page/html/head.phtml</b> bearbeiten. </br>Nach den Copyright-Hinweisen finden Sie die Zeile</p>
<pre class="brush: php;">
&lt;title&gt;&lt;?php echo $this-&gt;getTitle() ?&gt;&lt;/title&gt;
</pre>
<p>diese Zeile nun mit folgendem Code ersetzen:</br></p>
<pre class="brush: php;">
&lt;?php
  $the_title = $this-&gt;getTitle();

  //Wo befindet sich der Shop-Benutzer.
  $urlRequest = Mage::app()-&gt;getFrontController()-&gt;getRequest()-&gt;getControllerName();

  //wenn sich der Benutzer im Catalog View befindet
  if($urlRequest == 'category'):

    //in welcher Kategorie befindet sich der Benutzer
    $category_name =$this-&gt;getLayout()-&gt;getBlock('category.products')-&gt;getCurrentCategory()-&gt;getName();

     //Ausgabe des custom Titels wenn sich der Benutzer im Catalog View befindet
    $the_title  = $category_name . &quot; kaufen und &quot; . $category_name . &quot; im Beispiel Shop bestellen&quot;;

  //wenn sich der Benutzer im Product View befindet
  elseif($urlRequest == 'product'):

    //wir brauchen die id des angezeigten Produktes damit wir das Produkt laden können
    $product_id = Mage::app()-&gt;getFrontController()-&gt;getRequest()-&gt;getParam('id');

    //wir laden das product
    $product = Mage::getModel('catalog/product')-&gt;load($product_id);

    //unser custom Attribute &quot;Product_Title&quot;, welches im Backend angelegt wurde
    $custom_title_attribut = $product-&gt;getProduct_title();

    //Produkt Name
    $product_name = $product-&gt;getName();

    //Ausgabe des custom Titels für die Produktansicht
    $the_title = &quot;ShopName &quot; . $product_name . &quot; &quot; . $custom_title_attribut;

  endif;
?&gt;  

&lt;title&gt;&lt;?php echo $the_title ?&gt;&lt;/title&gt;
</pre>
<p>Bevor das Titel-Tag ausgegeben wird, ermitteln wir den aktuellen Controller-Namen. Mit dieser Erkenntnis können wir individuell den Titel anpassen. In unserem Falls soll der Titel für die Controller &#8216;category&#8217; und &#8216;product&#8217; angepasst werden. Wir setzen in der Produktansicht das Zusatzattribut <b>&#8220;product_title&#8221;</b> ein.<br />
<img src="http://www.mxperts.de/wp-content/uploads/2010/06/attr_verw.jpg" alt="attr_verw" title="attr_verw" width="558" height="202" class="alignright size-full wp-image-5713" /></p>
<p>Sie können natürlich Ihre individuellen Änderungen unterbringen um die <b>Title</b> für Ihre SEO-Maßnahmen zu verbessern.</p>
<p>Viele Grüße<br />
Johannes Teitge</p>
<a href="http://www.addtoany.com/add_to/twitter?linkurl=http%3A%2F%2Fwww.mxperts.de%2Fpersonalisierter-browsertitel%2F&amp;linkname=Personalisierter%20Browsertitel" title="Twitter" rel="nofollow" target="_blank"><img src="http://www.mxperts.de/wp-content/plugins/add-to-any/icons/twitter.png" alt="Twitter"/></a> <a href="http://www.addtoany.com/add_to/webnews?linkurl=http%3A%2F%2Fwww.mxperts.de%2Fpersonalisierter-browsertitel%2F&amp;linkname=Personalisierter%20Browsertitel" title="Webnews" rel="nofollow" target="_blank"><img src="http://www.mxperts.de/wp-content/plugins/add-to-any/icons/webnews.png" alt="Webnews"/></a> <a href="http://www.addtoany.com/add_to/mister-wong?linkurl=http%3A%2F%2Fwww.mxperts.de%2Fpersonalisierter-browsertitel%2F&amp;linkname=Personalisierter%20Browsertitel" title="Mister-Wong" rel="nofollow" target="_blank"><img src="http://www.mxperts.de/wp-content/plugins/add-to-any/icons/mister-wong.png" alt="Mister-Wong"/></a> <a href="http://www.addtoany.com/add_to/facebook?linkurl=http%3A%2F%2Fwww.mxperts.de%2Fpersonalisierter-browsertitel%2F&amp;linkname=Personalisierter%20Browsertitel" title="Facebook" rel="nofollow" target="_blank"><img src="http://www.mxperts.de/wp-content/plugins/add-to-any/icons/facebook.png" alt="Facebook"/></a> <a href="http://www.addtoany.com/add_to/digg?linkurl=http%3A%2F%2Fwww.mxperts.de%2Fpersonalisierter-browsertitel%2F&amp;linkname=Personalisierter%20Browsertitel" title="Digg" rel="nofollow" target="_blank"><img src="http://www.mxperts.de/wp-content/plugins/add-to-any/icons/digg.png" alt="Digg"/></a> <a href="http://www.addtoany.com/add_to/blogmarks?linkurl=http%3A%2F%2Fwww.mxperts.de%2Fpersonalisierter-browsertitel%2F&amp;linkname=Personalisierter%20Browsertitel" title="BlogMarks" rel="nofollow" target="_blank"><img src="http://www.mxperts.de/wp-content/plugins/add-to-any/icons/blogmarks.png" alt="BlogMarks"/></a> <a class="a2a_dd addtoany_share_save" href="http://www.addtoany.com/share_save?&amp;linkurl=http%3A%2F%2Fwww.mxperts.de%2Fpersonalisierter-browsertitel%2F&amp;linkname=Personalisierter%20Browsertitel"><img src="http://www.mxperts.de/wp-content/plugins/add-to-any/share_save_120_16.png" width="120" height="16" alt="Share/Save/Bookmark"/></a>]]></content:encoded>
			<wfw:commentRss>http://www.mxperts.de/personalisierter-browsertitel/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Produkte importieren für Magento 1.4.x</title>
		<link>http://www.mxperts.de/produkte-importieren-fur-magento-14x/</link>
		<comments>http://www.mxperts.de/produkte-importieren-fur-magento-14x/#comments</comments>
		<pubDate>Wed, 21 Apr 2010 12:57:19 +0000</pubDate>
		<dc:creator>Johannes Teitge</dc:creator>
		
		<category><![CDATA[Aktuelles]]></category>

		<category><![CDATA[Code-Snippets]]></category>

		<category><![CDATA[Daten importieren]]></category>

		<category><![CDATA[Erste Schritte]]></category>

		<category><![CDATA[Home]]></category>

		<category><![CDATA[Migration]]></category>

		<category><![CDATA[Kategorieren importieren]]></category>

		<category><![CDATA[Magento 1.4]]></category>

		<category><![CDATA[Products-Import]]></category>

		<category><![CDATA[Produkte importieren]]></category>

		<category><![CDATA[Tag hinzufügen]]></category>

		<guid isPermaLink="false">http://www.mxperts.de/?p=5663</guid>
		<description><![CDATA[Die ersten Shops auf Basis von Magento 1.4.x haben wir umgesetzt und unsere Extension Products-Import erweitert. Ab sofort funktioniert der Import auch bei der neusten Version von Magento, in Verbindung mit Custom-Options. 
Eine Beschreibung der einzelnen Features finden Sie hier als PDF zum Download.

Video:


Das Modul kaufen:
Das Modul Mxperts Products-Import ist über ShareIt zum Preis von [...]]]></description>
			<content:encoded><![CDATA[<p>Die ersten Shops auf Basis von Magento 1.4.x haben wir umgesetzt und unsere Extension Products-Import erweitert. Ab sofort funktioniert der Import auch bei der neusten Version von Magento, in Verbindung mit Custom-Options. </p>
<p><a href="http://www.mxperts.de/wp-content/uploads/2010/04/productsimport_de.pdf" target="_blank">Eine Beschreibung der einzelnen Features finden Sie hier als PDF zum Download.</a></p>
<p><span id="more-5663"></span></p>
<h3 style="border-left: 2px solid red; padding-left: 4px;">Video:</h3>
<p><a href="http://www.mxperts.de/video/productsimport/" target="_blank"><img src="http://www.mxperts.de/wp-content/uploads/2009/11/productsimport_video1.jpg" alt="productsimport_video1" title="productsimport_video1" width="550" height="506" /></a></p>
<p></p>
<h3 style="border-left: 2px solid red; padding-left: 4px;">Das Modul kaufen:</h3>
<p><a href="https://secure.shareit.com/shareit/checkout.html?PRODUCT[300360954]=1&#038;DELIVERY[300360954]=EML&#038;languageid=2&#038;stylefrom=300360954" target="_blank"><strong>Das Modul Mxperts Products-Import ist über ShareIt zum Preis von 399,- € zzgl. 19% MwSt. zu beziehen.</strong></a></p>
<a href="http://www.addtoany.com/add_to/twitter?linkurl=http%3A%2F%2Fwww.mxperts.de%2Fprodukte-importieren-fur-magento-14x%2F&amp;linkname=Produkte%20importieren%20f%C3%BCr%20Magento%201.4.x" title="Twitter" rel="nofollow" target="_blank"><img src="http://www.mxperts.de/wp-content/plugins/add-to-any/icons/twitter.png" alt="Twitter"/></a> <a href="http://www.addtoany.com/add_to/webnews?linkurl=http%3A%2F%2Fwww.mxperts.de%2Fprodukte-importieren-fur-magento-14x%2F&amp;linkname=Produkte%20importieren%20f%C3%BCr%20Magento%201.4.x" title="Webnews" rel="nofollow" target="_blank"><img src="http://www.mxperts.de/wp-content/plugins/add-to-any/icons/webnews.png" alt="Webnews"/></a> <a href="http://www.addtoany.com/add_to/mister-wong?linkurl=http%3A%2F%2Fwww.mxperts.de%2Fprodukte-importieren-fur-magento-14x%2F&amp;linkname=Produkte%20importieren%20f%C3%BCr%20Magento%201.4.x" title="Mister-Wong" rel="nofollow" target="_blank"><img src="http://www.mxperts.de/wp-content/plugins/add-to-any/icons/mister-wong.png" alt="Mister-Wong"/></a> <a href="http://www.addtoany.com/add_to/facebook?linkurl=http%3A%2F%2Fwww.mxperts.de%2Fprodukte-importieren-fur-magento-14x%2F&amp;linkname=Produkte%20importieren%20f%C3%BCr%20Magento%201.4.x" title="Facebook" rel="nofollow" target="_blank"><img src="http://www.mxperts.de/wp-content/plugins/add-to-any/icons/facebook.png" alt="Facebook"/></a> <a href="http://www.addtoany.com/add_to/digg?linkurl=http%3A%2F%2Fwww.mxperts.de%2Fprodukte-importieren-fur-magento-14x%2F&amp;linkname=Produkte%20importieren%20f%C3%BCr%20Magento%201.4.x" title="Digg" rel="nofollow" target="_blank"><img src="http://www.mxperts.de/wp-content/plugins/add-to-any/icons/digg.png" alt="Digg"/></a> <a href="http://www.addtoany.com/add_to/blogmarks?linkurl=http%3A%2F%2Fwww.mxperts.de%2Fprodukte-importieren-fur-magento-14x%2F&amp;linkname=Produkte%20importieren%20f%C3%BCr%20Magento%201.4.x" title="BlogMarks" rel="nofollow" target="_blank"><img src="http://www.mxperts.de/wp-content/plugins/add-to-any/icons/blogmarks.png" alt="BlogMarks"/></a> <a class="a2a_dd addtoany_share_save" href="http://www.addtoany.com/share_save?&amp;linkurl=http%3A%2F%2Fwww.mxperts.de%2Fprodukte-importieren-fur-magento-14x%2F&amp;linkname=Produkte%20importieren%20f%C3%BCr%20Magento%201.4.x"><img src="http://www.mxperts.de/wp-content/plugins/add-to-any/share_save_120_16.png" width="120" height="16" alt="Share/Save/Bookmark"/></a>]]></content:encoded>
			<wfw:commentRss>http://www.mxperts.de/produkte-importieren-fur-magento-14x/feed/</wfw:commentRss>
		</item>
	</channel>
</rss>
<!-- WP Super Cache is installed but broken. The path to wp-cache-phase1.php in wp-content/advanced-cache.php must be fixed! -->