Solución:
Encontré el mismo problema y lo hice un poco más fácil y sin ObjectManager. Descubrí cómo se hace con las categorías y lo usé. En catalog_product_view.xml
, Reescribo la plantilla de nuevo a la de Magento_Theme:
<referenceBlock name="breadcrumbs" template="Magento_Theme::html/breadcrumbs.phtml" />
Luego escribí un pequeño complemento:
namespace VendorModulePluginCatalogBlockProduct;
class View
{
/**
* Add Breadcrumbs Block
*
* @param MagentoCatalogBlockProductView $subject
* @param $result
* @return mixed
* @throws MagentoFrameworkExceptionLocalizedException
*/
public function afterSetLayout(MagentoCatalogBlockProductView $subject, $result) {
$subject->getLayout()->createBlock(MagentoCatalogBlockBreadcrumbs::class);
return $result;
}
}
Finalmente, di.xml
:
<type name="MagentoCatalogBlockProductView">
<plugin name="add_catalog_breadcrumb_block" type="VendorModulePluginCatalogBlockProductView" />
</type>
Se han solucionado dos problemas: faltan rutas de navegación y falta el título de la página (en la sección de cabecera) en la página del producto.
Estas dos líneas restauran el bloque de ruta de navegación de la clase. Eso es todo. Sin complementos personalizados u otra cosa:
<referenceBlock name="breadcrumbs" template="Magento_Theme::html/breadcrumbs.phtml" />
<block class="MagentoCatalogBlockBreadcrumbs" />
Para aquellos que quieran un módulo de reparación hasta que Magento solucione esto:
https://github.com/CompactCodeEU/FixProductBreadcrumbs.git
Creé esto para agregar la casa y el producto a la ruta de navegación. Además, esto evita que JS se ejecute ya que lo reemplazo por el html predeterminado.