Saltar al contenido

Complemento Magento 2 After con parámetro

Solución:

Si necesita parámetros de entrada y también necesita cambiar la salida, puede usar un alrededor complemento o un después enchufar:

Ejemplo usando around:

public function aroundGetCategoryUrl(
    MagentoCatalogHelperCategory $subject,
    Closure $proceed,
    $category
) {
   $originalResult = $proceed($category);
   
   if (...) {
      ...
      return $otherResult;
   }

   return $originalResult;
} 

Ejemplo usando after:

public function afterGetCategoryUrl(
    MagentoCatalogHelperCategory $subject,
    $result,
    $category
) {
   if (...) {
      ...
      return $otherResult;
   }

   return $result;
} 

Solo una nota:

Tenga en cuenta que si va a cambiar un comportamiento interno, preferencia podría ser una mejor opción que un enchufar. Depende de lo que vayas a hacer.

Desde Magento 2.2 es posible tener parámetros de entrada en el complemento posterior

namespace MyModulePlugin;

class AuthLogger
{
    private $logger;

    public function __construct(PsrLogLoggerInterface $logger)
    {
        $this->logger = $logger;
    }

    /**
     * @param MagentoBackendModelAuth $authModel
     * @param null $result
     * @param string $username
     * @return void
     * @SuppressWarnings(PHPMD.UnusedFormalParameter)
     */
    public function afterLogin(MagentoBackendModelAuth $authModel, $result, $username)
    {
        $this->logger->debug('User ' . $username . ' signed in.');
    }
}

Consulte la documentación de Magento para obtener más detalles https://devdocs.magento.com/guides/v2.2/extension-dev-guide/plugins.html#after-methods

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *