2010-01-12 5 views
3

У нас есть эта функция Smarty, которая возвращает HTML-код для шаблонов. Однако также возможно, что функция возвращает пустую строку, которую мы теперь хотим идентифицировать. Наша система работает стабильно в течение многих лет, поэтому я ищу наименее инвазивное возможное решение.делать вещи с возвращаемым значением функции smarty?

Можно ли присвоить возвращаемое значение переменной smarty? Я попытался присвоить его переменной Javascript, однако, поскольку часть HTML создается пользователем, возвращаемая строка может быть смесью двойных и одинарных кавычек, что вызывает проблемы в IE (к сожалению, большая часть нашей пользовательской базы).

<script type="text/javascript"> 
var html = '{smarty function}'; //IE chokes on mixed quotes 
</script> 

Любая помощь оценена!

ответ

6

escape Используйте модификатор, например:

{$variable|escape:'quotes'} 

Для функции Smarty, вы можете сначала попробовать, если {smarty_function|escape:'quotes'} работает, если это не то, вы должны назначить выход функции в переменную, прежде чем избегая его, и для этого вы используете capture:

{capture name=mycapture}{smarty_function}{/capture} 
{$smarty.capture.mycapture|escape:'quotes'} 
+0

Вы только что сделали свой день. Большое спасибо! – jodeci

 Смежные вопросы

  • Нет связанных вопросов^_^