问题标签 [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 投票
2 回答
6572 浏览

php - 文件上传不会创建 UploadedFile

我目前正在开发一个 PHP v5.5.9 项目,其中我使用了一些独立组件(我使用全栈框架),目前如下:

我有一个Entity类、一个FormType类和一个Controller,我可以通过“Twig”模板View来持久化Entity。所以整个堆栈工作正常。

然后我向我的EntityFile添加了一个属性,以便按照官方文档中的描述添加图像文件] 1。我还使用以下代码扩展了我的FormType :

运行更新后的代码(选择图像文件)后,显示以下错误:

因此,Symfony不会自动从表单创建一个UploadedFile,而是将数据绑定$_FILE到一个array. 我注意到,其他人也有这个问题:

目前我在Controller中使用以下代码,但我想使用自动绑定功能(因为目前我无法在Entity中验证上传的文件)。

编辑(2014-03-03):这是实体的相关代码:

以及FormType的源代码:

有什么建议如何完成这项工作吗?

编辑(2014-03-07):简化源代码以准备我的回答。

0 投票
1 回答
754 浏览

php - 传递多个表单以查看 Symfony2 中不同服务中定义的视图

我正在开发一个我们使用的项目,DependencyInjection所以我有src\Common\CommonBundle\Resources\config\services.yml以下定义:

src\Company\RegisterCompanyBundle\Resources\config\services.yml

这是控制器背后的代码(只有一个是相同的,只是类更改):

所以问题来了。在这些包之外的另一个控制器(\Website\FrontendBundle\Controller\sellerController.php)中,我试图$formXXX通过使用这段代码来获取视图:

但我得到这个错误:

第 10 行的 FrontendBundle:Seller:newCompany.html.twig 中不存在变量“formCompany”

原因?我没有按应有的方式传递值,但如果我将它们传递为:

然后错误转换为:

ContextErrorException:可捕获的致命错误:传递给 Symfony\Component\Form\FormRenderer::renderBlock() 的参数 1 必须是 Symfony\Component\Form\FormView 的实例,给定数组

我不知道如何解决这个问题或我做错了什么?

0 投票
8 回答
6634 浏览

php - Symfony2:找不到存储库类

今天我卡在存储库类函数中,我收到了这个错误

未定义的方法“测试”。方法名称必须以 findBy 或 findOneBy 开头!

我已经检查了这些解决方案 - 解决方案 1 解决方案 2 解决方案 3

有什么我需要添加到配置文件中的吗?

这是我的实体类

这是我的存储库类

我正在从控制器调用这个test()函数

0 投票
1 回答
67 浏览

symfony - Persist object within entity

My problem is very simple !

2 entities :

and

I need to persist the new Match I created with the start() function. Is it possible ? Or maybe it's a very bad way to do it.

Thanks !!

Siriru

0 投票
2 回答
103 浏览

symfony - Symfony2 treeBuilder 新根项

我在 treeBuilder 中创建了一个新根:

然后我得到下一个异常:

The child node "test" at path "nieuwname" must be configured.

Oke听起来不错。

然后我得到一个例外:

There is no extension able to load the configuration for "nieuwname"

我做错了什么?

0 投票
3 回答
712 浏览

symfony - 没有 createFormBuilder 的 Symfony2 表单验证

我正在尝试验证我在.twig文件中制作的表单。我没有使用 .twig 创建表单createFormBuilder。这是我的控制器代码,在提交表单后调用两种情况 1) 视图 2)

这是查看文件,我显示这样的错误 Add.html.twig

我在validation.yml 文件中为不能为空的名称设置了错误。所以现在当我运行视图页面时,每次提交表单后都会显示错误。如果没有错误,它不应该向我显示错误,只显示空白错误。

Note:有没有更好的方法可以做到这一点,所以请分享。请记住,我在没有createFormBuilder 更新的情况下这样做 。它总是向我显示错误。即使我的表单是有效的并且没有遗漏任何字段。

0 投票
1 回答
968 浏览

doctrine-orm - 从 Doctrine 创建自动生成一个以年份为前缀的 slug

我想在我的 Symfony 2.4 应用程序中从 Doctrine 自动生成一个 slug,根据创建记录的年份,该 slug 是唯一的。我正在使用 DoctrineExtensions。

对于我的博客记录,我希望路线是/blog/{year}/{slug}

所以可以说我有这两条记录

id: 1 title: My Blog Title createdAt: 2013-08-14 18:48:21

id: 2 title: My Blog Title createdAt: 2014-02-01 17:12:10

我希望两个 slug 都是my-blog-title,因为它们是基于 createdAt 的唯一记录

所以我的两条路线将是

/blog/2013/my-blog-title /blog/2014/my-blog-title

但是,我似乎无法让它工作:

这是我的 orm.yml 的相关部分

fields: title: type: text slug: type: text gedmo: slug: unique_base: createdAt fields: - title createdAt: type: datetime gedmo: timestampable: on: create

这是可行的,因为 createdAt 对于所有记录都是唯一的,因为我的任何两个记录几乎不可能具有相同的创建日期,直到完全相同的秒。

因此,如果我添加第三条记录:

id: 3 title: My Blog Title createdAt: 2014-03-02 17:12:10

它让我使用相同的蛞蝓-my-blog-title

在我的 orm.yml 文件中,我希望能够执行类似的操作

unique_base: createdAt("Y")

所以只有我创建日期的年份被用作基础,所以如果记录在不同的年份,我可以有相同的 slug,但如果记录在同一年,则不能有相同的 slug。

我知道我可以把日期拉到蛞蝓本身

2014-my-blog-title但它需要看起来像2014/my-blog-title

有人可以帮忙吗?

非常感谢!!!

0 投票
1 回答
427 浏览

composer-php - SF2 Sylius:安装后 cmd 事件因异常而终止

我尝试使用以下命令安装 sylius 项目:

但总是有同样的错误:

在 SyliusPromotionBundle 中,我注意到:

所以,我尝试直接在 app/parameters.yml 中添加:

它似乎有效,但我觉得这是一个丑陋的解决方案......

现在: app/console sylius:install 导致:

有没有其他人遇到过同样的问题?

0 投票
2 回答
11123 浏览

symfony - 继承表单或为每个表单添加类型

我正在寻找一种简单的方法来为每个表单添加一组字段。

我找到了一种扩展AbstractType并使用该buildForm方法添加更多字段的方法。
创建表单时,我给出了我的新类型的名称(如何创建自定义表单字段类型)。

在我看来,这是一种简单的方法,但每个表格仅限于一种类型。

有没有更好的方法来实现这样的目标?
我已经阅读了 symfony 的食谱,但我只找到了如何扩展现有表单的内容,而不是如何使用我的字段创建自己的表单“模板”。

0 投票
1 回答
551 浏览

symfony - 使用请求数据作为隐藏输入字段

我想将请求标头(http 标头)中的数据用作表单中的隐藏字段。
最简单的方法是通过表单构建器添加一个新的隐藏字段并设置数据。

但我想将它用于不止一种形式,所以自己的类型会很好。
通过参数数组设置数据或通过构造函数传递它们应该符合这个要求。

这将是“很多”复制/粘贴工作。我不想要这个,我在寻找一个好方法。更接近框架。
我已经读到我可以使用OptionsResolverInterface的选项来使用闭包

是否有可能将它们用于此要求?或者是通过参数数组/构造函数将请求
对象 传递给类型的唯一方法?

也许有可能使用事件监听器或类似的东西。

提前感谢您的任何提示。