问题标签 [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.
symfony - 如何在 Sonata 管理仪表板上显示用户管理链接?
我想在我的 SonataAdmin 仪表板上呈现指向用户管理和 ACL 编辑的链接。我需要在 sonata_block 部分添加什么?另外,这些“cms”和“admin”上下文是什么?
symfony - 从 symfony 控制台测试 DQL 时如何绕过延迟加载?
我想我在从 symfony 控制台测试教义关联时遇到了教义的延迟加载功能,例如:
我在该实体上有一个多对一关联,结果显示相关实体及其 ID,但所有其他字段均为空。
从 symfony 控制台进行测试时,有没有办法绕过延迟加载?
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
Why in case 1 application accepts also /contact url ? I have clearly expect /contact/ url not contact/
Why in case 2 applications accepts also /contact url making redirection for it to /contact/
Why behaviour is different in case 1 and case 2
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)
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?
Where can I read a bit more about such cases?
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但没有找到解决方案。
怎么了 ?
forms - 使用 SimpleChoiceList 时保存值而不是键
这是我的表单主要功能:
这是 loadChoiceList() 函数:
查看此表单时,我可以选择三个已定义的选项之一。但是在将其保存到数据库时,它会根据选择保存 0、1 或 2。
我怎样才能让它保存值而不是键?
我也尝试了 ChoiceList() 类,但结果没有任何区别。
作为记录,我意识到这不是标准化的数据库设计,但这是用简化示例解释我的问题的简化方式。
forms - 如何从 symfony2 中的其他实体加载和保存复选框的表单字段数据
项目:Symfony 2.4、FOSUserBundle、SonataUserBundle。
任务
我有User
它的实体和个人资料表格。我想为提醒订阅添加复选框。这保存在不同的实体“设置”中(单向关系设置 -> 用户)。如果用户复选框的“设置”中有行,则应选中,如果行不存在 - 应取消选中。所以我需要:
- 渲染复选框
- 加载数据
- 保存数据
执行
1. 渲染复选框
我知道这取决于字段类型(因为我认为我可以使用entity
类型)但现在我有这个代码:
2.加载数据
我认为可以在字段选项中使用“class”和“query_builder”来完成,但我没有成功。设置存在时需要将复选框设置为 true。
3. 保存数据
我想我可以将数据保存在 FormHandler->onSuccess() 中(将存储库传递给构造函数)。需要删除行或创建一个。
在路上
我完全迷失在文档中。可以实现 EventListeners、EventSubscribers。尝试了不同的方法,但没有运气。我认为(希望)有一些更简单的东西。
php - Symfony2,YML 文件、实体和表单中的验证
我对 Symfony2 Forms + Entities + Validation 过程有一些疑问。以这段代码为例(/src/Common/CommonBundle/Resources/config/validation.yml
):
现在,
- 此验证适用于:FormType 和 Entity 还是其中之一?在第二种情况下是哪一种?
- 我在我的应用程序中使用 i18n,如果我使用来自
/vendor/symfony/symfony/src/Symfony/Component/Validator/Resources/translations/validators.es.xlf
然后有“fr”的翻译,消息将是法语还是会以英语显示?
这就是实体(只是相关代码)的样子:
这个实体有一个额外的疑问:每个 set 方法中都需要 strip_tags 吗?或者 Doctrine 或 Symfony 会处理这个问题?
AddressExtraInfoType.php
symfony - 在 Twig 中重复代码并始终从控制器传递参数
我在几个 Twig 模板中有这段代码:
正如您可能看到的,它form
从控制器接收参数,但是在我喜欢使用代码的每个站点中都会出现问题,让我们在模板中说我需要将参数传递form
给视图。到目前为止,它只有 15 个模板,但这让我想,如果明天应该是 20 个或 60 个甚至 100 个模板呢?那么处理这个问题的最佳解决方案是什么?树枝扩展?Symfony 服务?对此有任何建议或帮助吗?
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
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 连接,尽管我正确填写了配置文件?