Dodaj nagłówek i stopkę na stronie kasy Magento2

16

Domyślnie Magento 2 nie zapewnia HEADER i FOOTER na stronie CHECK OUT .

Więc sprawdziłem plik checkout_index_index.xml na ścieżce

app/design/frontend/package_name/theme_name/Magento_Checkout/layout/override/base

Istnieje zestaw atrybutów usuwania dla nagłówka i stopki

więc odznaczam remove atrybut z remove = true to remove = false .

Ale nagłówek i stopka nadal nie są wyświetlane na stronie kasy, więc czy ktoś może mi powiedzieć, jak mogę uzyskać nagłówek i stopkę na stronie kasy?

Dhaval
źródło
„Domyślnie Magento 2 nie zapewnia HEADER i FOOTER na stronie CHECK OUT.” <= to nie jest prawda. Domyślnie Magento 2 zawiera zarówno stopkę, jak i nagłówek przy kasie, twój motyw NIESTANDARDOWY usunął je.
Raphael at Digital Pianism
3
@RaphaelatDigitalPianism Ale używam magento / pustego motywu jako motywu nadrzędnego i tworzę mój motyw. Dlaczego więc strona kasy nie pokazuje nagłówka i stopki? Nie zmieniłem niczego w module Magento_Checkout. Użyłem domyślnego modułu Magento_Checkout dostarczonego przez magento. I ten problem jest nie tylko dla mnie. Widziałem tak wielu programistów, którzy mają ten sam problem.
Dhaval
@KetanKp Baroda, czy problem został rozwiązany?
Rakesh Jesadiya
jeszcze
nierozwiązane
1
@RaphaelatDigitalPianism, faktycznie OP ma rację. Domyślnie Magento nie zawiera nagłówka i stopki, ponieważ układ kasy używa pustego uchwytu układu zamiast 1 kolumny.
Erfan,

Odpowiedzi:

17

Mam rozwiązanie.

Najpierw przejdź do Magento_Checkout w folderze motywu app / design / frontend / nazwa_pakietu / nazwa_tematu / Magento_Checkout

Teraz utwórz poniżej struktury folderów w folderze układu na powyższej ścieżce. przesłanianie / theme / Magento / blank / checkout_index_index.xml

w tym pliku checkout_index_index.xml dodaj poniższy kod.

<?xml version="1.0"?>
<page xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" layout="1column" xsi:noNamespaceSchemaLocation="urn:magento:framework:View/Layout/etc/page_configuration.xsd">
    <body>
        <move element="logo" destination="header-wrapper" before="-" />
        <referenceBlock name="minicart" remove="false" />
        <referenceContainer name="header.panel" remove="false" />
        <referenceBlock name="top.search" remove="false" />
        <referenceBlock name="catalog.compare.link" remove="false" />
        <referenceBlock name="catalog.topnav" remove="false"/>
        <referenceContainer name="footer-container"  remove="false"/>
    </body>
</page>

Mam nadzieję, że ktoś uzna to za przydatne.

Dhaval
źródło
Wyjątek nr 0 (LogicException): Przesłonięcie pliku widoku „D: /xampp/htdocs/nickstore/app/design/frontend/Mytheme/themename/Magento_Checkout/layout/override/theme/Magento/blank/checkout_index_index.xml” nie pasuje do dowolny z plików. Mam ten błąd
Asish Hira,
@AsishHira Myślę, że popełniłeś błąd, zastępując pliki.
Dhaval
Nie, nie wiem. Sprawdziłem to z twoją odpowiedzią 12 razy
Asish Hira,
Znalazłeś rozwiązanie? Mam ten sam problem. i wiem, że to dlatego, że pusty motyw nie ma pliku układu / ch‌ eckout_index_index.x‌ ml.
Abdul Shakoor Kakar
2
Musiałem dodać </page>na końcu tego bloku kodu, aby to działało. Aby odpowiedzieć również na pytania innych użytkowników, umieściłem ten plik naapp/design/frontend/VENDOR/THEME/Magento_Checkout/layout/checkout_index_index.xml
domdambrogia
14

W Magento 2.1 (.1) logo przenosi się /vendor/magento/module-checkout/view/frontend/layout/checkout_index_index.xmlze swojego zwykłego miejsca do, checkout.header.wrappera potem wydaje się, że gdzieś się zgubiło.

To jest culpit:

<move element="logo" destination="checkout.header.wrapper"/>

Aby odzyskać logo, dodaj / edytuj plik: [root] / app / design / frontend / [vendor] / [theme] /Magento_Checkout/layout/checkout_index_index.xml

<?xml version="1.0"?>
<page xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  layout="1column"
  xsi:noNamespaceSchemaLocation="urn:magento:framework:View/Layout/etc/page_configuration.xsd">
    <body>
        <move element="logo" destination="header-wrapper"/>
    </body>
</page>
OZZIE
źródło
3
2017 tutaj. Wciąż świetnie!
mniess,
4

Dla mnie to zadziałało:

app / design / frontend / Vendor / themename / Magento_Checkout / layout / checkout_index_index.xml

<?xml version="1.0"?>
<page xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" layout="checkout" xsi:noNamespaceSchemaLocation="urn:magento:framework:View/Layout/etc/page_configuration.xsd">
    <body>
      <move element="logo" destination="header-wrapper"/>
    </body>
</page>

app / design / frontend / Vendor / themename / Magento_Checkout / page_layout / checkout.xml

<?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="1column"/>
</layout>
fassl
źródło
Mamy zainstalowany moduł OSC, więc ten kod działa dla nas!
Jack
1

Aby odzyskać logo, dodaj / edytuj plik: [root]/app/design/frontend/[vendor]/[theme]/Magento_Checkout/layout/checkout_index_index.xml a przed znacznikiem końca ciała dodaj ten kod.

<?xml version="1.0"?>
    <page xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
      layout="1column"
      xsi:noNamespaceSchemaLocation="urn:magento:framework:View/Layout/etc/page_configuration.xsd">
        <body>
            <move element="logo" destination="header-wrapper"/>
            <move element="header-wrapper" destination="checkout.header.wrapper" before="logo"/> 
            <move element="footer_div" destination="checkout.header.wrapper"/>

        </body>
    </page>
Bhagyavant Panhalakr
źródło
jak ten <move element = "header-wrapper" destination = "checkout.header.wrapper" before = "logo" /> <move element = "footer_div" destination = "checkout.header, wrapper" />
Bhagyavant Panhalakr
1

Żadne z powyższych nie działało dla mnie, a zaakceptowana odpowiedź powoduje następujący błąd:

Wyjątek # 0 (LogicException): Przesłonięcie pliku widoku „/app/design/frontend///Magento_Checkout/layout/override/theme/Magento/blank/checkout_index_index.xml” nie pasuje do żadnego z plików.

Przyczyną błędu jest brak checkout_index_index.xmlpliku do zastąpienia w określonej lokalizacji (pod pustym motywem).

Rozwiązanie: po konsultacji z devDocs https://goo.gl/gvE23c musiałem zastąpić plik podstawowy modułu kasy, kopiując checkout_index_index.xmlplik z vendor/module-checkout/layoutkatalogu i kopiując go do app/design/frontend/<Vendor>/<themename>/Magento_Checkout/layout/override/base i zmieniająclayout="checkout" nalayout="1column"

Logo nie wyświetlało się z powodu <move element="logo" destination="checkout.header.wrapper"/>linii, więc skomentowałem je i zaczęło się ponownie wyświetlać.

Devtype
źródło
0

Spróbuj dodać watsons checkout_index_index.xml do [root] / app / design / frontend / [vendor] / [theme] /Magento_Checkout/layout/override/theme/blank/checkout_index_index.xml

andy.ashler
źródło
0

Iść do...

[root] / app / design / frontend / [vendor] / [theme] /Magento_Checkout/layout/checkout_index_index.xml

zmień tę linię

<move element="logo" destination="checkout.header.wrapper"/>

do

<move element="logo" destination="header-wrapper"/>

To działało dla mnie :)

Gnucho
źródło
Świetna robota, wysyłając ponownie tę samą odpowiedź ^^ (jeśli ten plik istnieje, ponieważ jakiś programista w twoim zespole / firmie / umieściłeś go już tam ..)
OZZIE