Tutorials
Einige nützliche Hilfen und Code-Schnipsel, die ich immer wieder benötige und deshalb hier für alle sammle.
TYPO3: Ein Report-Backendmodul für TYPO3 6.2+ erstellen
Da ich immer wieder lange suchen muss, wie man denn bestimmte Module für TYPO3 erstellt, habe ich hier mal ein kleines Tutorial gemacht, was zeigt, wie man ein Report/Bericht Backendmodul baut, welches mit Fluid als Templateengine funktioniert.
Als erstes benötigt man eine Extension, falls ihr schon eine habt, könnt ihr diese erweitern, ansonsten einfach eine neue erstellen. In der ext_tables.php fügt man dann als erstes folgendes hinzu.
$GLOBALS['TYPO3_CONF_VARS']['SC_OPTIONS']['reports'][$_EXTKEY]['TestReport'] = array(
'title' => 'Test Report Modul',
'description' => 'Ein Test Report Modul',
'icon' => 'EXT:' . $_EXTKEY . '/Resources/Public/Icons/test.png',
'report' => 'Namespace\\YourExt\\Reports\\TestReport'
);
In der ext_autoload.php muss jetzt noch unsere Klasse hinzugefügt werden, die wir gerade in der ext_tables.php angegeben haben.
<?php
$extensionPath = t3lib_extMgm::extPath('test_report');
return array(
'TestReport' => $extensionPath . 'Classes/TestReport.php',
);
Unter Classes/Reports muss jetzt eine neue Klasse angelegt werden. In unserem Beispiel TestReport.php
<?php
namespace Namespace\YourExt\Reports;
class TestReport implements \TYPO3\CMS\Reports\ReportInterface {
public function getReport() {
// Use Fluid to render the template
$view = \TYPO3\CMS\Core\Utility\GeneralUtility::makeInstance('TYPO3\\CMS\\Fluid\\View\\StandaloneView');
$view->setTemplatePathAndFilename(\TYPO3\CMS\Core\Utility\ExtensionManagementUtility::extPath('test_report') . 'Resources/Private/Templates/Reports/TestReport.html');
$view->assignMultiple([
'foo' => 'bar'
]);
return $view->render();
}
}
In der TestReport.php ist der Pfad angegeben, wo das Template für den Report liegt. Also brauchen wir noch eine TestReport.html
<div class="test">
Dies ist ein BE Report Modul
{{foo}}
</div>
Danach habt ihr unter Berichte/Reports einen neuen Punkt. Wählt ihr diesen aus, so steht dort jetzt "Dies ist ein BE Report Modul bar"
Und schon hat man das Grundgerüst für ein Report-Modul!
Kommentare
Hinterlasse einen Kommentar