La plupart des forums, blogs, tutoriels, etc. de création de rapports Magento semblent tous se concentrer sur la prise d'un rapport Magento existant et sa copie ou son extension . La plupart de ces grilles sont liées à un ensemble de données spécifique et toutes incluent des filtres standard, c'est-à-dire de / à date et période (plus des filtres supplémentaires sur certains rapports).
Cependant, il semble y avoir très peu d'informations sur la façon de créer un rapport entièrement personnalisé avec des filtres personnalisés.
Par exemple, un client souhaite un rapport avec deux filtres personnalisés qui ne rend compte que de deux métriques agrégées simples.
magento-1.9
reports
jonadams51
la source
la source
Réponses:
Tout d'abord, vous devez générer un module personnalisé, créer les fichiers suivants:
Définissez votre module sur /app/etc/modules/Mycompany_Mymodule.xml :
Complétez le fichier de mise en page qui mettra à jour la vue d'administration (je le fais toujours en premier car je ne veux pas l'oublier). /app/design/adminhtml/default/default/layout/mymodule.xml
Créez le fichier de configuration avec ce contenu /app/code/local/Mycompany/Mymodule/etc/config.xml :
Ici, nous définissons le contrôleur, l'accès au menu et les autorisations, le modèle, les blocs et l'aide.
Créez la grille et spécifiez toutes les colonnes /app/code/local/Mycompany/Mymodule/Block/adminhtml/Mymodule/Grid.php :
Ce fichier est plus clair mais je vous donne quelques conseils sur des lignes spécifiques:
// cette ligne indique le modèle à utiliser pour obtenir les données.
Pour l'étape suivante, créez le bloc de conteneur de grille /app/code/local/Mycompany/Mymodule/Block/adminhtml/Mymodule.php :
Ici, nous ajoutons cette ligne pour supprimer le bouton d'ajout: // Cela doit toujours être après la
parent::__construct();
ligne.$this->_removeButton('add');
Créez le conteneur de blocs /app/code/local/Mycompany/Mymodule/Block/Mymodule.php :
Créez le contrôleur /app/code/local/Mycompany/Mymodule/controllers/Adminhtml/MymoduleController.php :
Ensuite, l'aide vide /app/code/local/Mycompany/Mymodule/Helper/Data.php :
Et pour la dernière, nous créons le modèle qui apportera les données /app/code/local/Mycompany/Mymodule/Model/Mymodule.php :
Il s'agit d'un modèle personnalisé qui obtient les données des modèles principaux de Magento, ici vous pouvez définir n'importe quel modèle ou si vous avez déjà vos propres bases de données / tables, vous pouvez en obtenir les données de rapport. // cette ligne réinitialise la requête d'origine fournie par défaut.
$this->_reset();
J'ai essayé d'ajouter tous ces fichiers mais une fois que j'ai cliqué sur le nouvel élément de menu du rapport, une page vierge apparaît.
la source
Il suffit de renommer le dossier
adminhtml
àAdminhtml
comme ci - dessous chemin:app / code / local / Mycompany / Mymodule / Block / adminhtml / Mymodule.php
la source