问题标签 [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.

0 投票
1 回答
3469 浏览

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吗?

0 投票
1 回答
1536 浏览

php - 如何使用路由在没有 GET 参数的情况下重定向?

我的路由定义如下:

我想知道如何在没有参数的情况下重定向article_show_legacy到。每当我访问(例如)时,我都会被重定向到. 我想丢弃,所以我被重定向到.article_showparam/article-1-foo.html/article/1?param=foo?param=foo/article/1

我知道我可以创建一条路线foo和一条路线,bar但就我而言,还有更多案例。

我必须编写自己的重定向控制器吗?

0 投票
0 回答
260 浏览

symfony - 表单类型扩展的用例/从封装的 JavaScript 访问生成的表单 ID

我在http://symfony.com/doc/current/cookbook/form/create_form_type_extension.html上阅读了表单类型扩展的文档

表单类型扩展有 2 个主要用例:
您想为多种类型添加通用功能(例如为每种字段类型添加“帮助”文本);
您希望将特定功能添加到单个类型(例如将“下载”功能添加到“文件”字段类型)。

我读了这一章,但最后我问我,如何控制哪个字段类型得到哪个扩展?

在示例中,扩展名必须与应扩展的字段类型匹配。因此,扩展名将应用于具有给定名称的每个字段。

但是如何编写一个扩展并将其用于不同的字段类型(具有不同的名称)?或者我怎样才能只将扩展名用于一个特定的领域?

我看不出有任何理由使用扩展,而是扩展字段类型

//edit
我想做的是为某些表单字段添加ajax自动完成功能(不要使用捆绑包,为了更好地理解,我自己编码时)。我阅读并成功地尝试了模型转换器部分,但我在其他方面遇到了问题。例如,我想为表单字段做自定义 JavaScript 和样式。

而且我知道如何自定义表单字段(覆盖块、主题)。但是如何将特定表单字段的 JavaScript 代码放入 HTML 头部并访问生成的输入元素的 HTML id?并且还可以从 JavaScript 访问在构建表单时作为参数传递的选项

0 投票
1 回答
25742 浏览

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 升级。

0 投票
1 回答
2283 浏览

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,如果你知道请帮助我,非常感谢!

0 投票
3 回答
8115 浏览

twitter-bootstrap - 如何覆盖 fosuserbundle 注册表单样式

我想在 fosuserbundle 注册表单中使用引导程序样式。并且登录不能覆盖,但是由于注册表单使用“{{ form_widget(form) }}”,所以我不能覆盖它,我使用 symfony2.2,我也测试使用表单主题,像这样

在表单模板中,代码是

但它输出这个

这不是我想要的,所以我能为它做些什么?谢谢!

0 投票
1 回答
1999 浏览

fosuserbundle - 双击确认链接时出现 fosuserbundle 错误?

我刚开始使用fosuserbundle,今天我激活了确认注册链接。效果很好,但是如果用户再次单击电子邮件中的确认链接,他会收到该错误:

具有确认令牌“3hiqollkisg0s4ck4w8g0gw4soc0wwoo8ko084o4ww4sss8o4”的用户不存在 404 Not Found - NotFoundHttpException

我认为这个错误应该由捆绑包处理,不是吗?

谢谢

0 投票
1 回答
1538 浏览

symfony - 将 Symfony 2.1 升级到 2.2:片段子框架和语言环境处理损坏

我刚刚从 Symfony 2.1 升级到 2.2。我按照此处给出的说明进行操作:

我的所有代码之前都运行良好,但现在在我尝试在我的应用程序中执行某些操作后,框架将“_fragment”注入到 URL 中存在某种问题。这正在改变我的网址:

到:

然后,twig 将其作为区域设置,并导致它失败并出现以下错误:

部分回溯说:

当我第一次登录应用程序时,一切似乎都运行良好,请求列出了应该是的语言环境:

但是,如果我随后单击另一个链接(包括返回同一页面),则会因上述错误而失败并将请求更改为:

我的路由(对于上面的示例)如下所示:

我的配置:

我认为问题不在于语言环境处理,而在于添加到 Symfony 2.2 中的新片段子处理框架。可能它以某种方式被调用/激活?(或者我缺少某种配置)。

0 投票
3 回答
475 浏览

php - 验证失败时如何重新显示具有先前值的表单?

我有一个表单,它必须通过一些其他验证而不是不寻常的(大约 4 个字段相互依赖)。事情是,当它失败时,我将用户重定向回来,但随后表单丢失了它的值,我不想要它。我知道它可以通过会话来完成,但可能有一种“更健康”的方式。代码很常见:

0 投票
3 回答
1719 浏览

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()但没有运气。