この質問を行うために必要な作業はたくさんあります:ここにステップ:
1.Checkoutモジュールブロックの出力を無効にする
この場合、カート/チェックアウトを空白にするチェックアウトモジュールブロックの出力を無効にし、ミニカートポップも削除するため、お客様は注文できません。
無効化モジュールの Magento_Checkout
管理者からの出力に.Just admin>Store>Configuration>Advance>Advance
。
たくさんのことがあり、あなたはこのケースをする必要があります。
この場合、以下の手順が必要になることがあります。
- Magentoのデフォルトのシステム設定を使用してチェックアウトモジュールブロックの出力を無効にする
次に、モジュールMagento_Checkout Change it statusを選択し、その後Disabled
、Save Configボタンをクリックして設定を保存します。
2. AddtoCartボタンがあるプラグインを使用して一部のブロック出力を無効にします
場合、アイデアはプラグインを使用してブロックするためにカートに追加を生成するブロックの出力を無効にします
ご存じのとおり、クラスMagento \ Framework \ View \ Element \ AbstractBlock ` toHtml()から、ブロックの出力が生成されます
私のプラグインで、次のようなレイアウトでいくつかのブロック(Which are generate Add to Cart button
)名を見つけます:
di.xmlの作成はapp \ code [Vendorname] [Module] \ etc \ frontendです
だから、それは管理者ではなくフロントエンドでのみ機能します。
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>
クラスプラグインAbstractBlockPluginに位置します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;
}
}
次に、cache:flush magentoシェルを使用して bin/magento cache:flush