Purzynski
Purzynski

Reputation: 1227

Symfony2 path to twig file

I have problem with path to twig file. I would like to shorten the path. Look at my example:

class DefaultController extends Controller
{
    public function indexAction($name)
    {
        return $this->render('CatalogFrontendBundle:Default:index.html.twig', array('name' => $name));
    }
}

Of course it will work, but look at the path to twig file it's so long.. I now that I could use annotation like this @Template() but I don't want to. Is there any other way to use default twig file to render my page?

Default twig file - I understand as the file whose name is the same like name of action method. So if name of action is indexAction the name of twig file should be index.html.twig.

Upvotes: 0

Views: 376

Answers (2)

Purzynski
Purzynski

Reputation: 1227

I can't found better solution to my problem. So I decide to use @Template, Mark have right it will be cached. And I think that better option is to use those annotation than write my own method or put all of the path in the render method.

So the answer is below:

use Sensio\Bundle\FrameworkExtraBundle\Configuration\Template;

    class DefaultController extends Controller
    {
        /**
         * 
         * @Template()
         */
        public function indexAction($name)
        {
            return array('name' => $name);
        }
    }

Upvotes: -1

Peter
Peter

Reputation: 808

If you'd like a Symfony experience that is more geared toward Rapid Application Development (RAD) take a look at the KNP RAD bundle. This gives you a lot of convention-based shortcuts to work with, including automatic template resolution. See here: http://rad.knplabs.com/#template

Upvotes: 2

Related Questions