Có rất nhiều công việc cần làm câu hỏi này: Dưới đây là các bước:
1. đầu ra khối mô-đun Checkout.
Trong trường hợp này, bạn vô hiệu hóa đầu ra khối mô-đun kiểm tra làm cho Cart / Checkout trống và cũng sẽ loại bỏ minicart pop, vì vậy Khách hàng không thể đặt địa điểm đặt hàng.
vô hiệu hóa Magento_Checkout
đầu ra mô-đun từ Admin. Chỉ cần admin>Store>Configuration>Advance>Advance
.
Có rất nhiều điều, bạn cần làm trường hợp này.
Đối với trường hợp này, bạn có thể cần các bước dưới đây:
- Vô hiệu hóa đầu ra khối mô-đun Checkout bằng cài đặt mặc định Magento
Sau đó, chọn mô-đun Magento_Checkout Thay đổi trạng thái thành Disabled
và sau đó nhấp vào nút Lưu Cấu hình để lưu cài đặt.
2. Có thể tạo một số khối đầu ra bằng cách sử dụng plugin có nút AddtoCart
Trong trường hợp, ý tưởng bị vô hiệu hóa đầu ra của khối những khối tạo ra thêm vào giỏ hàng để chặn bằng cách sử dụng plugin
Như bạn biết rằng đầu ra của khối Magento \ Framework \ View \ Element \ AbstractBlock ` toHtml () của khối được tạo
Trong plugin của tôi, tìm một số Which are generate Add to Cart button
tên khối ( ) trong bố cục như :
tạo di.xml là ứng dụng \ code [Vendorname] [Module] \ etc \ frontend
Vì vậy, nó sẽ chỉ hoạt động frontend không dành cho quản trị viên .
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>
Lớp Plugin Tóm tắtBlockPlugin đặt tại 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;
}
}
Sau đó yêu cầu bộ đệm: xóa magento shell bằng cách sử dụng bin/magento cache:flush