小编tam*_*mir的帖子

CSS:在图像周围创建白色光晕

如何创建白色光晕作为未知大小图像的边框?

css image border css3 glow

78
推荐指数
3
解决办法
20万
查看次数

Firefox缓存隐藏的输入

我的表单中有一个隐藏的输入字段.我注意到如果javascript更改了该字段的值,然后用户刷新页面,则在页面重新加载时将设置相同的值.从我所看到的,这只发生在Firefox中.

我通过添加autocomplete="off"隐藏的输入解决了这个不需要的行为,但W3C不喜欢这个解决方案,如果我验证页面,我得到错误:

Attribute autocomplete not allowed on element input at this point.
Run Code Online (Sandbox Code Playgroud)

显然,该autocomplete属性仅适用于特定输入 - 请参见此处.

那么有什么解决方案可以满足W3CFirefox的需求吗?

html5 autocomplete input hidden-field

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

使用jQuery将删除的文件添加到文件输入

我有一个自定义文件输入:

<div id="wrapper">
    <span id="fake-text-input"></span>
    <button id="select-a-file"></button>
    <input id="hidden-file-input" type="file" />
</div>
Run Code Online (Sandbox Code Playgroud)

input[type="file"]是隐藏的(display: none),并选择一个文件被监听\触发处理clickchange事件.

我也想支持文件丢弃.drop当文件被丢弃时,我能够听到事件,#fake-text-input但我不知道如何将drop事件转发给input[type="file"]..甚至可能吗?

我对文件输入不透明技巧不感兴趣:)

$('body').on('drop', '#wrapper', function(e) {
    var file = e.originalEvent.dataTransfer.files[0];

    // I have the file.. now what?
});
Run Code Online (Sandbox Code Playgroud)

file-io jquery drag-and-drop

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

临时Doctrine2灯具用于测试phpunit

我有一个基于Symfony2 + Doctrine2构建的应用程序,我想为(使用phpunit)创建一些测试.

例如,如果我想针对数据库中的记录测试唯一的验证器,我想创建一个我可以使用的记录,但是在测试之后我不再需要它了.那么有没有办法创建临时(或虚拟)灯具或我必须手动创建和删除它们?

testing phpunit fixtures symfony doctrine-orm

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

Doctrine2:映射超类的OneToMany

我的数据库结构如下:

工作:

  • CTI工作
  • MappedSuperclassAbstractImageWork,它扩展了Work
  • 决赛桌PhotoWork,它扩展了AbstractImageWork

评论:

WorkCommentWork的ManyToOne关系:

@ManyToOne(targetEntity="Work", inversedBy="comments")
Run Code Online (Sandbox Code Playgroud)

WorkWorkComment有一个OneToMany关系:

@OneToMany(targetEntity="WorkComment", mappedBy="work")
Run Code Online (Sandbox Code Playgroud)

问题是Doctrine在更新架构时给了我这个错误:

[Doctrine\ORM\Mapping\MappingException]
It is illegal to put an inverse side one-to-many or many-to-many association on
mapped superclass 'Acme\...\AbstractImageWork#comments'.
Run Code Online (Sandbox Code Playgroud)

我想这与MappedSuperclass 抽象图像工作有关,它位于WorkPhotoWork之间,但我实际上并没有将这种关系放在MappedSuperclass上,而是放在CTI表上.那么为什么Doctrine会这样呢?

有任何想法吗?

relationship class-table-inheritance mappedsuperclass doctrine-orm

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

Symfony:使用CSRFProtection安全删除链接

我有一个删除链接来按ID删除Comment对象 /comment/:id/delete

为了保护这个链接,我在链接中添加了一个csrf标记

$CSRFTokenForm = new BaseForm();
$link = url_for(..., array('_csrf_token' => $CSRFTokenForm->getCSRFToken()));
Run Code Online (Sandbox Code Playgroud)

并且在executeDelete中我使用该checkCSRFProtection()方法,一切正常.

唯一的一点是每个评论都是由部分显示的,每个部分创建它自己BaseForm()以创建令牌,这是浪费时间,因为它们都是相同的.

您是否更好地了解如何提高效率,例如静态getCSRFToken()方法或创建全局BaseForm()

php symfony1 csrf

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

使用带有Doctrine 2的onDelete

我无法让onDelete在Doctrine2中工作(使用YAML Mapping).

我在Product班上尝试过这种关系:

oneToOne:
    category:
      targetEntity: Category
      onDelete: CASCADE
Run Code Online (Sandbox Code Playgroud)

但这不起作用..

编辑:

我已ON DELETE: CASCADE在数据库中手动设置

导入YAML映射doctrine:mapping:import,

清空数据库

从架构更新它,doctrine:schema:updateON DELETE在外键中没有..所以看起来甚至Doctrine不知道怎么做它大声笑..

mapping yaml relation doctrine-orm

6
推荐指数
2
解决办法
8001
查看次数

Symfony2将reCaptcha字段添加到注册表单

我正在尝试将EWZRecaptcha添加到我的注册表单中.我的注册表单构建器看起来像这样:

public function buildForm(FormBuilder $builder, array $options)
{
    $builder->add('username',  'text')
            ->add('password')
            ->add('recaptcha', 'ewz_recaptcha', array('property_path' => false));
}

public function getDefaultOptions(array $options)
{
    return array(
            'data_class' => 'Acme\MyBundle\Entity\User',
    );
}
Run Code Online (Sandbox Code Playgroud)

现在,我如何将Recaptcha约束添加到验证码字段?我试着把它添加到validation.yml:

namespaces:
  RecaptchaBundle: EWZ\Bundle\RecaptchaBundle\Validator\Constraints\

Acme\MyBundle\Entity\User:
  ...
  recaptcha:
    - "RecaptchaBundle:True": ~
Run Code Online (Sandbox Code Playgroud)

但我得到Property recaptcha does not exists in class Acme\MyBundle\Entity\User错误.

如果我array('property_path' => false)从recaptcha字段的选项中删除,我会收到错误:

Neither property "recaptcha" nor method "getRecaptcha()" nor method "isRecaptcha()"
exists in class "Acme\MyBundle\Entity\User"
Run Code Online (Sandbox Code Playgroud)

知道怎么解决吗?:)

forms recaptcha symfony symfony-2.0

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

Composer包分支

我在GitHub中有一个forked symfony存储库,我将一些代码推送到2.4分支.如何让Composer使用这个特定的分支?

composer.json:

"require" : {
    ...
    "symfony/symfony" : "dev-2.4"
},
"repositories" : {
    "type" : "vcs",
    "url" : "https://github.com/tamirvs/symfony"
}
Run Code Online (Sandbox Code Playgroud)

但我明白了The requested package symfony/symfony dev-2.4 could not be found.我也试着2.4-dev2.4,但我得到了同样的错误..

我在网上找到的所有信息都让我得到了我已经尝试过的东西......任何想法?

请注意,当将版本设置为2.4.*时,存储库被拉出但没有我的提交..

branch github composer-php

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

在 onFlush 侦听器中重新计算实体变更集

考虑以下模式:

[Work]
id
tags ManyToMany(targetEntity="Tag", inversedBy="works", cascade={"persist"})

[Tag]
id
works_count
works ManyToMany(targetEntity="Work", mappedBy="tags")
Run Code Online (Sandbox Code Playgroud)

works_count是 的计数器缓存Tag::works

onFlushWork上有一个侦听器,用于检查是否Work::tags已更改,并更新每个标签的works_count.

public function onFlush(OnFlushEventArgs $args)
{
    foreach ($uow->getScheduledEntityUpdates() as $work) {
        $changedTags = /* update relevant tags and return all the changed ones */

        $metadata = $em->getClassMetadata('Acme\Entity\Tag');

        foreach ($changedTags as $tag) {
            $uow->recomputeSingleEntityChangeSet($metadata, $tag);
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

现在,如果我阅读更新标签的变更集, 的更改会works_count正确显示,它们不会在数据库中更新..

如果我替换为recomputeSingleEntityChangeSet()computeChangeSet()那么一切都按预期工作并且数据库已更新,但是computeChangeSet() 上有一个@internal Don't call …

event-listener changeset doctrine-orm

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