2012-02-17 16 views
8

Jestem nowy w Magento i próbuję stworzyć układ dla zbudowanego przeze mnie modułu. Mam prosty moduł i IndexController, który wyświetla "Hello World." (Skorzystałem z samouczka this).Układ dla modułu Magento

Teraz chcę utworzyć układ dla tego modułu i użyłem tego tutorial, ale to nie działa. Czy ktoś może wskazać mi samouczek lub wyjaśnić, jak działają układy w Magento?

Thx :)

Oto co zrobiłem do tej pory: Mam pakiet o nazwie „Andrei” oraz moduł „Hello World”.

Oto config.xml dla mojego modułu:

<?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> 

Oto moduł Andrei_Helloworld:

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

I tu jest mój kontroler:

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

To wszystko Zrobiłem tak daleko. Moduł działa poprawnie. I chcę układ dla mojego kontrolera IndexController. Thx :)

+0

powinieneś pokazać nam swój kod, głównie plik config.xml, plik układu XML i twoje bloki klasy php. – OSdave

+0

Edytowałem moje pytanie z moim kodem :) – zuzuleinen

Odpowiedz

21

tak, istnieją pewne rzeczy brakuje ...

  • zadeklarować aktualizację układu w swojej config.xml:

    <frontend> 
        ... 
        <layout> 
         <updates> 
          <helloworld> 
           <file>helloworld.xml</file> 
          </helloworld> 
         </updates> 
        </layout> 
        ... 
    </frontend> 
    
  • utworzyć plik xml układ, w app/design/frontend/base/default/layout/helloworld.xml iw nim tworzysz odniesienie do swojego modułu/kontrolera/akcji:

    <?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> 
    
  • utworzyć plik Phtml właśnie ustawiony jako szablon w pliku XML szablonu, czyli app/design/frontend/base/default/template/helloworld.phtml:

    this is the content of helloworld.phtml 
    
  • obciążenia i czyni to wszystko, w akcji kontrolera za wymienić swoje oświadczenie echo z:

    public function indexAction() 
    { 
        $this->loadLayout(); 
        $this->renderLayout(); 
    } 
    
  • wyłączyć cache, odśwież przeglądarkę, usiąść i cieszyć
Powiązane problemy