Ci sono molti lavori necessari per fare questa domanda: Ecco i passaggi:
1.Disabilitare l'uscita del blocco del modulo Checkout
In questo caso, disabiliti l'output del blocco del modulo di checkout che rende vuoto il carrello / checkout e rimuoverà anche il pop minicart, quindi il cliente non può effettuare l'ordine.
disabilita l' Magento_Checkout
output del modulo da Admin. Solo a admin>Store>Configuration>Advance>Advance
.
Ci sono molte cose, devi fare questo caso.
In questo caso, potrebbe essere necessario seguire i passaggi seguenti:
- Disabilita l'output del blocco del modulo di Checkout utilizzando l'impostazione di sistema predefinita di Magento
Quindi seleziona il modulo Magento_Checkout Cambia lo stato in Disabled
e successivamente fai clic sul pulsante Salva configurazione per salvare l'impostazione.
2. Disabilitare l'output di alcuni blocchi usando il plugin che ha il pulsante AddtoCart
Nel caso in cui l'idea sia disabilitata, l'output del blocco è quello che blocca generando aggiungi al carrello per bloccare usando il plugin
Come sai che dalla classe Magento \ Framework \ View \ Element \ AbstractBlock ` toHtml () viene generato l' output del blocco
Nel mio plugin, trova alcuni Which are generate Add to Cart button
nomi di blocchi ( ) nel layout come :
di.xml create è app \ code [Vendorname] [Modulo] \ etc \ frontend
, Quindi funzionerà solo frontend non per 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>
Classe plug-in AbstractBlockPlugin situato in 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;
}
}
Quindi richiede una cache: svuota la shell magento usando bin/magento cache:flush