devolver HTML en $ event-> sender-> addErrors no funciona

Oct 09 2020

Tengo un complemento que verifica si hay una entrada duplicada antes de guardar. Estoy tratando de devolver al usuario un ancla a la entrada que existe para que mi cliente pueda cambiar sin buscarla en una estructura gigante.

Tengo este codigo

$event->sender->addErrors([ 'expiryDate' => '<a href='.$entry[0]->cpEditUrl.'>'.$entry[0]->title.'</a>'
]);

Pero de alguna manera no puedo representar el HTML correctamente en el Panel de control, se muestra como texto simple. ¿Hay alguna forma de lograrlo?

Respuestas

1 Kevon Oct 09 2020 at 19:08

Muy bien, después de investigar y depurar un poco más este problema, ¡lo descubrí yo mismo!

$event->sender->addErrors([ 'expiryDate' => Template::raw('<a href='.$entry[0]->cpEditUrl.'>'.$entry[0]->title.'</a>')
]);

PD: no olvide agregar esto en la parte superior de su archivo php:

use craft\helpers\Template;