Cara mengganti file .phtml di Magento 2

15

Saya ingin menyesuaikan halaman detail produk, jadi diperlukan untuk mengganti beberapa file .phtml di lokasi berikut.

Jadi saya ingin tahu, cara mengganti file .phtml di vendor\magento\module-catalog\view\frontend\templates\productatauvendor\magento\module-theme\view

nuwaus
sumber

Jawaban:

23

Terkadang kita perlu melakukan modifikasi pada templat yang ada. Alih-alih membuat perubahan langsung ke file template yang ada, kita harus menimpanya dalam tema kita sendiri. Mari kita asumsikan bahwa kita ingin memperbarui halaman daftar kategori ( list.phtml). Untuk melakukannya, buat struktur direktori berikut:

app/design/frontend/Mycompany/Basic/Magento_Catalog/templates/product

Di sini saya berasumsi bahwa tema kita saat ini adalah Basic. Sekarang salin file list.phtml ke direktori produk dari lokasi berikut:

app/vendor/magento/module-catalog/view/frontend/templates/product/list.phtml

Sekarang Anda dapat membuat modifikasi apa pun yang Anda inginkan ke file yang diganti.

Untuk detail silakan baca tutorial ini. Ini banyak membantu Anda.

Arunendra
sumber
2
Hai, saya hanya mengganti file list.phtml di jalur berikut, \ app \ design \ frontend \ Magento \ luma \ Magento_Catalog \ templates \ product \ list.phtml. Tapi itu tidak berhasil. Bisakah saya tahu kesalahan saya?
Vigna S
Masalah yang sama, tidak peduli berapa kali saya menekan refresh yang default dimuat di atas kustom saya. Dan YA saya memiliki jalur yang benar sebelum ada yang bertanya, tetapi saya menggunakan komposer untuk menginstal magento sehingga defaultnya ada di lokasi yang berbeda jika itu penting.
Dustin Poissant
Saya harus menghapus cache blok html dan kemudian ini bekerja dengan baik untuk saya! (Saya menghapus cache seperti ini blog.gardenhouse.io/2018/05/29/… )
paul
Bagaimana cara mengganti template dari modul Anda?
Hitam
8

Saya menjawab pertanyaan saya sendiri,

Saya menemukan cara mengganti file .phtml di lokasi yang disebutkan dalam pertanyaan saya,

Anda harus meletakkannya di lokasi berikut untuk mengganti file asli

app\design\frontend\<VENDOR_NAME>\<THEME_NAME>\Magento_Catalog\templates\product\view

Dan saya percaya teorinya sama untuk mengganti file .phtml lainnya di Magento 2

nuwaus
sumber
Bisakah Anda memberi penjelasan lebih lanjut ... Seperti saya harus menyalin file phtml kustom saya ke folder tema? suka ke app \ design \ frontend \ <VENDOR_NAME> \ luma \ Magento_Catalog \ Haruskah saya membuat folder Vendor saya dan menyalin file inti phtml ke dalamnya? Jika dengan melakukannya, tidak perlu templat di folder tampilan?
Sushivam
Hai, saya mencoba mengganti file phtml untuk widget, dan saya tidak yakin jalur yang saya gunakan sudah benar. Apakah bagian Magento_Catalog dari jalur Anda khusus untuk folder modul yang Anda timpa? Jadi, jika saya mengganti isi vendor \ magento \ module-catalog-widget \ view \ frontend \ templates \ product \ widget \ content, apakah saya akan mengganti Magento_Catalog dalam instance Anda dengan Magento_Catalog_Widget dalam instance saya? Sedikit bingung karena belum jelas bagi saya.
robgt
6

Untuk mengganti file phtml, tata letak, dan web ke tema khusus

1) Untuk Mengganti file template:

vendor / magento / module-catalog / view / frontend / templates / produk / list.phtml

Ikuti jalan ini

app / design / frontend / Vendor / theme / Magento_Catalog / templates / product / list.phtml

2) Untuk Mengganti file tata letak:

vendor / magento / module-catalog / view / frontend / layout / catalog_product_view.xml

Ikuti jalan ini

aplikasi / desain / antarmuka / Vendor / tema / Magento_Catalog / tata letak / catalog_product_view.xml

Pangeran Patel
sumber
Bagaimana cara mengganti / menyesuaikan file modul lain seperti Observer, Controller dll?
Tahir Yasin
6

Untuk mengganti pthml dan menata file dari

vendor/magento/module-catalog/view/frontend/templates/product/list.phtml

ke

app/Mycompany/OverideCatalog/view/frontend/templates/product/list.phtml

Tata letak:

vendor/magento/module-catalog/view/frontend/layout/catalog_category_view.xml

ke

app/Mycompany/OverideCatalog/view/frontend/layout/catalog_category_view.xml

<block class="Magento\Catalog\Block\Product\ListProduct" name="category.products.list" as="product_list" template="Mycompnay_OverideCatalog::product/list.phtml">
Pramod Kharade
sumber
3

timpa templat (phtml) berdasarkan tema khusus

jika Anda ingin mengganti vendor\magento\module-catalog\view\frontend\templates\product\some.phtmlterlebih dahulu Anda perlu membuat tema khusus Anda, silakan lihat tautan ini untuk cara membuat tema khusus.

setelah itu buat file phtml di tema khusus Anda untuk menggantikan yang default

 app/design/frontend/vendor-name/theme-name/Magento_Catalog/templates/product/some.phtml

itu akhirnya menghapus cache dari magento dan juga browser, kemudian periksa halaman Anda, file phtml baru hanya tercermin.

cara yang sama dapat Anda lakukan untuk semua templat menimpa.

semoga berhasil

Bilal Usean
sumber
Terima kasih, saya baru menemukannya dan menjawab temuan dalam pertanyaan saya sendiri, jawaban Anda sangat mirip dengan temuan saya.
nuwaus
2

Buka folder: /vendor/magento/theme-frontend-luma/dan salin templat modul dan file tata letak dari folder tampilan.

Kemudian buat folder: /app/design/frontend/spacename/Theme/

Kemudian buat folder modul lalu buat templat dan folder layout.

Masukkan templat dan tata letak file dari folder tampilan modul.

Abhinav Singh
sumber