Как мне дать шаблонам Symfony класс CSS на основе их пути навигации - PullRequest
1 голос
/ 28 июля 2010

Я пытаюсь отобразить шаблоны в Symfony с помощью класса CSS, чтобы указать, к какой части сайта они принадлежат. Например: я нахожусь в /games Я бы хотел, чтобы страница выглядела примерно так:

<div id="wrapper" class="games">
<!-- content -->
</div>

Или, если мы отображаем /home/profile, страница будет выглядеть так:

<div id="wrapper" class="home">
<!-- content -->
</div>

В основном я ищу функции, аналогичные методам сегмента URL CodeIgniter.

1 Ответ

3 голосов
/ 28 июля 2010

Является ли класс просто именем модуля? Если это так, сделайте это:

<div class="<?php echo $sf_context->getModuleName() ?>">

Вы также можете установить его в качестве параметра в запросе, указав его в своих маршрутах:

page:
  url: /page
  param: { module: default, action: page, section: games }
  ...

Тогда получите его из запроса в вашем шаблоне:

<div class="<?php echo $sf_request['section'] ?>">

Наконец, если оно одинаково для каждого модуля, но не эквивалентно имени модуля, вы можете установить его в preExecute:

public function preExecute()
{
  $this->getRequest()->setParameter('section', 'workouts');
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...