Амперсанд в заголовке страницы Symfony - PullRequest
0 голосов
/ 01 сентября 2011

В веб-приложении Symfony, которое я создаю, все заголовки моих HTML-страниц содержат амперсанд.Однако Symfony избегает амперсанда, и мой заголовок выглядит примерно так:

  <title>Home - Wallace &amp;amp;amp; Gromit., Inc.</title>

На мой взгляд, YAML определяет заголовок без амперсанда:

default:
  ...
  metas:
    ...
    title:        Wallace & Gromit., Inc.

И яперепробовал все виды стратегий ухода с помощью функции include_title () в моем layout.php, но, похоже, ничего не работает.

<head>
  <?php include_http_metas() ?>
  <?php if (has_slot('title_prefix')): ?>
    <?php $sf_context->getResponse()->setTitle(get_slot('title_prefix') . ' - ' . $sf_context->getResponse()->getTitle(ESC_SPECIALCHARS)) ?>
  <?php endif; ?>
  <?php include_metas() ?>
  <link rel="icon" href="/favicon.ico" type="image/x-icon" />
  <?php include_stylesheets() ?>
  <!--[if IE 7]><link rel="stylesheet" type="text/css" href="css/screen_ie.css" /><![endif]-->
  <?php include_javascripts() ?>
  <?php include_title(ESC_SPECIALCHARS) ?>
</head>

Есть идеи?

1 Ответ

1 голос
/ 01 сентября 2011

Метод setTitle () имеет параметр по умолчанию для экранирования заголовка. Это выглядит так:

setTitle($title, $escape = true)

Вы не должны избегать вызова getTitle (), если вы используете параметр по умолчанию для setTitle (). Попробуйте использовать ESC_RAW вместо ESC_SPECIALCHARS.

...