I would like to extend \Magento\Catalog\Block\Product\View but I get 404
<?php namespace Vendor\Custom\Block; use Magento\Catalog\Model\ProductFactory; use Magento\Catalog\Block\Product\AbstractProduct; use Magento\Framework\View\Element\Template; use Magento\Catalog\Api\ProductRepositoryInterface; use Magento\Catalog\Model\Product; class MyProducts extends \Magento\Catalog\Block\Product\View { protected $productFactory; protected $_coreRegistry; /** * @param \Magento\Catalog\Block\Product\Context $context * @param array $data */ public function __construct( \Magento\Catalog\Block\Product\Context $context, ProductFactory $productFactory ) { $this->productFactory = $productFactory; $this->_coreRegistry = $context->getRegistry(); parent::__construct($context); } } ?> than I created in my module a di.xml which looks like
<?xml version="1.0"?> <config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../../../../../lib/internal/Magento/Framework/ObjectManager/etc/config.xsd"> <preference for="Magento\Catalog\Block\Product\View" type="Vendor\Custom\Block\MyProducts"/> </config> than I reference in product view as follows
<referenceBlock name="product.info.details"> <block class="Vendor\Custom\Block\Variants" name="variants.tab" template="Vendor_Custom::variants.phtml" group="detailed_info"> <arguments> <argument translate="true" name="title" xsi:type="string">Product variations</argument> </arguments> </block> </referenceBlock>