问题标签 [symfony-2.4]

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 回答
863 浏览

symfony - 如何在 Sonata 管理仪表板上显示用户管理链接?

我想在我的 SonataAdmin 仪表板上呈现指向用户管理和 ACL 编辑的链接。我需要在 sonata_block 部分添加什么?另外,这些“cms”和“admin”上下文是什么?

0 投票
1 回答
231 浏览

symfony - 从 symfony 控制台测试 DQL 时如何绕过延迟加载?

我想我在从 symfony 控制台测试教义关联时遇到了教义的延迟加载功能,例如:

我在该实体上有一个多对一关联,结果显示相关实体及其 ID,但所有其他字段均为空。

从 symfony 控制台进行测试时,有没有办法绕过延迟加载?

0 投票
1 回答
1284 浏览

php - Symfony2 router incosistency with trailing slash

I have a very simple bundle controller

I have roter config in YML files

CASE 1: My routing for this controller looks like:

In this case application accepts for this controller the following urls:

/contact /contact/ /contact/bla /contact/bla/bla/blabla

and so on

CASE 2 My routing for this controller looks like:

In this case application accepts only

/contact/

and

if there is url:

/contact -> it makes redirection (dont' know what type 301 or 302) to /contact/ url

CASE 3 My routing for this controller looks like:

In this case application accepts only

/contact

Expected results

In case 3 everything is as I expect but case 1 and 2 works not as I expect

Questions

  1. Why in case 1 application accepts also /contact url ? I have clearly expect /contact/ url not contact/

  2. Why in case 2 applications accepts also /contact url making redirection for it to /contact/

  3. Why behaviour is different in case 1 and case 2

  4. Is it possible to change this behaviour - for example not accept at all /contact in my case ? (In fact I don't mind because I want some urls with trailing slash but in case 1 I'll have to do redirection for version without trailing slash)

  5. Does Symfony do such "tricks" for all urls (also with extension as for example I define it works for /test.html and Symfony makes it work also for /test.html/ ) or only for those without extension?

  6. Where can I read a bit more about such cases?

0 投票
3 回答
560 浏览

php - Symfony2:实体字段类型保存为零

我想在我的表单中使用“实体”作为字段类型,并在下拉列表中显示记录名称,并将所选选项的 ID 保存到数据库中。

这是我的 FormType :

它从数据库中加载记录列表,并在下拉列表中以正确的选项和值(记录的 ID)在 html 表单的标签中显示它们,但不会将选项的值(记录的 ID)保存到数据库。

如果我使用 _toString(),Symfony 不会显示任何错误,但会保存“0”而不是 id,如果我不使用 _toString() 并设置“'property' => 'name'”,它会显示以下错误:

我在这里关注了 Symfony 的文档:http: //symfony.com/doc/current/reference/forms/types/entity.html但没有找到解决方案。

怎么了 ?

0 投票
1 回答
121 浏览

forms - 使用 SimpleChoiceList 时保存值而不是键

这是我的表单主要功能:

这是 loadChoiceList() 函数:

查看此表单时,我可以选择三个已定义的选项之一。但是在将其保存到数据库时,它会根据选择保存 0、1 或 2。

我怎样才能让它保存值而不是键?

我也尝试了 ChoiceList() 类,但结果没有任何区别。

作为记录,我意识到这不是标准化的数据库设计,但这是用简化示例解释我的问题的简化方式。

0 投票
1 回答
854 浏览

forms - 如何从 symfony2 中的其他实体加载和保存复选框的表单字段数据

项目:Symfony 2.4、FOSUserBundle、SonataUserBundle。

任务

我有User它的实体和个人资料表格。我想为提醒订阅添加复选框。这保存在不同的实体“设置”中(单向关系设置 -> 用户)。如果用户复选框的“设置”中有行,则应选中,如果行不存在 - 应取消选中。所以我需要:

  1. 渲染复选框
  2. 加载数据
  3. 保存数据

执行

1. 渲染复选框

我知道这取决于字段类型(因为我认为我可以使用entity类型)但现在我有这个代码:

2.加载数据

认为可以在字段选项中使用“class”和“query_builder”来完成,但我没有成功。设置存在时需要将复选框设置为 true。

3. 保存数据

我可以将数据保存在 FormHandler->onSuccess() 中(将存储库传递给构造函数)。需要删除行或创建一个。

在路上

我完全迷失在文档中。可以实现 EventListeners、EventSubscribers。尝试了不同的方法,但没有运气。我认为(希望)有一些更简单的东西。

0 投票
1 回答
4561 浏览

php - Symfony2,YML 文件、实体和表单中的验证

我对 Symfony2 Forms + Entities + Validation 过程有一些疑问。以这段代码为例(/src/Common/CommonBundle/Resources/config/validation.yml):

现在,

  1. 此验证适用于:FormType 和 Entity 还是其中之一?在第二种情况下是哪一种?
  2. 我在我的应用程序中使用 i18n,如果我使用来自/vendor/symfony/symfony/src/Symfony/Component/Validator/Resources/translations/validators.es.xlf然后有“fr”的翻译,消息将是法语还是会以英语显示?

这就是实体(只是相关代码)的样子:

这个实体有一个额外的疑问:每个 set 方法中都需要 strip_tags 吗?或者 Doctrine 或 Symfony 会处理这个问题?

AddressExtraInfoType.php

0 投票
3 回答
169 浏览

symfony - 在 Twig 中重复代码并始终从控制器传递参数

我在几个 Twig 模板中有这段代码:

正如您可能看到的,它form从控制器接收参数,但是在我喜欢使用代码的每个站点中都会出现问题,让我们在模板中说我需要将参数传递form给视图。到目前为止,它只有 15 个模板,但这让我想,如果明天应该是 20 个或 60 个甚至 100 个模板呢?那么处理这个问题的最佳解决方案是什么?树枝扩展?Symfony 服务?对此有任何建议或帮助吗?

0 投票
1 回答
2981 浏览

symfony - Symfony 2 Form Validation: missing name of property in validation message

I don't understand why some constraints does not insert name of property in error message after validation. I have this entity class:

In the controller perform the classi call at the $form->isValid() method to check validation. If there are errors i call $form->getErrorsAsString() and this is the result:

The property that use @Assert\NotBlank() dose not put property name in error message! And for this reason i have the first two error line with e generic:

I i don't know who is the property that failed the validation. I look in the source code of Symfony Component and i see that for not blank constraint:

And for data constraint:

The important difference is $this->context->addViolation($constraint->message); VS $this->context->addViolation($constraint->message, array('{{ value }}' => $value));

Why?

This is core part of controller

This is utility class that fetch error from form

Form Class

The version of framework is Symfony 2.4

0 投票
1 回答
260 浏览

mongodb - symfony 2.4.4 试图强制 pdo_mysql 连接而不是 mongodb

我是相当新的 Symfony2。我安装了 FOSUserBundle 和 DoctrineMongoDBBundle ,我试图让它们一起正常工作。在我之前的项目中,我设法从我的 mongoDB 数据库中创建了一个新用户并导入用户列表。根据我的 composer.json,这个之前的项目是 symfony 版本 2.1.x-dev。在我的新项目中,我使用的是 symfony ~2.4。而且我无法在 FOSUserBundle 上加载 /register 页面。symfony 没有加载注册表单,而是抛出这个错误:

所以 Symfony 正在尝试使用 pdo_mysql 驱动程序而不是连接到 mongoDB,因为它在我之前的项目中做得很好。根据 FOSUserBundle 文档,我遵循了相同的步骤:在 app/config/config.yml 中,我设置了如下的教义_mongodb 和 fos_user 信息:

我很确定这种行为是由 symfony 2.4 引起的,因为我无法用我的 symfony 2.1 项目重现它。有谁知道为什么 symfony 试图强制 pdo_mysql 连接,尽管我正确填写了配置文件?