Magento Resources – Coding Tipps
Eine MySQL Datenbank kopieren als Linux Root
Mit dem folgendem Befehlt könnt ihr erfolgreich eine Magento Datenbank kopieren:
$ mysqldump -u root –password=pass db1 | mysql -u root –password=pass db2
Aktuelle Store ID abfragen
Manchmal ist es notwendig die aktuelle Store-ID abzufragen, das geht wie folgt:
Mage::app()->getStore()->getCode()
Heraus finden ob ein Benutzer am System angemeldet ist
Das ist wirklich nützlich wenn Sie z.B. eine spezielle Nachricht oder Gutschein-Code nur für eingeloggte Kunden anzeigen wollen
Mage::getSingleton( 'customer/session' )->isLoggedIn()
Blocks anzeigen welche in dem Bereich nicht geladen sind (Template)
In dem Beispiel binden wir die Top-Suche außerhalb der header.phtml ein. Sie können die Methode überall in den Template-Dateien aufrufen, um Blücke anzuzeigen welche an der Stelle nicht geladen werden.
$this->getChildHtml()</blockquote>
<blockquote>
<pre><?php echo $this->getLayout()->getBlock('top.search')->toHtml()?>
Ein bestimmtes Attribut ausgeben
Um den Namen eines Attributes in einer Bestellung anzuzeigen, folgenden Code aufrufen (z.B. in template/catalog/product/view.phtml ):
<?php echo $_product->getAttributeText('furniture_type') ?>
Wie gibt man den aktuellen Layout Ordner (theme folder) ausgeben?
<?php echo $this->getSkinUrl('') ?>
Die Ausgabe ist ähnlich: http://www.yoursite.com/skin/frontend/default/default/
Warum das sinnvoll ist:
Falls Sie ein neuen CSS Style hinzufügen wollen um z.B. ein Hintergrundbild anzuzeigen, ist der Beste Weg dieses in das Ihr Template Bilder Ordner zu packen und eine Referenz über diesen Aufruf zu setzen:
.className {
background-image: url(<?php echo $this->getSkinUrl('images/') ?>imageName.gif);
}
Oder eine JavaScript Datei einzubinden:
<script type="text/javascript" src="<?php echo $this->getSkinUrl('js/Script.js')?>"></script>
Abfrage von Daten aus der Datenbank (ohne SQL-Abfrage)
Einige Module haben ein Resoure-Model definiert, über das Ihr Daten direkt von der Datenbank abfragen könnt (mapping). Der Zugriff erfolgt in der Regel dann für die Spalte xy über das die Methode getXy() des Models.
Abfrage von Daten aus der Datenbank (per SQL-Abfrage)
Im Rahmen der Entwicklung von Erweiterungen ist es ggf. notwendig Daten aus der Datenbank abzufragen.
Da Magento auf das ZendFramework basiert, ist der Aufruf identisch und zwar wie folgt:
$select = '';
$table = 'table_name';
$where = 'id=' . $id;
$order = '';
// read data
$connection = Mage::getSingleton('core/resource')
->getConnection('core_read');
$select = $connection->select()
->from($table)
->where($where)
->order($order);
$data = $connection->fetchAll($select);
Session Variable in Magento setzen und abfragen
<div><code> Mage::getSingleton('core/session')->setYourVariable('data');
$Data = Mage::getSingleton('core/session')->getYourVariable();</code></div>
Sie Benötigen Unterstützung bei der Erstellung oder Anpassung eines Magento eCommerce Shop System?
Fly2Mars-Media unterstützt Sie in diesem und vielen anderen Bereichen rund um das Thema Internet & IT!
Für ein individuelles Angebot nehmen Sie noch heute Kontakt mit uns auf.


