Codeschnipsel: Setzen eines Textes via layout.xml

Posted by Falk Opitz | Posted in Magento Codeschnipsel | Posted on 04-10-2011

Mit diesem XML-Code kann ein Text in einer layout.xml Datei von Magento definiert und in einem Template wieder ausgegeben werden:


<block type="core/text" name="mytext"><action method="setText"><text>Das ist mein Text.</text></action></block>

Der Text kann dann z.B. mit


<?php echo $this->getChildHtml('mytext'); ?>

im Template abgerufen werden, sofern der o.g. XML-Code innerhalb des entsprechenden Blocks verwendet wird.

Codeschnipsel: Magento ProductCollection mit Produkten einer Kategorie, sortiert nach Anzahl an Verkäufen

Posted by Falk Opitz | Posted in Magento Codeschnipsel | Posted on 16-08-2011

Der folgende Code generiert eine Magento ProductCollection, die nur aktive Produkte einer bestimmten Kategorie enthält, sortiert nach der Anzahl an Verkäufen:

<?php $productCollection = Mage::getModel('catalog/product')->getCollection()
->addAttributeToFilter('visibility', $visibility)
->addAttributeToSelect(array('entity_id', 'sku'))
->joinField('rating_summary', 'review/review_aggregate', 'rating_summary', 'entity_pk_value=entity_id', array('entity_type' => 1, 'store_id' => Mage::app()->getStore()->getId()), 'left')
->addCategoryFilter($category)
->getSelect()
->joinLeft(array("order_items" => $productCollection->getTable('sales/order_item')), "order_items.product_id = e.entity_id", array())
->columns(array("orderd_qty" => "count(`order_items`.item_id)"))
->group("e.entity_id")
->order('orderd_qty DESC'); ?>

Danke an Fabian Blechschmidt

Codeschnipsel: Magento Backend-Benutzer laden

Posted by Falk Opitz | Posted in Magento Codeschnipsel | Posted on 16-08-2011

Mit dem folgenden Aufruf kommt man an den vollständigen Backend-Benutzer von Magento:

<?php $user = Mage::getSingleton('admin/session')->getUser(); ?>

Codeschnipsel: Magento Admin Session

Posted by Falk Opitz | Posted in Magento Codeschnipsel | Posted on 16-08-2011

Um an die Session für Magento Backend-Benutzer (Administratoren) zu gelangen, wird folgender Aufruf benötigt:

<?php $session = Mage::getSingleton('admin/session'); ?>

Codeschnipsel: Magento Product Collection laden

Posted by Falk Opitz | Posted in Magento Codeschnipsel | Posted on 15-08-2011

Mit diesem Code-Schnipsel kann man die Product Collection von Magento laden.

<?php $productCollection = Mage::getModel('catalog/product')->getCollection(); ?>

Codeschnipsel: Magento *.sql-Backup einspielen

Posted by Falk Opitz | Posted in Magento Codeschnipsel | Posted on 31-01-2011

Um ein MySQL-Backup von Magento fehlerfrei zu importieren, hilft es, folgendes an den Anfang des SQL-Files zu schreiben:

SET FOREIGN_KEY_CHECKS=0;

Am Ende des SQL-Files den Wert wieder auf “1″ setzen.

SET FOREIGN_KEY_CHECKS=1;

Codeschnipsel: Link zum Warenkorb

Posted by Falk Opitz | Posted in Magento Codeschnipsel | Posted on 11-01-2011

Es gibt verschiedene Wege, um einen Link zum Warenkorb in einem Magento Shop einzubauen:

<?php echo $this->getUrl('checkout/cart'); ?>

Beim folgenden Codeschnipsel darf der Eintrag in der entsprechenden Layout XML nicht vergessen werden:

<?php echo $this->getChildHtml('cartLink'); ?>

Codeschnipsel: Produktbewertungen in Kurzform

Posted by Falk Opitz | Posted in Magento Codeschnipsel | Posted on 17-11-2010

Produktbewertungen in Kurzform können mit diesem Code Snippet dargestellt werden:

<?php echo $this->getReviewsSummaryHtml($_link,'short',true); ?>

Codeschnipsel: Get CMS Block Content

Posted by Falk Opitz | Posted in Magento Codeschnipsel | Posted on 16-11-2010

Um den Inhalt eines CMS-Blocks zu erhalten, hilft folgender Codeschnipsel:

<?php
$blockId = 'homepage';
$this->getLayout()->createBlock('cms/block')->setBlockId($blockId)->toHtml();
?>

Codeschnipsel: Customer eingeloggt

Posted by Falk Opitz | Posted in Magento Codeschnipsel | Posted on 15-11-2010

Mit dieser IF-Bedingung wird überprüft, ob ein Customer eingeloggt ist oder nicht.

<?php
if(Mage::getSingleton('customer/session')->isLoggedIn()) {

echo 'eingeloggt';
} else {

echo 'nicht eingeloggt';
}
?>