问题标签 [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.2 扩展 ExceptionController
这个问题与以下更改有关(Symfony 2.2 版本的一部分):
第1部分
在 2.2 之前的 Symfony 中,我重写ExceptionController
以显示一些自定义错误页面。
我是通过以下方式做到的:
现在,升级到 2.2 后,我不能再这样做了,因为在生成异常时会抛出异常(不是双关语):
ExceptionController::__construct() 必须是 Twig_Environment 的一个实例,没有给出,在...中调用
由于ExceptionController
现在是一项服务,我该如何覆盖它,以及我需要在旧代码中进行哪些更改?
我在自定义类中所做的只是更改了 showAction 方法中的模板引用:
第2部分
由于ExceptionController
不再 extends ContainerAware
,我如何到达当前容器?实施就够了ContainerAwareInterface
吗?
php - 如何使用路由在没有 GET 参数的情况下重定向?
我的路由定义如下:
我想知道如何在没有参数的情况下重定向article_show_legacy
到。每当我访问(例如)时,我都会被重定向到. 我想丢弃,所以我被重定向到.article_show
param
/article-1-foo.html
/article/1?param=foo
?param=foo
/article/1
我知道我可以创建一条路线foo
和一条路线,bar
但就我而言,还有更多案例。
我必须编写自己的重定向控制器吗?
symfony - 表单类型扩展的用例/从封装的 JavaScript 访问生成的表单 ID
我在http://symfony.com/doc/current/cookbook/form/create_form_type_extension.html上阅读了表单类型扩展的文档
表单类型扩展有 2 个主要用例:
您想为多种类型添加通用功能(例如为每种字段类型添加“帮助”文本);
您希望将特定功能添加到单个类型(例如将“下载”功能添加到“文件”字段类型)。
我读了这一章,但最后我问我,如何控制哪个字段类型得到哪个扩展?
在示例中,扩展名必须与应扩展的字段类型匹配。因此,扩展名将应用于具有给定名称的每个字段。
但是如何编写一个扩展并将其用于不同的字段类型(具有不同的名称)?或者我怎样才能只将扩展名用于一个特定的领域?
我看不出有任何理由使用扩展,而是扩展字段类型
//edit
我想做的是为某些表单字段添加ajax自动完成功能(不要使用捆绑包,为了更好地理解,我自己编码时)。我阅读并成功地尝试了模型转换器部分,但我在其他方面遇到了问题。例如,我想为表单字段做自定义 JavaScript 和样式。
而且我知道如何自定义表单字段(覆盖块、主题)。但是如何将特定表单字段的 JavaScript 代码放入 HTML 头部并访问生成的输入元素的 HTML id?并且还可以从 JavaScript 访问在构建表单时作为参数传递的选项
php - php composer.phar 更新失败 - 包名中的拼写错误
我创建了一个新的 Symfony 2.1 项目并添加了一个由 SVN 存储库下载的自定义包。现在我正在尝试将项目升级到 Symfony 2.2,但每当我尝试执行命令php ~/bin/composer.phar update
时,都会出现以下错误消息:
这是 Symfony 2.2 composer.json
:
自定义实用程序具有以下内容composer.json
:
谁能帮我理解新的 2.2 Symfony 有什么问题?因为这个错误信息只出现在 Symfony 2.2 升级。
fosuserbundle - 如何在 symfony2.2 中将 FOSUserBundle 与 SonataAdminBundle 集成?
我尝试通过 sonatauserbundle 将 FOSUserBundle 与 symfony2.2 中的 SonataAdminBundle集成,但我想打开这个 URL http://dev.test.com/app_dev.php/register它说
“在类 'Application\Sonata\UserBundle\Document\User' 中找不到字段 'username' 的映射。”
我想登录管理面板,但我的测试管理员用户无法登录。
这是我的 composer.js
这是我的 config.yml
我开发使用symfony2.2和mongodb,如果你知道请帮助我,非常感谢!
twitter-bootstrap - 如何覆盖 fosuserbundle 注册表单样式
我想在 fosuserbundle 注册表单中使用引导程序样式。并且登录不能覆盖,但是由于注册表单使用“{{ form_widget(form) }}”,所以我不能覆盖它,我使用 symfony2.2,我也测试使用表单主题,像这样
和
在表单模板中,代码是
但它输出这个
这不是我想要的,所以我能为它做些什么?谢谢!
fosuserbundle - 双击确认链接时出现 fosuserbundle 错误?
我刚开始使用fosuserbundle,今天我激活了确认注册链接。效果很好,但是如果用户再次单击电子邮件中的确认链接,他会收到该错误:
具有确认令牌“3hiqollkisg0s4ck4w8g0gw4soc0wwoo8ko084o4ww4sss8o4”的用户不存在 404 Not Found - NotFoundHttpException
我认为这个错误应该由捆绑包处理,不是吗?
谢谢
symfony - 将 Symfony 2.1 升级到 2.2:片段子框架和语言环境处理损坏
我刚刚从 Symfony 2.1 升级到 2.2。我按照此处给出的说明进行操作:
我的所有代码之前都运行良好,但现在在我尝试在我的应用程序中执行某些操作后,框架将“_fragment”注入到 URL 中存在某种问题。这正在改变我的网址:
到:
然后,twig 将其作为区域设置,并导致它失败并出现以下错误:
部分回溯说:
当我第一次登录应用程序时,一切似乎都运行良好,请求列出了应该是的语言环境:
但是,如果我随后单击另一个链接(包括返回同一页面),则会因上述错误而失败并将请求更改为:
我的路由(对于上面的示例)如下所示:
我的配置:
我认为问题不在于语言环境处理,而在于添加到 Symfony 2.2 中的新片段子处理框架。可能它以某种方式被调用/激活?(或者我缺少某种配置)。
php - 验证失败时如何重新显示具有先前值的表单?
我有一个表单,它必须通过一些其他验证而不是不寻常的(大约 4 个字段相互依赖)。事情是,当它失败时,我将用户重定向回来,但随后表单丢失了它的值,我不想要它。我知道它可以通过会话来完成,但可能有一种“更健康”的方式。代码很常见:
symfony - 复合键和表单
我的数据库中有以下关联(简化版):
这是一个多对多关联,但在连接表上有一个属性,所以我必须使用一对多/多对一关联。
我有一个表单,我可以在其中向一个订单项添加任意数量的关系并同时创建它(主要受文档中的如何嵌入表单集合教程的启发。
当我发布表单时,我收到以下错误:
TEST\MyBundle\Entity\Relation 类型的实体通过外部实体 TEST\MyBundle\Entity\Order 具有身份,但是该实体本身没有身份。您必须在相关实体上调用 EntityManager#persist() 并确保在尝试持久化“TEST\MyBundle\Entity\Relation”之前生成了一个标识符。在 Post Insert ID Generation(例如 MySQL Auto-Increment 或 PostgreSQL SERIAL)的情况下,这意味着您必须在两个持久化操作之间调用 EntityManager#flush()。
我理解这个错误,因为 Doctrine 试图保留Relation
与订单相关的对象,因为我可以cascade={"persist"}
选择OneToMany
关系。但是我怎样才能避免这种行为呢?
我试图删除cascade={"persist"}
并手动保留实体,但我得到了同样的错误(因为我需要flush()
订购以获取 ID,当我这样做时,我有相同的错误消息)。
我也尝试过之前detach()
的Relation
对象,flush()
但没有运气。