小编Kar*_*lis的帖子

FOSUserBundle和Symfony 3.0?

FOSUserBundle可以与symfony 3一起使用吗?无法在其网站上看到有关该信息的任何信息.

我刚刚安装了Symfony 3的新副本,确实composer update已经尝试安装FOSUserBundle.

在控制台上接收不太友好的东西;)

composer require friendsofsymfony/user-bundle

  Problem 1
    - Conclusion: remove symfony/symfony v3.0.0
    - Conclusion: don't install symfony/symfony v3.0.0
    - friendsofsymfony/user-bundle v1.3.0 requires symfony/security-bundle 2.1.* -> satisfiable by symfony/security-bundle[v2.1.0, v2.1.1, v2.1.10, v2.1.11, v2.1.12, v2.1.13, v2.1.2, v2.1.3, v2.1.4, v2.1.5, v2.1.6, v2.1.7, v2.1.8, v2.1.9].
    - friendsofsymfony/user-bundle v1.3.1 requires symfony/security-bundle >=2.1,<2.3-dev -> satisfiable by symfony/security-bundle[v2.1.0, v2.1.1, v2.1.10, v2.1.11, v2.1.12, v2.1.13, v2.1.2, v2.1.3, v2.1.4, v2.1.5, v2.1.6, v2.1.7, v2.1.8, v2.1.9, v2.2.0, v2.2.1, v2.2.10, v2.2.11, v2.2.2, v2.2.3, v2.2.4, v2.2.5, v2.2.6, v2.2.7, …
Run Code Online (Sandbox Code Playgroud)

php symfony fosuserbundle composer-php

23
推荐指数
2
解决办法
1万
查看次数

Symfony表单CollectionType字段的顺序

在我的模型中,我有一个食谱实体和成分实体.在Recipe实体中,关系定义如下:

/**
 * @ORM\OneToMany(targetEntity="Ingredient", mappedBy="recipe", cascade={"remove", "persist"}, orphanRemoval=true) 
 * @ORM\OrderBy({"priority" = "ASC"})
 */
private $ingredients;
Run Code Online (Sandbox Code Playgroud)

在Ingredient实体中:

/**
 * @ORM\ManyToOne(targetEntity="Recipe", inversedBy="ingredients")
 * @ORM\JoinColumn(name="recipe_id", referencedColumnName="id")
 */
private $recipe;
Run Code Online (Sandbox Code Playgroud)

我正在研究配方的CRUD控制器,我希望用户能够动态添加配料.我还希望用户拖放成分以在配方中设置其优先级(顺序).我正在使用CollectionType表单字段.

这个页面作为教程:

http://symfony.com/doc/current/cookbook/form/form_collections.html

到目前为止,添加和显示配方工作正常,但是编辑/更新操作存在问题,我将在下面尝试描述:

在控制器中,我加载实体并创建如下形式:

  public function updateAction($id, Request $request)
  {
      $em = $this->getDoctrine()->getManager();
      $recipe = $em->getRepository('AppBundle:Recipe')->find($id);


      $form = $this->createEditForm($recipe);
      $form->handleRequest($request);

      ...

    }
Run Code Online (Sandbox Code Playgroud)

由于优先级保存在DB中,而且我有@ORM\OrderBy({"priority" = "ASC"}),原料的初始加载和显示工作正常.但是,如果用户拖放成分,则优先级值会发生变化.如果存在表单验证错误并且需要重复显示表单,则表单中的成分将按旧顺序显示,即使优先级值已更新.

例如,我在DB中有以下初始Ingredient => priority值:

  • A => 1
  • B => 2
  • C => 3

表格行按顺序显示:A,B,C;

用户更改订单后,我有:

  • B => 1
  • A => 2
  • C => 3

但表格行仍然显示为A,B,C;

我知道表单已经用A,B,C顺序初始化,并且更新priority …

forms arraycollection symfony doctrine-orm

12
推荐指数
1
解决办法
4046
查看次数

jQuery将params附加到url

我喜欢jQuery的$ .ajax()方法允许指定请求url的方式:

{
  url: 'http://domain.com/?param=1',
  data{
    param2: '2'
  }
}
Run Code Online (Sandbox Code Playgroud)

$ .ajax()方法将(可能)在提供的数据上调用$ .param(),并可选择将其附加到提供的URL.

我的问题是:这种类型的网址操作是否在$ .ajax()调用之外可用?

例如,我想打开一个弹出窗口,我想以与$ .ajax()相同的方式构造URL.

我已经写了一个函数来做到这一点,但我有一种感觉,我正在重新发明轮子并复制已经存在的jQuery函数:

var prepareUrl = function( url, data )
{
  var params = $.param( data );

  if ( params.length > 0 )
  {
    // url contains a query string
    if ( url.indexOf( '?' ) > -1 )
    {
      // get last char of url
      var lastChar = url.substr( url.length - 1 );

      // Append & to the end of url if required
      if ( …
Run Code Online (Sandbox Code Playgroud)

javascript ajax url jquery param

10
推荐指数
1
解决办法
2万
查看次数

Doctrine 自定义映射类型架构更新

我正在尝试创建一个自定义的 Doctrine 映射类型,按照:http : //doctrine-orm.readthedocs.org/projects/doctrine-dbal/en/latest/reference/types.html#custom-mapping-types

我的课如下:

<?php
namespace AppBundle\Doctrine\Type;

use Doctrine\DBAL\Types\Type;
use Doctrine\DBAL\Platforms\AbstractPlatform;

/**
 * My custom datatype.
 */
class BinaryStringType extends Type
{

    public function getSQLDeclaration(array $fieldDeclaration, AbstractPlatform $platform)
    {
        return $platform->getBinaryTypeDeclarationSQL($fieldDeclaration);
    }

    public function getDefaultLength(AbstractPlatform $platform)
    {
        return $platform->getVarcharDefaultLength();
    }

    public function getName()
    {
        return 'binarystring';
    }
}

?>
Run Code Online (Sandbox Code Playgroud)

在 config.ymldoctrine部分:

dbal:
    types:
        binarystring: AppBundle\Doctrine\Type\BinaryStringType
Run Code Online (Sandbox Code Playgroud)

它(有点)有效,但是:php bin/console doctrine:schema:update无论数据库是否是最新的,运行ALWAYS 都会生成一个 ALTER TABLE 语句。

ALTER TABLE xxxx CHANGE column column VARBINARY(24) DEFAULT NULL;
Run Code Online (Sandbox Code Playgroud)

任何想法如何解决这一问题?

谢谢!

doctrine symfony doctrine-orm

1
推荐指数
1
解决办法
850
查看次数

W3C HTML验证器不再接受范围样式

以下代码用于在几个月前验证W3C上的OK:

<!DOCTYPE html>
<html>
    <head><title>Page Title</title></head>
    <body>
        <style type="text/css" scoped></style>
        test content 
    </body>
</html>
Run Code Online (Sandbox Code Playgroud)

目前验证器抛出:

元素style不允许作为元素的孩子body在这方面.

任何想法如何解决这个问题?

html5 w3c-validation stylesheet

0
推荐指数
1
解决办法
56
查看次数