问题标签 [symfony-2.2]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
php - Symfony 2 - onSecurityAuthenticationSuccess 处理程序在每次页面加载时被调用
我创建了一个security.authentication.success
事件监听器,它应该在登录成功时向日志发送一行。现在每次加载防火墙后的页面时,我都会在日志中收到成功登录消息。如果我尝试使用
我陷入了递归的疯狂(xdebug 在 10000 次嵌套调用后抱怨,或者我设置的任何高)。
有没有办法检查用户是否刚刚登录,或者他是否正在使用活动会话?
注意:我使用的是 Symfony 2.2 (dev-master)
symfony - 选择父/子包取决于 Symfony2 中的域
假设我有两个捆绑包ParentBundle
和ChildBundle
. ChildBundle
“扩展”ParentBundle
为
然后,我将路由从 复制ParentBundle
到ChildBundle
,并指定要在其中使用的路由,并根据Symfony2 捆绑继承丢失父捆绑路由app/config/routing.yml
重命名routing.yml
之后,我创建了一个ChildBundle
具有相同路径和名称的模板,以覆盖ParentBundle
同名的模板。
但是,它会导致ChildBundle
一直加载模板。
所以,我的问题是,我如何ChildBundle
在一个域中加载(即使用覆盖模板/控制器等ChildBundle
,当用户进入 child.example.com 时),同时ParentBundle
在另一个域中使用(即使用覆盖模板/控制器等ParentBundle
,当用户进入 example.com 时)?
symfony - 路由要求 0
我的 Symfony2.2 beta 路由有问题。(symfony-2-2-0-beta-1)
我使用这样的注释路由:
错误是:
在 [...]:form 中的模板渲染期间引发了异常(“路由“[...]_form”的“参数“id”必须匹配“\d+”(“”给定)。”)。 html.twig 在第 1 行。
第 1 行是:
我认为路线是正确的,因为我将“id=0”定义为默认值。在 Symfony2.1 中,同样的代码可以工作。
symfony - Symfony 2.2 Doctrine ResolveTargetEntities 监听器
我正在创建一个包含关系关联的包。为了保持抽象,我想使用 Doctrine 的全新ResolveTargetEntities
监听器。
问题是我希望监听器的设置是自动化的,所以未来使用我的包的开发人员不需要自己配置监听器。
在我的包中,有一个名为 的配置参数data_class
,我想用它来设置ResolveTargetEntities
监听器:
如何在我的包中设置服务或配置文件以使用此参数配置侦听器?像这样的东西:
编辑:
上面的配置示例是为了展示学说应该完成的事情,但这个问题的目的是找到一种方法来ResolveTargetEntities
自动设置监听器,使用服务、依赖注入容器或任何其他需要最终用户的方式在命名空间下只提供一个参数my_bundle
:data_class
forms - 如何从 Symfony 2.2 中的表单生成器获取字段值
我如何从表单生成器中获取字段值?
我的控制器:
和表格类型:
我想从构建器表单中获取区域对象以获取变量。
php - 仅使用 Form 组件的复杂数据结构
我正在开发一个带有可定制产品的电子商务系统。每个产品可能有一些选项,就其本身而言,可能具有消费者选择的一个或多个值。由于我的用户的高度定制(某些产品可能有超过 1M 的变体),我不能使用变体方法,所以我需要坚持客户选择的选项组合。
一旦每个产品可能具有不同的选项,表单选项就会动态组合。这种形式应该将用户选择转换为关系数据库的可存储结构。
基本上,这是我的场景(我的尝试):
- 产品
- 选项
- 期权价值
- 产品选项
- 命令
- 订单项
- 订单项选项
夹具:
- 选项: 1#沙拉
- 值: 1#番茄、2#生菜、3#泡菜、3#胡萝卜
- 产品:汉堡包
- 产品选项: 1#沙拉
- 值: 1#番茄、2#生菜、辣椒
我的目标是这样的:
此配置将按预期返回 OptionValue 数组的集合。事实上,这对我的目的来说是不够的。我真正需要的是一个扁平的集合,其中包含所有选择的值以及一些额外的数据:
如您所见,Choice 字段的值实际上在 ItemOption 内部。
经过几天的尝试,我无法弄清楚如何做到这一点,甚至无法思考其他方法。
你能帮助我吗?
symfony - FOSUserBundle 额外的认证标准
我正在开发一个多租户应用程序,我需要完成一些规则来检查用户何时可以通过身份验证(我不是在谈论角色,尝试 make login 应该返回“无效的用户名或密码”)。
我的问题是:放置这些额外检查的最佳位置在哪里?
symfony - 为学说集合中的每个实体构建一个具有复选框的表单
我正在为过滤的实体集合显示一个 html 表,并且我想在每一行中显示一个复选框,作为表单的一部分,它将所选实体添加到会话 var。
我在想每个复选框都应该有实体 id 作为它的值,我会从表单字段数据中得到一个 id 数组(好的,所以值应该是实体的间接引用,但是为了简单)。
我尝试使用单个实体类型字段创建表单类型,映射到实体的 id 属性并嵌入到另一个具有集合类型字段的表单类型中。
和
在控制器中,表单是使用实体集合作为初始数据创建的
呈现表单时,标识字段只有一个标签,但没有小部件。
甚至可以以这种特殊方式使用实体和集合类型字段吗?如果是这样,我可能做错了什么?
css - Symfony2 - 子域上的资产背景图像
我在 Symfony 2.2 中有两个捆绑包
1. domaint.tld 上的 FrontBundle
- domain.tld/symfony/src/Company/FrontBundle/Resources/public/css
- domain.tld/symfony/src/Company/FrontBundle/Resources/public/images
- domain.tld/symfony/src/Company/FrontBundle/Resources/public/js
2. admin.domain.tld 上的 AdminBundle
- domain.tld/symfony/src/Company/AdminBundle/Resources/public/css (custom.css)
- domain.tld/symfony/src/Comapny/AdminBundle/Resources/public/images (image.png)
- domain.tld/symfony/src/Company/AdminBundle/Resources/public/js
domain.tld/symfony/src/Comapny/AdminBundle/Resources/public/css/custom.css
domain.tld/symfony/app/config/config.yml
domain.tld/symfony/app/config/routing.yml
domain.tld/symfony/src/Company/AdminBundle/Resources/views/layout.html.twig
我用
--
问题
在 domain.tld 上一切正常,但问题出在子域上。
来自 admin.domain.tld 的源代码
8d488cd_custom_11.css
从萤火虫
知道如何将代码或配置更正为(css背景)也适用于子域和根域吗?
php - 升级到 Symfony 2.2 RC2 会导致映射错误
我刚刚将 Symfony 的项目版本从 2.1 升级到 2.2 RC2,并开始看到一些在 2.1 上没有出现的映射错误。我的整个映射似乎都抛出了错误。有一个例子:
这是我的两个实体。
1.
2.
这些是我得到的错误:
关联 MyBundle\Entity\Usuario#historicos 指的是未定义为关联的拥有方字段 MyBundle\Entity\Historico#id。
MyBundle\Entity\Usuario#historicos 关联是指不存在的拥有方字段 MyBundle\Entity\Historico#id。
我以前的 composer.json(从 2.1 版开始,一切正常)有这些版本的学说:
Symfony 2.2 RC2 带有以下版本的 Doctrine:
我不确定我做错了什么,它看起来很像我们在学说的映射文档中看到的所有内容。如果有人能指出我正确的方向,那就太好了。