Im vorletzten Teil unseres Tutorial geben wir die Daten über unseren Block für die Frontend Ausgabe aus. Ich zeige Ihnen wie Sie einzelne Datensätze direkt ansprechen können, und wie Sie alle Datensätze als Collection auslesen können.

Ändern Sie dafür die Datei app/code/local/Mxperts/Tutorial/Block/Index.php

<?php
class Mxperts_Tutorial_Block_Index extends Mage_Core_Block_Template
{
  function getElement($element) {
    $output = '<b>'.Mage::helper('tutorial')
->__('ID').'</b>:&nbsp;'.$element->getTutorialId().'<br />';
    $output .= '<b>'.Mage::helper('tutorial')
->__('Name').'</b>:&nbsp;'.$element->getName().'<br />';
    $output .= '<b>'.Mage::helper('tutorial')
->__('Tags').'</b>:&nbsp;'.$element->getTags().'<br />';
    $output .= '<b>'.Mage::helper('tutorial')
->__('Summary').'</b>:&nbsp;'.$element->getSummary().'<br />';
    return $output;
  }

	protected function _toHtml()
	{

    $output =  '<h4>'.Mage::helper('tutorial')->__('Single element').'</h4>';

    $element = Mage::getModel('tutorial/tutorial')->load(1);
    $output .= $this->getElement($element);

    $i = 0;
    $collection = Mage::getModel('tutorial/tutorial')->getCollection();
    $size = $collection->getSize();

    $output .=  '<br /><br /><h4>'.sprintf(Mage::helper('tutorial')->__('List of %s elements'),$size).'</h4>';

    foreach ($collection as $element) {
      $output .= $this->getElement($element).'<br />';
    }

		return $output;
	}
}

Erklärung:
Mit der Funktion ->load(id) können einzelne Datensätze ausgelesen werden. Die Variable $element enthält die Einzelnen Datenfelder. Über die Funktion getElement($element) werden dann die einzelnen Datenfelder zur Ausgabe formatiert.

Anstatt unserem “Hello Magento”, werden die Daten unserer Erweiterung ausgegeben. Diese Ausgabe kann nun noch optimiert werden, indem man ein eigenes Template dafür erstellt. Das werde ich evtl. in einem späteren Tutorial noch zeigen.

Sie sollten nun folgendes gelernt haben:
- Module definieren und versionieren
- Konfiguration erstellen confog.xml
- Was ist ein Block
- Was ist ein Controler
- Was ist ein Model
- Was ist ein Helper
- SQL: Tabellen definieren
- Ausgabe im Frontend- und Backend
- Backend Grid erstellen mit CRUD

Was nun noch fehlt, ist die Übersetzung der einzelnen Bezeichnungen Mage::helper(‘tutorial’)->__(‘label’). Dies folgt in unserem letzten Teil des Tutorials.

Extensions Tutorial: Teil 8 – CRUD (Update)

Extensions Tutorial: Teil 10 – Übersetzungen