Banner - Blog zu den Themen Programmierung, SEO, SEM, Social Media, Internet Marketing, Webdesign, IT-Service und Mehr - SEO Hannover - IT-Dienstleistungen und SEO Agentur Fly2Mars-Media.de

Archiv

Artikel Tagged ‘magento javascript einbinden’

Magento Resources – Coding Tipps – Magento Cheet Sheet

29. Oktober 2009 daniel Keine Kommentare

php-code

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()

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

Mage::getSingleton('core/session')->setYourVariable('data');
 $Data = Mage::getSingleton('core/session')->getYourVariable();

Hier noch eine Übersicht von diversen häufig gebrauchten Funktionen (wird zukünftig noch erweitert):

Diverse Werte

<?php
$storeId     = Mage::app()->getStore()->getId();
$storeName   = Mage::app()->getStore()->getName();
$storeCode   = Mage::app()->getStore()->getCode();
$groupId     = Mage::app()->getStore()->getGroupID();
$groupName   = Mage::app()->getStore()->getGroup()->getName();
$websiteName = Mage::app()->getWebsite()->getName();

Models

<?php
$customer = Mage::getModel('customer/customer');
$order    = Mage::getModel('sales/order');
$product  = Mage::getModel('catalog/product');

/* own modul in local */
Mage::getModel('namespace_modul/model')->init($item);

Blocks


<?php
$block = Mage::app()->getLayout()->createBlock('Namespace_Module_Block_BlockName');

Helpers

<?php
$helper = Mage::helper('helper');

Logging

<?php
Mage::log('Schreibe das ins Logfile');

Globale Variable setzen & auslesen

Globale Variable in Magento definieren:

Mage::register('globaleVariable', 'Inhalt');

Globale Variable in Magento auslesen:

Mage::registry('globaleVariable');

Website ID anzeigen (website_id)

<?php echo  Mage::app()->getWebsite()->getID(); ?>

StoreGroup ID anzeigen (group_id)

<?php echo  Mage::app()->getStore()->getGroupID(); ?>

Website Name anzeigen (name)

<?php echo  Mage::app()->getWebsite()->getName(); ?>

Store Name anzeigen (name)

<?php echo  Mage::app()->getStore()->getGroup()->getName(); ?>

StoreView Name anzeigen (name)

<?php echo  Mage::app()->getStore()->getName(); ?>

Skin URL

<?php echo $this->getSkinUrl('images/test.jpg')  ?>

SKU anzeigen

<?php echo  $this->htmlEscape($_product->getSku()) ?>

Hersteller anzeigen

<?php echo  $_product->getAttributeText('manufacturer') ?>

Link zur anzeige einer Kategorie erzeugen


// die Zahl bei load() ist die Category-ID
Mage::getModel('catalog/category')->load('1000')->getUrl();

Link zu einem bestimmen Pfad erzeugen


$this->getUrl('checkout/cart/')

Alternativ


Mage::getBaseDir('lib');  // lib folder
Mage::getBaseDir('media'); // media folder

die aktuelle Action (ActionName) auslesen


// liefert als return zB. "new"
$this->getRequest()->getActionName());

Module überschreiben (config.xml)

Wenn ihr ein Model überschreiben möchtet so sieht dazu die Config wie folgt aus. Hier am Beispiel des Catalog Model  Mage_Catalog_Model_Config welches durch die neu angelegte Klasse Namespace_Catalog_Model_Config erweitert wird, welche im neu angelegten Module Ordner unter /app/code/local/Namespace/Catalog/Model/Config.php abgelegt ist ):


<?xml version="1.0"?>
<config>
 <modules>
 <Namespace_Catalog>
 <version>0.0.1</version>
 </Namespace_Catalog>
 </modules>
 <global>
 <models>
 <catalog>
 <rewrite>
 <config>Namespace_Catalog_Model_Config</config>
 </rewrite>
 </catalog>
 </models>
 </global>
</config>

Magento: Alle aktiven Sprachen anzeigen / show Available Languages

$availLangs = Mage::getStoreConfig('general/locale/available_languages');
 if (!is_array($availLangs)) {
 $availLangs = explode(',', $availLangs);
 }

Magento: Filter Attribute erweitern / entfernen (Filter List on Product/Category/Search List)

// $this = Mage_Catalog_Block_Product_List_Toolbar
$this->addOrderToAvailableOrders('price', $this->__('Price'));

// $this = Mage_Catalog_Block_Product_List_Toolbar
// remove attribute
$this->removeOrderFromAvailableOrders('price');
Get Adobe Flash playerPlugin by wpburn.com wordpress themes