views:

621

answers:

1

I'm trying to output some HTML in an XML template and Symfony's escaping method is messing it up. So I tried making a copy of settings.yml in the module's config folder, but it seems to be completely ignored. Is there an easy way to change the escaping_strategy and/or escaping_method settings per module or even per tample?

+3  A: 

While output escaping is turned on you still have access to the raw value through $sf_data. For example, if the HTML you're trying to output was stored in a variable called html in your action:

$this->html = '<b>My HTML</b>';

You could get the unescaped value with this:

<?php echo $sf_data->getRaw('html') ?>

http://www.symfony-project.org/book/1_0/07-Inside-the-View-Layer#chapter_07_sub_activating_output_escaping

I don't believe there is a way to disable this functionality on a per-module basis.

Cryo
Looks cool, didn't know about this.I didn't understand the question like this and was about to answer, just for an object : $yourObject->getRawValue()->getProperty().. if it helps...
Julien
Julien: if he's trying to work out of a model object your solution would be perfect, you should post as an answer just in case.
Cryo
Thanks Cryo, $sf_data->getRaw() did the trick. Julien, thanks for the info on how to use this from the model.
Arms