Help with Html helpers


(Jasin Colegrove) #1

This seems pretty simple to me, but I can’t see to get it to work. I’ve did some googling and what I found says this should work, but it does not. I am new, so maybe something has changed, but I didn’t find any documentation to prove something changed

I want to add a onClick attribute to a Html::a() helper, but the rendered HTML doesn’t have an onClick attribute

Html::a(FAS::icon('trash'), ['user/delete/' . Html::encode($data->id)], ['onClick' => 'something']);

(Eloy Gonzalez) #2

@jasin;

Gretings, if read the method a on \yii\helpers\BaseHtml

can read this parameters

public static function a($text, $url = null, $options = [])


(Jasin Colegrove) #3

That’s not helpful. I’m already supplying an array to options that has a key => value pair.

the only thing I read there that suggest why it’s not being rendered is because the value is null, which it isn’t. What am I missing??

Edit: and if I add in another key => value pair like ‘class’ => ‘mx-auto’ that is rendered fine. but yet there is no onClick attribute rendered.


(Eloy Gonzalez) #4

Check those images…

i setted parameters requested on method mentioned

Check console attribute onClick setted on element “a”


(Jasin Colegrove) #5

I’m happy to accept that it works for you and everyone else. But that is not why I am here.


(Jasin Colegrove) #6

As new user I am limited to one picture per post


(Andro) #7

Hi Jasin,

it’s because you format the output as ‘html’.
So the formatter of the GridView (default is the Yii formatter) processes it and uses the HtmlPurifier to strip evil code away.
Change the format type to ‘raw’ and you can use your attribute.


(Jasin Colegrove) #8

Thank you, I was just finishing a xdebug session and noticed the HTML purifier was stripping the attribute. Now I understand why