Symfony - bu çıkış modülü başına kaçan (veya şablonun başına) devre dışı bırakmak mümkün mü?

3 Cevap php

Ben bir XML şablonu çıktı bazı HTML çalışıyorum ve Symfony'nin kaçan bu tekniği berbat ediyor. Yani modülün config klasöründe settings.yml bir kopyasını yapmaya çalıştık, ama tamamen göz ardı görünüyor. Escaping_strategy ve / veya modül başına ya da şablonun başına escaping_method ayarlarını değiştirmek için kolay bir yol var mı?

3 Cevap

Çıktı öncelenimi size açıkken hala $sf_data ile ham değere erişebilir. Örneğin, çıkış için çalışıyoruz HTML sizin eylem html adlı bir değişkende saklanır ise:

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

Bu ile çıkmamış bir değer alabilir:

<?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

Ben bir başına modül bazında bu işlevi devre dışı bırakmak için bir yolu var olduğuna inanmıyorum.

Sadece bugün bu sorun haline çalıştırmak ve i sfConfig::set('sf_escaping_strategy', false) benim denetleyicisi (ya o modül veya belirli bir eylemin tüm eylemler için preExecute yönteminde ayarlayarak bunu çözmek için yönetmek - {[ (2)]}).

değişken eylem geçirilir getRaw çalışır. view kullanımı içinde değişkeni için

sfOutputEscaperGetterDecorator::unescape($html)