简体   繁体   中英

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.

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

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);
        }
    }

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM