Die meisten Magento Bericht Aufbau Foren, Blogs, Tutorials, etc alle scheint auf unter einem bestehenden Magento Bericht und entweder zu konzentrieren Kopieren oder Erweiterung es. Bei den meisten handelt es sich um Raster, die auf einen bestimmten Datensatz verweisen, und alle enthalten Standardfilter, z. B. von / bis Datum und Zeitraum (plus zusätzliche Filter in einigen Berichten).
Es scheint jedoch nur sehr wenige Informationen darüber zu geben, wie ein vollständig benutzerdefinierter Bericht mit benutzerdefinierten Filtern erstellt werden kann.
Ein Kunde möchte beispielsweise einen Bericht mit zwei benutzerdefinierten Filtern, in dem nur zwei einfache aggregierte Metriken berücksichtigt werden.
magento-1.9
reports
jonadams51
quelle
quelle
Antworten:
Zunächst müssen Sie ein benutzerdefiniertes Modul generieren und die folgenden Dateien erstellen:
Definieren Sie Ihr Modul unter /app/etc/modules/Mycompany_Mymodule.xml :
Vervollständigen Sie die Layoutdatei, die die Administratoransicht aktualisiert (ich mache dies immer zuerst, weil ich es nicht vergessen möchte). /app/design/adminhtml/default/default/layout/mymodule.xml
Erstellen Sie die Konfigurationsdatei mit folgendem Inhalt : /app/code/local/Mycompany/Mymodule/etc/config.xml :
Hier definieren wir den Controller, den Menüzugriff und die Berechtigungen, das Modell, die Blöcke und den Helfer.
Erstellen Sie das Raster und geben Sie alle Spalten an :
Diese Datei ist am klarsten, aber ich gebe Ihnen einige Tipps zu bestimmten Zeilen:
// Diese Zeile gibt das Modell an, mit dem die Daten abgerufen werden sollen.
Erstellen Sie für den nächsten Schritt den Grid-Container-Block /app/code/local/Mycompany/Mymodule/Block/adminhtml/Mymodule.php :
Hier fügen wir diese Zeile hinzu, um die Schaltfläche zum Hinzufügen zu entfernen: // Diese muss immer hinter der
parent::__construct();
Zeile stehen.$this->_removeButton('add');
Erstellen Sie den Blockcontainer /app/code/local/Mycompany/Mymodule/Block/Mymodule.php :
Erstellen Sie den Controller /app/code/local/Mycompany/Mymodule/controllers/Adminhtml/MymoduleController.php :
Dann der leere Helfer /app/code/local/Mycompany/Mymodule/Helper/Data.php :
Und als letztes erstellen wir das Modell, das die Daten /app/code/local/Mycompany/Mymodule/Model/Mymodule.php liefert :
Dies ist ein benutzerdefiniertes Modell, das die Daten aus Magento-Kernmodellen abruft. Hier können Sie ein beliebiges Modell definieren. Wenn Sie bereits über eigene DB / Tabellen verfügen, können Sie die Berichtsdaten daraus abrufen. // Diese Zeile setzt die ursprüngliche Abfrage zurück, die standardmäßig kommt.
$this->_reset();
Ich habe versucht, alle diese Dateien hinzuzufügen, aber sobald ich auf den neuen Menüpunkt des Berichts geklickt habe, wird eine leere Seite angezeigt.
quelle
Benennen Sie einfach den Ordner
adminhtml
zu ,Adminhtml
wie pro unten Pfad:app / code / local / Mycompany / Mymodule / Block / adminhtml / Mymodule.php
quelle