2012-02-17 10 views
8

Soy nuevo en Magento y estoy tratando de hacer un diseño para un módulo que he compilado. Tengo un módulo simple y un IndexController que da salida a 'Hello World.' (He usado el tutorial this).Disposición para el módulo Magento

Ahora quiero hacer un diseño para ese módulo y he usado este tutorial pero no funciona. ¿Puede alguien indicarme un tutorial o explicarme cómo funcionan los diseños en Magento?

Thx :)

Esto es lo que he hecho hasta ahora: Tengo un paquete llamado 'Andrei' y un módulo de 'Hello World'.

Aquí es el config.xml para mi módulo:

<?xml version="1.0" encoding="UTF-8"?> 
<config>  
    <modules> 
     <Andrei_Helloworld> 
      <version>0.1.0</version> 
     </Andrei_Helloworld> 
    </modules> 
    <frontend> 
     <routers> 
      <helloworld> 
       <use>standard</use> 
       <args> 
        <module>Andrei_Helloworld</module> 
        <frontName>helloworld</frontName> 
       </args> 
      </helloworld> 
     </routers> 
    </frontend> 
</config> 

Aquí es el módulo Andrei_Helloworld:

<?xml version="1.0" encoding="UTF-8"?> 
<config> 
    <modules> 
     <Andrei_Helloworld> 
      <active>true</active> 
      <codePool>local</codePool> 
     </Andrei_Helloworld> 
    </modules> 
</config> 

Y aquí está mi controlador:

class Andrei_Helloworld_IndexController extends Mage_Core_Controller_Front_Action 
{ 
    public function indexAction() 
    { 
     echo 'Hello world'; 
    } 
} 

Esto es todo He hecho hasta ahora. El módulo funciona correctamente. Y quiero un diseño para mi IndexController. Thx :)

+0

debe mostrarnos su código, principalmente el config.xml, el archivo de diseño xml y sus bloques de clases php. – OSdave

+0

He editado mi pregunta con mi código :) – zuzuleinen

Respuesta

21

es así, hay algunas cosas que faltan ...

  • declaran la actualización de diseño en el que su config.xml:

    <frontend> 
        ... 
        <layout> 
         <updates> 
          <helloworld> 
           <file>helloworld.xml</file> 
          </helloworld> 
         </updates> 
        </layout> 
        ... 
    </frontend> 
    
  • crear el archivo XML diseño, en aplicación/diseño/frontend/base/por defecto/layout/helloworld.xml y en ella crea una referencia a su módulo/controlador/acción:

    <?xml version="1.0"?> 
    <layout> 
        <helloworld_index_index> 
         <reference name="content"> 
          <block type="core/template" name="helloworld" template="helloworld.phtml" /> 
         </reference> 
        </helloworld_index_index> 
    </layout> 
    
  • crear el archivo phtml que acaba de establecer como plantilla en el archivo de diseño xml, es decir app/design/frontend/base/default/template/helloworld.phtml:

    this is the content of helloworld.phtml 
    
  • carga y hacer todas estas cosas, en la acción de su controlador, reemplazar su declaración echo con:

    public function indexAction() 
    { 
        $this->loadLayout(); 
        $this->renderLayout(); 
    } 
    
  • caché desactivar, navegador de refresco, sentarse y disfrutar de
Cuestiones relacionadas