Question

J'ai un module personnalisé avec les éléments suivants :

magento-project/app/code/local/Hunique/Customs/etc/config.xml

<?xml version="1.0" ?>
 <config>
<modules>
    <Hunique_Customs>
        <version>1.0.1</version>
    </Hunique_Customs>
</modules>

<global>
    <models>
        <custommodule>
            <class>Hunique_Customs_Model</class>
            <resourceModel>custommodule_resource</resourceModel>
        </custommodule>
        <custommodule_resource>
            <class>Hunique_Customs_Model_Resource</class>
            <entities>
                <custommodule>
                    <table>custommodule</table>
                </custommodule>
                <questions>
                    <table>questions</table>
                </questions>
                <answers>
                    <table>answers</table>
                </answers>
            </entities>
        </custommodule_resource>
    </models>

    <resources>
        <custommodule_setup>
            <setup>
                <module>Hunique_Customs</module>
            </setup>
            <connection>
                <use>core_setup</use>
            </connection>
        </custommodule_setup>
        <custommodule_read>
            <connection>
                <use>core_read</use>
            </connection>
        </custommodule_read>
        <custommodule_write>
            <connection>
                <use>core_write</use>
            </connection>
        </custommodule_write>
    </resources>

    <blocks>
        <custommodule>
            <class>Hunique_Customs_Block</class>
        </custommodule>
    </blocks>

    <helpers>
        <hunique_customs>
            <class>Hunique_Customs_Helper</class>
        </hunique_customs>
    </helpers>

</global>

<frontend>
    <routers>
        <custommodule>
            <use>standard</use>
            <args>
                <module>Hunique_Customs</module>
                <frontName>custommodule</frontName>
            </args>
        </custommodule>
    </routers>

    <layout>
        <updates>
            <custommodule>
                <file>custommodule.xml</file>
            </custommodule>
        </updates>
    </layout>

</frontend>    
<admin>
    <routers>
        <adminhtml>
            <use>admin</use>
            <args>
                <modules>
                    <Hunique_Customs before="Mage_Adminhtml">Hunique_Customs</Hunique_Customs>
                </modules>
            </args>
        </adminhtml>
    </routers>
</admin>

<adminhtml>
    <layout>
        <updates>
            <custommodule>
                <file>custommodule.xml</file>
            </custommodule>
        </updates>
    </layout>
</adminhtml>

Ensuite, j'ai le /magento-project/app/code/local/Hunique/Customs/etc/adminhtml.xml dans le même dossier

<config>
<menu>
    <hunique>
        <title>Hunique</title>
        <sort_order>1</sort_order>
        <children>
            <customs_qa module="hunique_customs">
                <title>Questions And Answers</title>
                <sort_order>1</sort_order>
                <action>adminhtml/custommodule</action>
            </customs_qa>
        </children>
    </hunique>
</menu>

Alors dans le desing j'ai :/magento-project/app/design/adminhtml/default/default/layout/custommodule.xml

<?xml version="1.0"?>
<layout>
  <adminhtml_custommodule_index>
    <reference name="content">
        <block type="core/template" output="toHtml" name="templateBlock" template="custommodule/questions-and-answers.phtml" />
    </reference>
   </adminhtml_custommodule_index>
 </layout>

Et j'ai le fichier / magento- project / app / conception / adminhtml / default / default / templates / customodule / Question and-Answers.phtml mais cela contient juste une balise H1 avec le test maintenant.

J'ai aussi le contrôleur :/magento-project/app/code/local/Hunique/Customs/controllers/CustommoduleController.php

<?php
class Hunique_Customs_CustommoduleController extends Mage_Adminhtml_Controller_Action
{   
  public function indexAction()
  {    
    var_dump(Mage::getSingleton('core/layout')->getUpdate()->getHandles());
    $this->loadLayout();
    $this->renderLayout();
  }
}

J'ai le var dump pour voir si j'avais des handles mais c'est un tableau vide.Ma page se charge depuis le menu administrateur.enter image description hereMes itinéraires et mon menu d'administration fonctionnent bien, je n'arrive tout simplement pas à faire apparaître mon phtml...quelqu'un qui peut m'orienter dans la bonne direction ?

Était-ce utile?

La solution

Le code que vous avez fourni devrait fonctionner tel quel.Bien que vos deux config.xml et adminhtml.xml les fichiers n'ont pas leur <config> balises fermées, je soupçonne que vous venez de commettre cette erreur en collant du code ici, car sinon vous verriez une erreur au lieu d'une page avec une zone de contenu vide.

Mon conseil est que vous devriez rechercher des fautes de frappe dans les noms de fichiers ou des imbrications incorrectes dans les répertoires.Aussi votre var_dump est vide, car vous essayez d'afficher les poignées de mise en page avant de charger réellement la mise en page.Vous devez intervertir les deux premières lignes de votre action :

public function indexAction() {  
    $this->loadLayout();
    var_dump(Mage::getSingleton('core/layout')->getUpdate()->getHandles());
    $this->renderLayout();
}

En outre, vous pouvez également vous assurer que votre panneau d'administration utilise le default/default package/thème ou qu’il est dans la chaîne de secours.S'il utilise un autre package (par ex. custompackage/default), il ne cherchera pas default/default.Si vous n'êtes pas sûr, vous pouvez toujours placer votre XML de mise à jour de mise en page et votre modèle dans base/default plutôt.Il n'existe pas dans le panneau d'administration, mais vous pouvez le créer et il sera utilisé comme dernière solution de secours.

Faites-moi savoir si cela aide.

Licencié sous: CC-BY-SA avec attribution
Non affilié à magento.stackexchange
scroll top