Dodaj nową opcję układu strony Magento

11

Chciałbym dodać nowy układ strony w Magento, który będzie opcją, którą można wybrać na stronach CMS. Skopiowałem 1-column.phtmlkod, dostosowałem go nieco i zmieniłem na1-column-version2.phtml.

Chciałbym wiedzieć, jak bym odwołał się do nowego pliku, aby pojawił się w opcjach układu strony CMS .

.

YorkieMagento
źródło

Odpowiedzi:

18

Aby spełnić Twoje wymagania, musisz utworzyć rozszerzenie - bez tego nie jest to możliwe.

Plik konfiguracyjny modułu:

Utwórz plik konfiguracyjny pliku modułu pod adresem app/etc/modules/Amit_NewLayout.xml

Kod:

<?xml version="1.0"?>
<config>
    <modules>
        <Amit_NewLayout>
            <active>true</active>
            <codePool>local</codePool>
            <depends>
                <Mage_Page />
            </depends>
        </Amit_NewLayout>
    </modules>
</config>

Zdefiniuj config.xml

Teraz zdefiniuj 1-column-version2.phtmljako szablon nowego układu w app/code/local/Amit/NewLayout/etc/config.xml

Kod:

<?xml version="1.0"?> 
<config>
    <modules>
        <Amit_NewLayout>
            <version>0.0.1</version>
        </Amit_NewLayout>
    </modules>
    <global>
        <page>
            <layouts> 
                <new_cms_layout module="page" translate="label">
                    <label>New Cms Layout</label>
                    <template>page/1-column-version2.phtml</template>
                    <layout_handle>lookbook</layout_handle>
                </new_cms_layout> 
            </layouts>
        </page>
    </global>
</config>

Teraz będziesz mógł zobaczyć ten układ w opcjach układu strony CMS.

Amit Bera
źródło
Bez tego postu nie jest to możliwe.
jmargolisvt
1

Utwórz jeden moduł i dodaj poniżej xml w pliku config.xml.

app/code/local/Namespace/CustomLayouts/etc/config.xml

<?xml version="1.0"?>
<config>
 <global>
  <page>
   <layouts>
    <custom_static_page_one>
     <label>Custom static page</label>
     <template>page/1-column-version2.phtml</template>
    </custom_static_page_one>
   </layouts>
  </page>
 </global>
</config>

Zarejestruj swój moduł

app/etc/modules/Namespace_CustomLayouts.xml

<?xml version="1.0"?>
<config>
 <modules>
  <Namespace_CustomLayouts>
   <codePool>local</codePool>
   <active>true</active>
  </Namespace_CustomLayouts>
 </modules>
</config>

Utwórz własny plik szablonu page/1-column-version2.phtml

Akhilesh Patel
źródło
-3

Dodaj swój kod w

app\code\core\Mage\Page\etc

config.xml:

z

 <My_one_column_cms module="page" translate="label">
        <label>My One Column</label>
        <template>page/home.phtml</template>
        <layout_handle>My_one_column_cms</layout_handle>
        </My_one_column_cms>

Możesz zmienić nazwy, jak chcesz w xml, możesz umieścić dowolne słowa

Następnie utwórz home.phtml jako szablon w domyślnym motywie newtheme / newpack / page / lub ur

Amit
źródło
Niemądrze jest zmodyfikować podstawowe pliki.
KiwisTasteGood
Nigdy nie należy bezpośrednio zmieniać plików podstawowych. Aby rozwinąć sprawę, gdybyś zaktualizował instancję Magento, straciłbyś zmiany. Dlatego stworzyłbyś własne rozszerzenie i zaimplementowałeś je tak jak w odpowiedzi Amit Bera
JoshCarter