Magento 2: Jak zastąpić domyślny plik HTML szablonu mini-koszyka?

12

Jak zastąpić /var/www/html/magento2/vendor/magento/module-checkout/view/frontend/web/template/minicart/content.htmlplik w naszym niestandardowym motywie?

Rakesh Jesadiya
źródło

Odpowiedzi:

17

najpierw musimy zastąpić pliki stron internetowych / szablonów naszym plikiem motywu magento, w moim przypadku content.html

Magento_Checkout/web/template/minicart/content.html

Po zmianach w content.htmlpliku musimy wdrożyć plik statyczny za pomocą poleceniaphp bin/magento setup:static-content:deploy

LUB

Musisz usunąć plik content.html (muszę zmienić treść w tym pliku) pub/static/frontend/Magento/buytea/en_US/Magento_Checkout/template/minicarti ponownie załadować stronę.

Zmiany zostaną zastosowane.

Rakesh Jesadiya
źródło
1
Próbuję zastąpić stronę główną. Ale nie działa
Ankit Shah
która strona, proszę podać ścieżkę
Rakesh Jesadiya
Mam poniżej struktury folderów magento2 |_ app |_ design |_ frontend |_ Magento |_luma |_Magento_Theme |_templates |_root.phtml composer.json registration.php theme.xmli polecam magento.stackexchange.com/questions/138223/...
Ankit Shah
musisz zdefiniować niestandardowy motyw, wewnątrz Luma nie działa, jeśli chcesz zmienić motyw Luma, przejdź do dostawcy / magento / theme-frontend-luma
Rakesh Jesadiya 27.09.16
Chciałbym zastąpić Luma Theme Nie możesz tego zrobić?
Ankit Shah
12

Jest inny sposób. Powinniśmy wiedzieć, że możemy zastąpić szablon HTML za pomocą RequireJS. Nie musimy tworzyć niestandardowego motywu . W niestandardowym module utwórz requirejs-config.js:

app / code / {Vendor} / {Module_Name} /view/frontend/requirejs-config.js

var config = {
    map: {
        '*': {
            'Magento_Checkout/template/minicart/content.html':
                'Vendor_ModuleName/template/minicart/content.html'
        }
    }
};

Więcej wyjaśnień możemy przeczytać tutaj .

Khoa TruongDinh
źródło
Hej. kiedy przesłonię w content.htmlten sposób, to dlaczego daje mi to puste miejsce? minikart.
chirag
Jest to plik Vendor_ModuleName/template/minicart/content.htmlw pub/static?
Khoa TruongDinh,
tak .. a także mój kod konfiguracji requirejs-config.jsjest dostępny
chirag
kiedy widzę konsolę, to również bierze mój plik zamiast rdzenia. ale nie wiem, dlaczego nic nie wyświetla.
chirag
Próbowałeś wyczyścić pamięć podręczną przeglądarki?
Khoa TruongDinh,
7

Możesz to zmienić, dodając ten folder do motywu:

Magento_Checkout/web/template/minicart

W tym folderze możesz utworzyć plik content.html. Po zmianie dokonanej w tym pliku należy wyczyścić pamięć podręczną przeglądarki, aby zobaczyć zmiany.

Borowy
źródło
próbuję tego samego sugerujesz to, ale nie działa.
Rakesh Jesadiya
Czy wdrożyłeś pliki statyczne? I wyczyściłeś pamięć podręczną?
Silvan
1
tak, działa dobrze po wyczyszczeniu plików statycznych i automatycznie wygeneruje nowy plik przy ładowaniu następnej strony.
Rakesh Jesadiya
0

Chociaż odpowiedź Khoa TruongDinh była naprawdę pomocna, brakuje pewnych szczegółów, więc oto pełny przykład:

Działający przykład minicart, skopiuj szablon HTML do:

[theme_path]/Magento_Theme/web/template/minicart/content.html

oraz w motywach wymaga jj-config.js =>

var config = {
    "map": {
        "*": {
            'Magento_Checkout/template/minicart/content.html': 'Magento_Theme/template/minicart/content.html'
        }
    }
};

Zobacz także podstawowy błąd: https://github.com/magento/magento2/issues/5832

OZZIE
źródło
-1

Otwórz plik do modyfikacji zawartości minicart:

/app/design/frontend/your_theme/Theme/Magento_Checkout/web/template/minicart/content.html

Otwórz plik do modyfikacji zawartości produktu minicart:

/app/design/frontend/Eglo/Theme/Magento_Checkout/web/template/minicart/item/default.html

Po modyfikacji musisz wdrożyć motyw, używając bin/magento setup:static-content:deploygo, a następnie pojawi się.

Jeśli modyfikacja nie jest zapełniona, zmodyfikuj tempaltes w poniższym katalogu, aby wyświetlić zmiany środowiska wykonawczego:

/pub/static/frontend/Your_theme/Theme/en_US/Magento_Checkout/template/minicart
Abhinav Singh
źródło
nie powinieneś modyfikować rzeczy w pub / static. W każdym razie zostanie to nadpisane przez polecenie static
install