开发者

How do I give Symfony templates a CSS class based on their navigation path

I am trying to render templates in Symfony wi开发者_Go百科th a CSS class to denote which part of the site they belong to. For example: I am in /games I'd like the page to look something like:

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

Or if we are displaying /home/profile the page would look like this:

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

Basically I am looking for a similar functionality to CodeIgniter's url segment methods.


Is the class simply the name of the module? If it is, do this:

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

You could also set it as a parameter on the request by defining it in your routes:

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

Then get it off the request in your template:

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

Finally, if it's the same for each module but not equivalent to the module name, you could set it in preExecute:

public function preExecute()
{
  $this->getRequest()->setParameter('section', 'workouts');
}
0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜