错误:您无法创建非活动范围(“请求”)的服务(“templatating.helper.assets”)

2023-11-22

我遇到以下错误,

  [Twig_Error_Runtime]                                                                                                                                                                                     
  An exception has been thrown during the rendering of a template ("You cannot create a    service ("templating.helper.assets") of an inactive scope ("request").") in "AcmeMessagingBundle:Comment:email.html.twig".

我正在从 symfony 2 自定义控制台命令渲染树枝模板

下面是我的服务类,它是事件订阅者,我通过 symfony 控制台命令触发 onCommentAddEmail 事件来发送电子邮件,

class NotificationSubscriber implements EventSubscriberInterface
{
     private $container;

    public function __construct(ContainerInterface $container)
    {
        $this->container = $container;
    }


    public static function getSubscribedEvents()
    {
         return array(
            'comment.add'     => array('onCommentAddEmail', 0),
         );
     }

     public function onCommentAddEmail(CommentAddEvent $event)
     {
              ...................


             $body = $this->container->get('templating')->render(
            'AcmeMessagingBundle:Comment:email.html.twig',
                array('template' => $template)
             );

     .......


    }

}

$body 被传递给 swiftmailer 来发送电子邮件。

这是我的服务定义,

Acme\MessagingBundle\订阅者\NotificationSubscriber

<services>
    <service id="notification_subscriber" class="%notification_subscriber.class%">
        <argument type="service" id="service_container" />
        <tag name="kernel.event_subscriber" />
    </service>
</services>

下面的帖子说问题在 symfony 2.1 中已修复,但我仍然收到错误,

 https://github.com/symfony/symfony/issues/4514

我已经提到过http://symfony.com/doc/current/cookbook/service_container/scopes.html,我已将整个容器传递给我的服务。


不确定这是否是最好的方法,但添加这个对我有用,

    $this->container->enterScope('request');
    $this->container->set('request', new Request(), 'request');
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

错误:您无法创建非活动范围(“请求”)的服务(“templatating.helper.assets”) 的相关文章

  • 如何调试symfony2服务容器中配置的标签和服务?

    我正在编写一个服务来处理 AccessDeniedException 并且我找到了一种方法来解决它使用 Symfony2 的 AccessDeniedHandlerInterface https stackoverflow com ques
  • Doctrine make:迁移未知数据库类型

    我正在尝试开始使用 Doctrine 但是在通过创建实体时遇到了问题php bin console make entity 然后我尝试进行迁移php bin console make migration但我收到此错误消息 请求未知的数据库类
  • 用户区域设置在第一次请求时不起作用

    我的网站运行的是 Symfony 主版本 到目前为止 我能够使用本地监听器逻辑 http symfony com doc master cookbook session locale sticky session html来自网站 由于代码
  • Symfony2 捕获会话超时

    我有一个关于 Symfony2 的问题 希望有人能帮助我 Symfony 在哪里检查用户会话以及没有会话时该怎么办 就像重定向到登录页面一样 我发现了一些类似的问题 但不是我的意思 我为什么想知道它 如果有会话超时 我想检查调用是否是 Xm
  • Twig dump 不打印任何内容

    我现在有点困惑 我总是像其他树枝函数一样使用树枝转储函数 但现在它完全没有输出 没有错误 异常 什么都没有 其他一切都工作正常 例如反式过滤器 dump test prints nothing layout booking chooseAr
  • 使用 Symfony 3 / Doctrine 进行属性形式的一对多对一

    问题是这样的 我有一个包含 3 个类的模型 person 人员 工作 job 一个人可以有多个工作 任何工作与人的关系都可以有 date start 属性 date end 和 comment 因此 我使用持有这些属性的可连接 person
  • 夏季化上方的树枝和行

    我对 twig 有点陌生 我知道可以在模板中添加值并将它们收集在变量中 但我真正需要的是在总结它们之前在模板中显示汇总值 我需要像旧 symfony 中的插槽之类的东西 或者在 php 中我可以通过 ob start 来做到这一点 以某种方
  • FOSUserBundle 强制用户写入不同的密码

    我有一个使用 FOSUSerBundle 在 Symfony2 0 上运行的应用程序 连接该应用程序的用户每 3 个月必须更改一次密码 密码已就位且正在运行 今天 如果用户每 3 个月写入与前一个密码相同的新密码 则无需验证 他还可以使用该
  • Symfony:为 ManyToOne-OneToMany 关系嵌入表单集合

    我正在使用 Doctrine 和这三个 相关 实体运行 Symfony 2 3 出版物 Author and 作者发表 Both Author and 出版物具有多对一关系作者发表 所以它基本上是一个多对多关系Author and 出版物但
  • Symfony2 / Twig:生成备用绝对 URL 路径以与 CDN 一起使用?

    This 堆栈溢出解决方案 https stackoverflow com questions 7358470 twig asset with cdn using symfony 2几乎回答了我的问题 但我想生成 CDN urlTwig不仅
  • 添加验证码到 Symfony2 登录

    我需要将验证码添加到我的登录页面 我正在使用 GregwarCaptchaBundle 和 FosUserBundle 目前我已经使用以下代码在登录时显示验证码
  • 使用 Symfony 时如何处理连接表中的附加列?

    假设我的 Symfony2 包中有两个实体 User and Group 通过多对多关系关联 USER USER GROUP REL GROUP id user id id
  • Symfony 2:实体的位置

    我是 Symfony 2 的新手 我想知道一些事情 假设我的项目中有 2 个捆绑包 我想在两个包中使用从我的数据库生成的实体 我应该在哪里生成实体 对我来说 最好的方法是在捆绑包之外 但我不知道如何做到这一点 感谢您的帮助 我认为有两种解决
  • Symfony 2 中带有参数/参数的自定义验证器/约束

    我想创建一个类似于 GitHub 处理删除存储库的方式的验证器 要确认删除 我需要输入存储库名称 这里我想通过输入实体属性 名称 来确认删除 我需要将名称传递给约束或以某种方式访问 它 我该怎么做 你确实可以使用验证器约束来做到这一点 1
  • 如何将 Doctrine Entity Manager 注入 Symfony 4 服务

    我有一个控制器 use Doctrine ORM EntityManagerInterface class ExampleController public function someFunction ExampleService inje
  • Twig:选择某些块并渲染它们

    我正在将 twig 模板引擎集成到 PHP 应用程序中 特别是 我想使用 twig 引擎来渲染表单 了解了 symfony2 如何使用 twig 渲染表单小部件后 他们有一个巨大的模板文件 其中包含所有小部件 如下所示 block pass
  • 我应该在 Symfony 中哪里放置既不是控制器也不是模型的类?

    对于我的应用程序包 我需要一些既不是控制器也不是模型的类 例如 我想要一个scorecard具有诸如 技能 效率 美丽 等成员的类 此外 它可能具有诸如 meanScore 之类的成员方法 getters 这样的类在 Symfony 框架中
  • 使用 yaml 路由描述时如何在运行时获取 Symfony2 中的路由名称?

    在这里你可以找到我的n关于 Symfony2 的第一个问题 我正在与一个分页捆绑 https github com makerlabs PagerBundle wiki使用中提供的路由名称routing yml文件 从我的角度来看 这种方法
  • Symfony2 Beta3 中不断收到“您请求了一个不存在的服务“test.client””

    我正在尝试设置单元测试 但每当我运行 phpunit c app 时 我都会收到此错误 Symfony Component DependencyInjection Exception ServiceNotFoundException 您请求
  • 在 Twig 中使用 PHP 函数

    我有一个 PHP 代码 用于在我的通用控制器中为我的 Twig 模板添加一个新类 opencart htdocs catalog controller common cart php 该代码应检查设备是否是移动设备 function onS

随机推荐