Quiero mostrar un mensaje de error o de éxito en mi módulo magento 2. He extendido mi controlador de front-end con el nombre de la clase \Magento\Framework\App\Action\Action
. Luego redirijo al cliente a la página de inicio usando el siguiente código
$this->messageManager->addError($SomeMessage);
$resultRedirect = $this->resultRedirectFactory->create();
$resultRedirect->setPath($base_path);
Todo funciona bien pero esta línea nunca imprime el error
$this->messageManager->addError($SomeMessage);
magento2
session
magento2-dev-beta
global-messages
Shaheer Ali
fuente
fuente
Respuestas:
Me he enfrentado a un problema relacionado con la visualización del mensaje en la fuente Beta de Magento2. En algunas fuentes, por defecto, se muestra un mensaje de error y éxito, pero en algunos casos no se muestra, siga los pasos a continuación.
Paso 1: he creado el archivo Message.php en mi módulo personalizado en Darsh \ Crud \ Block \ Message.php
Paso 2: Se agregó un bloque de mensajes al administrador en Darsh \ Crud \ view \ frontend \ layout \ crud_index_form.xml
Agregue la etiqueta de apertura y cierre <> para el controlador de diseño.
Ahora puede ver su mensaje personalizado agregado en Darsh \ Crud \ Controller \ Index \ Form.
Si tiene algún problema, consulte el Módulo de ejemplo en https://github.com/Darshanmodi1427/Magento2_Crud_Operation.git
fuente
En el archivo de diseño, he usado el siguiente código. ahora recibí el mensaje en la interfaz.
fuente
Me enfrenté al mismo problema y pude solucionarlo agregando lo siguiente en mi archivo de diseño:
Esto debería arreglarlo;)
fuente
¿Has intentado devolver tu última línea del código?
La
addError
función real se ve bien a menos que la$SomeMessage
variable esté vacía, ¿lo ha verificado también?Si eso falla, puede intentar redirigir usando la
_redirect
función como:Tal vez la
resultRedirect
función borra la sesión de mensajes para que su mensaje nunca se muestre.fuente
Sí, he agregado un mensaje usando el objeto $ resultRedirect con
Por favor, vea el código del controlador a continuación
Gracias.
fuente
Intente usar XDEBUG, establezca el punto de interrupción en la acción de su controlador. Tal vez fue duplicar la redirección y hacer que los mensajes perdidos en el administrador.
fuente