In Teil2 unserer Extension Tutorials ergänzen wir das Backend mit einer Verwaltung für unsere Erweiterung.

1. Wie beginnen, indem wir zu unserer Verzeichnisstruktur aus Teil 1 zwei neue Dateien hinzufügen (controller und helper).

app/
   etc/
      modules/
        - Mxperts_All.xml (Oder Ihre Firmenname IhreFirme_All.xml)
   code/
      local/
         Mxperts/ (Oder Ihre Firmenname IhreFirme_All.xml)
            Tutorial/ (Bezeichnung Ihrer Erweiterung)
               Block/
                 - Index.php
               controllers/
                 - AdminController.php
                 - IndexController.php
               etc/
                 - config.xml
               Helper
                 - Data.php

2. Erstellen des Admin-Controllers

<?php
class Mxperts_Tutorial_AdminController extends Mage_Adminhtml_Controller_Action
{
    public function indexAction()
    {
		$this->loadLayout()
			->_addContent($this->getLayout()
                            ->createBlock('tutorial/index'))
			->renderLayout();
    }
}

Erklärung:
Der Admin-Controler wird im Vergleich zum Frontend-Controler von der Klasse Mage_Adminhtml_Controller_Action abgeleitet. Dies Klasse besitzt spezielle Funktionen für die Sicherheit und zur Darstellung im Backend. Zur Ausgabe verwenden wir wieder unser “Hallo Magento” aus Teil1. Sie sehen es an der Definition ->createBlock(‘tutorial/index’), die mit der Definition aus dem Frontend-Controller identisch ist.

3. Ändern der config.xml

<?xml version="1.0"?>
<config>

    <modules>
        <Mxperts_Tutorial>
            <version>0.1.0</version>
        </Mxperts_Tutorial>
    </modules>

    <global>
         <helpers>
            <tutorial><class>Mxperts_Tutorial_Helper</class></tutorial>
        </helpers>
        <blocks>
            <tutorial>
                <class>Mxperts_Tutorial_Block</class>
            </tutorial>
        </blocks>
    </global>

    <adminhtml>
        <menu>
            <tutorial translate="title" module="tutorial">
                <title>Tutorial</title>
                <sort_order>100</sort_order>
                <action>tutorial/admin</action>
            </tutorial>
        </menu>
    </adminhtml>

    <frontend>
        <routers>
            <Mxperts_Tutorial>
                <use>standard</use>
                <args>
                    <module>Mxperts_Tutorial</module>
                    <frontName>tutorial</frontName>
                </args>
            </Mxperts_Tutorial>
        </routers>
    </frontend>

</config>

Erklärung:
Der Bereich <helpers> definiert die helper class, die für zukünftige Übersetzungen verwendet wird.
Im Bereich <adminhtml> definieren wir unser neues Menü.

4. Helper – Data.php

<?php
class Mxperts_Tutorial_Helper_Data extends Mage_Core_Helper_Abstract
{
}

Die Helper Klasse wird benötigt und muss definiert werden. Wenn man dies nicht tut, führt das zu einer Fehlermeldung, da Magento eine Standard-Klasse sucht und diese dann nicht finden kann.

Wenn Sie nun Ihr Backend Aufrufen, werden Sie den neuen Menüpunkt Tutorial finden. Wenn Sie das neue Menü anklicken erscheint wieder unser “Hallo Magento”.


Extensions Tutorial: Teil3 – Datenbank werde ich demnächst hier veröffentlichen.

Extensions Tutorial: Teil1 – “Hallo Magento”
Extensions Tutorial: Teil 3 – Datenbank