Magento-Cheatsheet

Für diverse häufig gebrauchte Funktionen mit dem doch sehr umfangreichen Shopsystem hier eine kleine Übersicht (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();

Session

<?php
$sessionId  = Mage::getModel('core/session')->getSessionId();
$customerId = Mage::getModel('customer/session')->getCustomerId();
$vistitorId = Mage::getModel('core/session')->getVisitorId();

Models

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

Produkt-Model

$product    = Mage::getModel('catalog/product')->load($productId);
$categories = $product->getCategoryCollection();

Konfiguration

auslesen

$value = Mage::getStoreConfig('[MODULE]/[SECTION]/[FIELD]', $storeId);

und wieder schreiben

// Wert für Store 1 setzen
Mage::getConfig()->saveConfig('path/to/config/value', 12343, 'stores', 1);

// oder als Defaultwert
Mage::getConfig()->saveConfig('path/to/config/value', 12343);

Blocks

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

Helpers

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

Logging

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

Sonstiges

Store-Umgebung simulieren

Mage::app()->getLocale()->emulate($storeId);

Events auslösen

Mage::dispatchEvent($eventName);

Es geht weiter…

5 Kommentare

  1. Danke für deinen Eintrag genau das hab ich gesucht :)
    Nur hab ich ein komisches Problem. Ich geb die sessionId und die customerId aus und funktioniert.
    Nur meine visitorId ist leer und ich weiß nicht warum?

  2. Warum das nicht geht kann ich dir leider auch nicht sagen. Magento ist eben “besonders”…

  3. Die VisitorId bekommst du:
    Mage::getSingleton ( ‘log/visitor’ )->getVisitorId ();
    und das erzeugt die sogar eine neue, wenn noch keine da ist -> wie beim ersten request

  4. Pingback: Magneto CheatSheet | Best Cheat Sheets

  5. Produkte ausbrüten ohne Reue (und schneller dazu). Zur Erklärung: es gibt im Magento-Core einen Memory-Leak, durch den der von einer Produktinstanz benötigte Speicher auch nach dem Tod der Instanz nicht wieder freigegeben wird (Folge: brütet man bspw. per Schleife viele Produktinstanzen aus, schmiert irgendwann das Skript mangels Speicher ab). Das umgeht man mit der folgenden Konstruktion:

    if (!isset ($product)) {
    $product = Mage::getModel(‘catalog/product’);
    } else {
    $product=$product->getResource()->load($product, $product_id);
    }

Schlagwörter: Adapter, Amazon, Animation, Annotations, Anonyme Klasse, Ant, Apache, API, Array, ArrayAccess, Attachment, AutoLoader, Bedienung, Bedingung, Benchmark, Bildbearbeitung, BOM, Bootstrap, Bot, Byte Order Mark, Callback, CamelCase, Canvas, Captcha, Cheatsheet, CLI, Closure, Cloud, CodeSniffer, Community, Comparator, Contest, Controller, Converter, CouchDB, Countable, Cronjob, CSV, CustomLibrary, Custom_Model, Data Mapper, Datei, Datenbank, Datenstruktur, Datentypen, Dating, Decorator, Dekorierer, Design Patterns, Dump, Duplikat, each, Eclipse, Entwicklung, Entwurfsmuster, Enum, Erweiterung, Eventhandling, Exception-Handling, Extension, Factory, Fehler, Flash, Foreach, Formatierung, Formular, Funktion, Futon, Header, HTML5, HTTP, IDE, If, Implementierung, InnoDB, Interceptor, Interface, isset, Iterator, Java, JavaScript, jQuery, Konfiguration, Konsole, Kontrollstruktur, kopieren, Late Static Binding, Layout, Linux, Listeners, Logging, Löschen, Magento, Magic Methods, Marketing, Methode, Model, MVC, MySQL, NetBeans, Objekt, Observable, Observer, OOP, Operator, Parameter, Partnersuche, Performance, PHP, phpMyAdmin, PHPUnit, Plugin, Proxy, Qualitätssicherung, Query, Reflection, Request, Response, Rest-API, Rockstar, Routing, S3, Samba, Scheifen, Schleife, Schutz, Secure Shell, Selbstreferenz, Shop, Sicherheit, Sicherung, Singleton Pattern, SOAP, Sortierung, Sourcecode, Spam, Speicherproblem, Spickzettel, SPL, SSH, Statement, Stellvertreter, Strategy Pattern, Stream, String, Sun VirtualBox, Support, Switch, Symfony, Symfony2, Symfony Live, Tag, Template, Template Method, Ternär Operator, Testing, Thumbnail, Tool, Tour, Twig, Type-Cast, Umwandlung, Underscore, unset, Vererbung, Verzweigung, Video, Videospiel, Virtualisierung, Visitor Pattern, Vorschaubild, walk, Webserver, Webservice, Weiterleitung, Wrapper, Youtube, Zeitsteuerung, Zend Framework, Zend_Cloud, Zend_CodeGenerator, Zend_Http_Client, Zend_Service, Zugriffsmethode