Ada banyak pekerjaan yang perlu dilakukan pertanyaan ini: Berikut langkah-langkahnya:
1. Output blok modul Checkout yang dapat dinonaktifkan
Kasus ini, Anda menonaktifkan keluaran blok modul checkout yang membuat Cart / Checkout kosong dan juga akan menghapus popart mini, Jadi Pelanggan tidak dapat melakukan pemesanan tempat.
menonaktifkan Magento_Checkout
output modul dari Adminadmin>Store>Configuration>Advance>Advance
. Hanya untuk .
Ada banyak hal, Anda perlu melakukan hal ini.
Untuk kasus ini, Anda mungkin perlu langkah-langkah di bawah ini:
- Nonaktifkan keluaran blok modul Checkout menggunakan pengaturan Sistem default Magento
Kemudian Pilih modul Magento_Checkout Ubah statusnya ke Disabled
dan setelah itu klik tombol Save Config untuk menyimpan pengaturan.
2. Nonaktifkan beberapa blok keluaran menggunakan plugin yang memiliki tombol AddtoCart
Dalam hal, ide dinonaktifkan output dari blok yang menghasilkan add to cart untuk memblokir menggunakan plugin
Seperti yang Anda ketahui bahwa dari kelas Magento \ Framework \ View \ Element \ AbstractBlock ` toHtml () output dari blok dihasilkan
Di plugin saya, cari beberapa blok ( Which are generate Add to Cart button
) nama dalam tata letak seperti :
di.xml create adalah app \ code [Vendorname] [Module] \ etc \ frontend
, Jadi itu hanya akan berfungsi frontend bukan untuk admin .
di.xml
<?xml version="1.0"?>
<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:framework:ObjectManager/etc/config.xsd">
<type name="\Magento\Framework\View\Element\AbstractBlock">
<plugin name="disabledOutofAddtoCartblock" type="[Vendorname]\[Module]\Plugin\AbstractBlockPlugin" />
</type>
</config>
Kelas plugin AbstractBlockPlugin terletak di a pp/code/[Vendorname]/[Module]/Plugin/
.
<?php
namespace [Vendorname]\[Module]\Plugin;
class AbstractBlockPlugin{
/**
* @var \Psr\Log\LoggerInterface
*/
protected $logger;
public function __construct(
\Psr\Log\LoggerInterface $logger
){
$this->logger = $logger;
}
/**
* Using after method change return value of toHtml
*/
public function afterToHtml(\Magento\Framework\View\Element\AbstractBlock $block ,$result){
$moduleName = $block->getModuleName();
$nameInLayout = $block->getNameInLayout();
$_disableBlocksNameInLayout = array(
'product.info.addtocart','product.info.addtocart.additional','product.info.addtocart.bundle',
);
/**
* If block name is match then return Blank
*/
if(in_array($nameInLayout ,$_disableBlocksNameInLayout)){
return "";
}
return $result;
}
}
Kemudian membutuhkan cache: gunakan flush magento shell bin/magento cache:flush