Thêm bố cục tùy chỉnh để sử dụng CMS và Danh mục với sự cố mô-đun tùy chỉnh


14

Tôi có một danh mục trong cửa hàng của mình yêu cầu bố cục hoàn toàn khác với bố cục Magento tiêu chuẩn. Vì vậy, tôi đã tạo một bản sao mới của 1column.phtml và đổi tên nó và thực hiện một thay đổi nhỏ để kiểm tra.

Bây giờ vấn đề là bố cục tùy chỉnh không hiển thị. Tôi đã tạo một mô-đun (hoạt động như được thấy trong Quản trị viên> Cấu hình> Tổng quan nâng cao).

Các tập tin và nội dung của tôi như sau:

ứng dụng / etc / mô-đun / Test_Page.xml

    <?xml version="1.0"?>
<config>
    <modules>
        <Test_Page>
            <active>true</active>
            <codePool>community</codePool>
            <version>0.1.0</version>
            <depends>
                <Mage_Page />
            </depends>
        </Test_Page>
    </modules>
</config>

ứng dụng / mã / cục bộ / Kiểm tra / Trang / etc / config.xml

    <?xml version="1.0"?>
<config>
    <modules>
        <Test_Page>
            <version>0.1.0</version>
        </Test_Page>
    </modules>
    <global>
        <page>
            <layouts>
                <homepage module="page" translate="label">
                    <label>Homepage</label>
                    <template>page/home.phtml</template>
                    <layout_handle>homepage</layout_handle>
                </homepage>

                <!-- add more layouts here -->
            </layouts>
        </page>
    </global>
    <frontend>
        <layout>
            <updates>
                <Test_Page>
                    <file>test_page.xml</file>
                </Test_Page>
            </updates>
        </layout>
    </frontend>
</config>

ứng dụng / thiết kế / frontend / test / default / layout / test_page.xml

    <?xml version="1.0"?> 
<layout>
    <homepage translate="label">
        <label>Home Page</label>
        <reference name="root">
            <action method="setTemplate"><template>page/home.phtml</template></action>
            <action method="setIsHandle"><applied>1</applied></action>
        </reference>
    </homepage> 
</layout>

Tôi không thể thấy bất cứ điều gì tôi đã làm hỏng, Nó đang được đọc dưới dạng một mô-đun nhưng bố cục tùy chỉnh không được hiển thị :(

Câu trả lời:


21

Để làm cho nó xuất hiện trong trình đơn thả xuống bố cục, bạn cần tạo một mô-đun tùy chỉnh (bạn cũng có thể thêm một cái gì đó vào một tệp cốt lõi nhưng xin vui lòng không làm điều đó). Hãy đặt tên cho tiện ích mở rộng Easylife_Layout. Đối với điều này, bạn cần tạo các tệp sau: app/etc/modules/Easylife_Layout.xml- tệp khai báo

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

app/code/local/Easylife/Layout/etc/config.xml - tập tin cấu hình

<?xml version="1.0"?> 
<config>
    <modules>
        <Easylife_Layout>
            <version>0.0.1</version>
        </Easylife_Layout>
    </modules>
    <global>
        <page>
            <layouts> 
                <lookbook module="page" translate="label">
                    <label>Lookbook</label>
                    <template>page/1column-lookbook.phtml</template>
                    <layout_handle>lookbook</layout_handle>
                </lookbook> 
            </layouts>
        </page>
    </global>
    <frontend>
        <layout>
            <updates>
                <easylife_layout>
                    <file>easylife_layout.xml</file>
                </easylife_layout>
            </updates>
        </layout>
    </frontend>
</config>

app/design/frontend/{interface}/{theme}/layout/easylife_layout.xml - tập tin bố trí

<?xml version="1.0"?> 
<layout>
    <lookbook translate="label">
        <label>Lookbook</label>
        <reference name="root">
            <action method="setTemplate"><template>page/1column-lookbook.phtml</template></action>
            <action method="setIsHandle"><applied>1</applied></action>
        </reference>
    </lookbook> 
</layout>

Cái cuối cùng là cần thiết trong trường hợp bạn muốn có thể tham chiếu bố cục tùy chỉnh của mình trong các tệp bố cục. Cái gì đó như:

<update hande="lookbook" />

Xóa bộ nhớ cache và ... đó là nó. Hãy cho tôi biết nếu nó làm việc cho bạn.


đăng nhập và đăng xuất đã lừa tôi sau này
cyptus

6

Có hai khả năng:

  1. Bạn thêm một bố cục tùy chỉnh vào danh mục của bạn và làm điều này:

    <layout>
        <reference name="root">
            <action method="setTemplate"><template>page/1column-lookbook.phtml</template></action>
        </reference>
    </layout>
  2. Bạn triển khai nó dưới dạng bố cục trang và thêm nó vào config.xmltrong global/page/layouts/nhưng tôi không biết, làm thế nào để thực hiện chính xác.

Nếu bạn chỉ cần một lần, bạn có thể ở lại với giải pháp đầu tiên. Nhưng hãy cẩn thận. Có <action method="setIsHandle"><applied>1</applied></action>trong page.xmlđôi khi cài đặt này ngăn sự thay đổi của mẫu.

Để thực hiện giải pháp đầu tiên: Chọn danh mục của bạn, phải Custom Designvà đặt mọi thứ bên trong <layout />nút vào vùng Custom Layout Updatevăn bản, ví dụ:

<reference name="root">
    <action method="setBackgroundGraphic">
        <background>two-pieces</background>
    </action>
    <action method="setTemplate">
    <template>page/2columns-right-highStep.phtml</template>
    </action>
    <action method="setIsHandle">
        <applied>1</applied>
    </action>
</reference>

Tôi sẽ phải dán tham chiếu bố trí cho cái đầu tiên ở đâu? Tôi đã thử mã tương tự trong layout.xml nhưng không biết nên đặt mức nào, tôi có các tham chiếu ở đó cho tất cả các trang danh mục theo mặc định bằng cách sử dụng <catalog_carget_view> vì vậy tôi giả sử tôi cần một cái gì đó tương tự để thêm tùy chọn khác
Chris Morris

chỉnh sửa câu trả lời
Fabian Blechschmidt
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.