Header Ads Widget

Ticker

6/recent/ticker-posts

Cómo agregar la lista personalizada en el escaparate de Shopware

En este blog, aprenderá "Cómo agregar la lista personalizada en el escaparate de Shopware".
Espero que conozca la estructura de directorios del   complemento Shopware 6; si no la conoce, consulte aquí:  https://docs.shopware.com/en/shopware-platform-dev-en/internals/directory-structure .
Se pueden registrar nuevos filtros de lista de productos a través del evento  \Shopware\Core\Content\Product\Events\ProductListingCriteriaEventEste evento se activará cuando el objeto Criteria se esté creando para el listado. El evento puede usarse para responder a la solicitud de agregar nuevos filtros o agregaciones al objeto Criteria. Posteriormente, es importante registrarse para que el evento  \Shopware\Core\Content\Product\Events\ProductListingResultEvent agregue los valores filtrados al resultado. 
La clasificación en la lista de productos está controlada por  \Shopware\Core\Content\Product\SalesChannel\Listing\ProductListingSortingRegistryTodas las clases de este registro representan una clasificación seleccionable en el listado. Se  \Shopware\Core\Content\Product\SalesChannel\Listing\ProductListingSorting puede definir fácilmente a través de DI-Container. Por la etiqueta del contenedor,  shopware.sales_channel.product_listing.sorting estos se registran en el registro.

service.xml

Extensión de entidad

Si se pregunta cómo extender las entidades centrales existentes, este 'Cómo' lo tendrá cubierto. Sin embargo, no confunda las extensiones de entidad con los campos personalizados de las entidades, ya que tienen un propósito diferente. En resumen: las extensiones son técnicas y el usuario administrador no las puede configurar así. Además, pueden tratar con tipos más complejos que los escalares. Los campos personalizados son, de forma predeterminada, configurables por el usuario administrador en la administración y, en su mayoría, admiten tipos escalares, por ejemplo, un campo de texto, un campo numérico 
Las entidades propias se pueden integrar en el núcleo mediante la entrada correspondiente en el  services.xmlPara ampliar las entidades existentes, \Shopware\Core\Framework\DataAbstractionLayer\EntityExtension se utiliza la clase abstracta  EntityExtension debe definir qué entidad debe extenderse en el método. Una vez que esta extensión acceda al sistema, la extensión puede agregarle más campos:
Este ejemplo agrega otra asociación nombrada  custom_struct al  ProductDefinitionLa  Runtime bandera le dice a la capa de abstracción de datos que usted mismo se ocupará del contenido del campo. Eche un vistazo a nuestra lista detallada de  banderas  y cuál es su propósito, o descubra qué  tipos de campos  están disponibles en Shopware 6.
Por lo tanto, es hora de ocuparse usted mismo del nuevo campo de las entidades de productos. Necesitará un nuevo suscriptor para esto. Eche un vistazo  aquí  para descubrir cómo agregar correctamente su propia clase de suscriptor.
Como puede ver, el suscriptor escucha el  PRODUCT_LOADED evento, que se activa cada vez que se solicita un conjunto de productos. El oyente  onProductsLoaded luego agrega una estructura personalizada en el nuevo campo.

service.xml

Espero que te ayude. Gracias por leer. Happy Coding 🙂
Gracias.

Publicar un comentario

0 Comentarios