【问题标题】:Cannot find template twig path找不到模板树枝路径
【发布时间】:2017-09-14 17:14:06
【问题描述】:

我有一个关于如何在 php 函数中正确指定树枝模板的问题?我有以下结构:

src
  User
     EmailBundle
           DependencyInjection
           Resources
                views
                    Default
                        email-base.html.twig
           Services

我正在尝试什么:

$template = $this->emailService->getTemplate(
        'UserEmailBundle:Default/email-base.html.twig'
)

并且不起作用,它显示找不到模板的错误。我究竟做错了什么?谢谢

【问题讨论】:

    标签: php symfony twig


    【解决方案1】:

    您的捆绑包是 EmailBundle 而不是 UserEmailBundle,因此请尝试更改: UserEmailBundle:Default/email-base.html.twigEmailBundle:Default/email-base.html.twig

    再看这个问题,可能是我错了,你试了吗:

    UserEmailBundle:Default:email-base.html.twig?

    【讨论】:

      【解决方案2】:

      @Email/Default/email-base.html.twig 有效,或者EmailBundle:Default:email-base.html.twig

      假设这个设置:

      src
          User
              EmailBundle
                  EmailBundle.php
                  Resources
                      views
                          Default
                              email-base.html.twig
      

      检查您的 composer.json,它应该如下所示:

      // ...
      
      "autoload": {
          "psr-4": {
              "AppBundle\\": "src/AppBundle", "User\\": "src/User"
          },
          "classmap": [ "app/AppKernel.php", "app/AppCache.php" ]
      },
      
      // ...
      

      同时确认你已经在 AppKernel.php 中注册了你的包:

      // ...
      $bundles = [
          // ...
          new \User\EmailBundle\EmailBundle(),
          new AppBundle\AppBundle(),
      ];
      // ...
      

      【讨论】:

      • 我也以为是EmailBundle.php,但后来我记得奏鸣曲使用了那种命名空间,包名是UserEmailBundle.php
      • @kunicmarko20 嗯,我刚刚通过重新创建项目对其进行了测试,它工作得很好。
      • 我说的是 Bundle 名称,因为我们没有任何信息,它可以是 UserEmailBundle,但也可以是 EmailBundle
      • @kunicmarko20 啊,对不起。 OP应该澄清这一点。
      猜你喜欢
      • 2013-04-30
      • 1970-01-01
      • 2012-07-27
      • 1970-01-01
      • 1970-01-01
      • 2016-06-18
      • 2013-08-07
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多