Slugger (for Symfony2)
A simple way for generate slugs (everyvhere in your web app), (*1)
Installation
Update your composer.json
add the folowing line in the require area, (*2)
"rudak/slug-bundle": "dev-master"
Enable the bundle
Enable the bundle in the kernel, in appKernel.php
, (*3)
new Rudak\Slug\RudakSlugBundle(),
How to use it ?
In Twig templates
Just add slugit
after the string you want to transform, (*4)
Exemple :
{{ 'my text to slug'|slugit }}
In a controller
Access the service of the container like this:, (*5)
$Slugger = $this->get('rudak.slugger');
Use the service (a static Slug class) like that:, (*6)
echo $Slugger::slugit('slug this string please')
// slug-this-string-please
Exemple
public function getPostAction()
{
$post = $this->getDoctrine()->getManager()
->getRepository('YourBundle:post')->find(1);
$Slugger = $this->get('rudak.slugger');
return $this->render('YourBundle:Default:your-view.html.twig', array(
'titleSlug' => $Slugger::slugit($post->getTitle()),
'post' => $post
));
}