Cách tạo trang bố cục tùy chỉnh trong chủ đề tùy chỉnh


7

Tôi muốn tạo bố cục trang tùy chỉnh trong chủ đề tùy chỉnh của mình. Tôi đã tạo một chủ đề tùy chỉnh có tên "ktheme" với chủ đề chính. Tôi đã tạo cutome_home.xmltrong thư mục bố trí nhưng tôi chỉ nhận được một trang chủ trống.

Làm cách nào để có được tiêu đề hiển thị trên trang chủ?


1
chia sẻ mã chủ đề của bạn tại đây
Arunendra

Câu trả lời:


18

Câu hỏi của bạn rất ngắn gọn, có vẻ như bạn đang cố gắng tạo bố cục trang mới? Nếu đúng, bạn cũng cần khai báo layouts.xml.

Tài liệu chính thức

Cách tạo bố cục trang tùy chỉnh

Thêm bố cục của bạn

Trong ví dụ này, tôi sẽ tạo một bố cục có tên là Bố cục thử nghiệm, nó chính xác giống như bố cục một cột nhưng bạn có thể thêm bố cục của riêng mình vào đây.

Tạo tệp này (thay đổi tên cho phù hợp với bố cục của bạn):

app/design/frontend/**VENDOR**/**THEME**/Magento_Theme/page_layout/test-layout.xml

Nội dung:

<?xml version="1.0" ?>
<layout xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:framework:View/Layout/etc/page_layout.xsd">
    <update handle="empty"/>
    <referenceContainer name="page.wrapper">
        <container name="header.container" as="header_container" label="Page Header Container"  htmlTag="header" htmlClass="page-header" before="main.content"/>
        <container name="page.top" as="page_top" label="After Page Header" after="header.container"/>
        <container name="footer-container" as="footer" before="before.body.end" label="Page Footer Container" htmlTag="footer" htmlClass="page-footer" />
    </referenceContainer>
</layout>

Bố cục thử nghiệm của tôi dựa trên bố cục trang trống để bắt đầu từ đầu, bạn cũng có thể tạo bố cục dựa trên bố cục khác, chẳng hạn như 2 màu bên trái hoặc 3 màu. Để làm điều đó chỉ cần thay thế <update handle="empty"/>với bố cục bạn muốn sử dụng, ví dụ<update handle="3columns"/>

Thông báo cho Magento về bố cục của bạn

Tạo tệp XML này:

app/design/frontend/**VENDOR**/**THEME**/Magento_Theme/layouts.xml

Đây là nơi bạn tuyên bố bố trí tùy chỉnh của bạn, như vậy.

<page_layouts xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:framework:View/PageLayout/etc/layouts.xsd">
    <layout id="test-layout">
        <label translate="true">Test Layout</label>
    </layout>
</page_layouts>

Và bây giờ chúng ta có thể sử dụng bố cục mới của mình trong XML hoặc quản trị viên:

Bố trí trang


khi tôi chọn bố cục thử nghiệm .. trang chủ của tôi sắp hết ... tôi nên làm gì để thêm tiêu đề trong trang chủ ..
kalpak savaliya

Bạn sẽ cần thêm / chỉnh sửa bố cục của mình trong tệp xml để làm cho nó hiển thị những gì bạn muốn, trong ví dụ của tôi, nó sẽ là test-layout.xml. Nếu bạn không biết cách thêm các thùng chứa qua XML, tôi khuyên bạn nên đọc tài liệu - devdocs.magento.com/guides/v2.0/frontend-dev-guide/layouts/ trên . Nếu bạn vẫn không hiểu thì nếu bạn cung cấp mã của mình, chúng tôi sẽ có thể giúp thêm.
Ben Crook

Theo mẫu của bạn, tôi nhận được các lỗi này trong hệ thống của mình.log gist.githubusercontent.com/anonymous/iêu
Michelangelo

@Michelangelo - Tôi không nghĩ rằng hầu hết các lỗi đó có liên quan đến vấn đề này ngoài việc No element found with ID 'before.body.end'.Bạn có sao chép và dán mã từ trên không? Vì lỗi đó không có ý nghĩa với tôi, chúng tôi đã không nói với Magento before.body.endlà một yếu tố, đó là một tên khối.
Ben Crook

1
Vì vậy, nhiều ví dụ không đề cập đến để đặt nó trong thư mục con Magento_Theme của chủ đề, đây là nơi duy nhất và đầu tiên tôi tìm thấy thông tin này. Đạo cụ. Giải pháp này hoạt động cho Magento 2.2
Hugh Wood
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.