Symfony2路径到twig文件

时间:2014-04-10 13:48:57

标签: php symfony twig

我的twig文件路径有问题。我想缩短路径。看看我的例子:

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

当然它会起作用,但是看看twig文件的路径已经很久了......我现在可以使用像@Template()这样的注释,但我不想这样做。有没有其他方法可以使用默认的twig文件来呈现我的页面?

默认twig文件 - 我理解为名称与action方法名称相同的文件。因此,如果action of action是indexAction,则twig文件的名称应为index.html.twig。

2 个答案:

答案 0 :(得分:2)

如果您想要更适合快速应用程序开发(RAD)的Symfony体验,请查看KNP RAD软件包。这为您提供了许多基于约定的快捷方式,包括自动模板解析。见这里:http://rad.knplabs.com/#template

答案 1 :(得分:-1)

我无法找到解决问题的更好方法。所以我决定使用@Template,Mark有权将它缓存。我认为更好的选择是使用那些注释而不是编写我自己的方法或将所有路径放在render方法中。

所以答案如下:

use Sensio\Bundle\FrameworkExtraBundle\Configuration\Template;

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