A maioria dos fóruns, blogs, tutoriais, etc, do Magento Report , parece focar em pegar um Relatório Magento existente e copiá- lo ou ampliá- lo. A maioria delas são grades vinculadas a um conjunto de dados específico e todas incluem filtros padrão, ou seja, de / até a data e período (além de filtros extras em alguns relatórios).
No entanto, parece haver poucas informações disponíveis sobre como criar um relatório completamente personalizado com filtros personalizados.
Por exemplo, um cliente gostaria de um relatório com dois filtros personalizados, que relatam apenas duas métricas agregadas simples.
magento-1.9
reports
jonadams51
fonte
fonte
Respostas:
Primeiro de tudo, você precisa gerar um módulo personalizado, criar os seguintes arquivos:
Defina seu módulo em /app/etc/modules/Mycompany_Mymodule.xml :
Conclua o arquivo de layout que atualizará a visualização do administrador (sempre faço isso primeiro porque não quero esquecê-lo). /app/design/adminhtml/default/default/layout/mymodule.xml
Crie o arquivo de configuração com este conteúdo /app/code/local/Mycompany/Mymodule/etc/config.xml :
Aqui, definimos o controlador, o acesso e as permissões do menu, o modelo, os blocos e o auxiliar.
Crie a grade e especifique todas as colunas /app/code/local/Mycompany/Mymodule/Block/adminhtml/Mymodule/Grid.php :
Este arquivo é mais claro, mas eu dou algumas dicas sobre linhas específicas:
// esta linha indica o modelo a ser usado para obter os dados.
Para a próxima etapa, crie o bloco de contêiner de grade /app/code/local/Mycompany/Mymodule/Block/adminhtml/Mymodule.php :
Aqui nós adicionamos esta linha para remover o botão Adicionar: // Isso deve ser sempre após a
parent::__construct();
linha.$this->_removeButton('add');
Crie o contêiner de bloco /app/code/local/Mycompany/Mymodule/Block/Mymodule.php :
Crie o controlador /app/code/local/Mycompany/Mymodule/controllers/Adminhtml/MymoduleController.php :
Em seguida, o auxiliar vazio /app/code/local/Mycompany/Mymodule/Helper/Data.php :
E, por último, criamos o modelo que trará os dados /app/code/local/Mycompany/Mymodule/Model/Mymodule.php :
Este é um modelo personalizado que obtém os dados dos modelos principais do Magento. Aqui você pode definir qualquer modelo ou, se você já possui seu próprio banco de dados / tabelas, pode obter os dados do relatório. // essa linha redefine a consulta original que vem por padrão.
$this->_reset();
Tentei adicionar todos esses arquivos, mas quando clico no novo item de menu do relatório, uma página em branco é exibida.
fonte
Apenas renomeie a pasta
adminhtml
para oAdminhtml
caminho abaixo:app / code / local / Mycompany / Mymodule / Block / adminhtml / Mymodule.php
fonte