Hay muchos trabajos necesarios para hacer esta pregunta: Aquí los pasos:
1.Salida de bloque del módulo Checkout desactivado
En este caso, deshabilita la salida del bloque del módulo de pago que deja el Carrito / Pago en blanco y también elimina el minicart emergente, por lo que el Cliente no puede realizar el pedido.
desactivar la Magento_Checkout
salida del módulo de Admin. Solo para admin>Store>Configuration>Advance>Advance
.
Hay muchas cosas, necesitas hacer este caso.
Para este caso, es posible que necesite los siguientes pasos:
- Deshabilite la salida del bloque del módulo Checkout utilizando la configuración predeterminada del sistema Magento
Luego seleccione el módulo Magento_Checkout Cambie su estado a Disabled
y luego haga clic en el botón Guardar configuración para guardar la configuración.
2. Desactive la salida de algunos bloques usando el complemento que tiene el botón AddtoCart
En el caso, la idea es deshabilitar la salida del bloque aquellos bloques que generan agregar al carrito para bloquear usando el complemento
Como saben, desde la clase Magento \ Framework \ View \ Element \ AbstractBlock ` toHtml () se genera la salida del bloque
En mi complemento, encuentre algunos bloques ( Which are generate Add to Cart button
) nombre en diseño como :
di.xml create es app \ code [Nombre del proveedor] [Módulo] \ etc \ frontend
, Por lo que solo funcionará frontend no para el administrador .
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>
Clase de complemento AbstractBlockPlugin ubicado en 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;
}
}
Luego requiera un caché: enjuague el magento shell usando bin/magento cache:flush