小编Adi*_*oui的帖子

notBlank 约束不适用于文件输入 - 具有 OneToMany 关系的表单 Symfony2

Article我和实体之间有一对多关系Image。我创建了文章的形式,如下所示:

class ArticleType extends AbstractType
{
    public function buildForm(FormBuilderInterface $builder, array $options)
    {
        $builder

            ->add('articleTitle','text',array('required' => false))
            ->add('articlePrice','number',array('required' => false))
            ->add('images', new ImageType())

        ;

    }
....
}
Run Code Online (Sandbox Code Playgroud)

class ImageType extends AbstractType
{

    public function buildForm(FormBuilderInterface $builder, array $options)
    {
        $builder
        ->add('file', 'file',array('required' => false))

        ;
    }
....
}
Run Code Online (Sandbox Code Playgroud)

我在验证文件属性时遇到问题。我的目标是当用户选择任何文件时返回错误消息(至少一个图像应与文章相关联)。我尝试断言NotBlank但它不起作用。

<?php
....

use Symfony\Component\Validator\Constraints as Assert;


class Image
{


 /**
     * Image file
     *
     * @var File
     * @Assert\NotBlank
     */
    private $file;


   ....
}
Run Code Online (Sandbox Code Playgroud)

我在创建表单时不会 …

forms symfony

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

函数声明不能​​嵌套在非函数块中

我正在阅读有关函数声明与函数表达式的内容,我无法弄清楚以下语句的含义:

函数声明作为独立构造出现,不能嵌套在非函数块中.

有人请用一个例子解释作者的意思,准确地说:"......不能嵌套在非功能块中".

链接是:https://javascriptweblog.wordpress.com/2010/07/06/function-declarations-vs-function-expressions/

javascript functional-programming

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

在Symfony2中直接使用库而不是bundle

如何在现有Symfony2项目中直接使用库.例如,我试图添加faker库.我通过composer安装它,但我不知道如何以及在哪里放置我需要的代码.

根据文件:

// require the Faker autoloader
require_once '/path/to/Faker/src/autoload.php';
// alternatively, use another PSR-0 compliant autoloader (like the Symfony2 ClassLoader for instance)
Run Code Online (Sandbox Code Playgroud)

什么是自动装载机的简单说明?如何在没有捆绑的情况下直接使用库?是否要求库拥有一个autoload.php文件,以便它可以集成到php项目中?在哪里放上面的代码?

任何解释新手概念的链接?非常感谢您的平常指导.

php symfony

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

$query-&gt;andWhere() 中的 Foreach 语句

我需要使用 foreach 语句使用 Doctrine QueryBuilder 创建一个查询,目前,使用以下一个但不是最正确的:

// $query object
foreach ($searches as $value) {
                $query->andWhere($query->expr()->orX(
                    $query->expr()->eq('c.firstName', ':name'),
                    $query->expr()->eq('c.lastName', ':name')
                ))->setParameter('name', $value);
            }
Run Code Online (Sandbox Code Playgroud)

这给了我:

....WHERE .... AND (a0_.first_name = ? OR a0_.last_name = ?) AND (a0_.first_name = ? OR a0_.last_name = ?) ORDER BY a0_.first_name ASC

虽然我需要:

...WHERE ..... AND (a0_.first_name = ? OR a0_.last_name = ? OR a0_.first_name = ? OR a0_.last_name = ?) ORDER BY a0_.first_name ASC

我需要这样的东西,但PHP当然不允许:

// $query object

                    $query->andWhere($query->expr()->orX(
                     foreach ($searches as $value) {
                        $query->expr()->eq('c.firstName', ':name'), …
Run Code Online (Sandbox Code Playgroud)

php foreach doctrine query-builder symfony

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

如何避免使用此内联Javascript?

我有一个wordpress网站.在single.php,我有以下body标记

  <body <?php body_class(); ?>  onLoad="func(<?php echo $thePostID?>);" >
Run Code Online (Sandbox Code Playgroud)

在网上阅读文章让我确信避免使用内联CSS和内联javascipt.所以我对我的网站进行了重组,以便样式和脚本现在包含在外部文件中.除了这行代码,因为它确实需要the post id,我不知道如何在single.php之外检索它.

您的平常帮助表示赞赏.

javascript wordpress jquery inline-code reflow

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

在POST变量中还包括未选中的复选框 - 多个复选框

我在我的php文件中使用下面的代码从多个复选框中获取值.

    if(!empty($_POST['check_list'])) {
        foreach($_POST['check_list'] as $check) {
                update_comment_meta($check, 'consider', 1);
        }


    }
Run Code Online (Sandbox Code Playgroud)

问题是这个代码显然$_POST['check_list']只在数组中放入了检查值.

我需要update_comment_meta通过将'0'作为第三个参数而不是'1'来对未设置的值执行该功能.

有关更多详细信息,我给出了生成HTML表单的代码:

<form action="" id="primaryPostForm" method="POST">

<?php    
         $defaults = array(
    'post_id' => $current_post); 
         $com= get_comments( $defaults );

        foreach ($com as $co) {
    if(get_comment_meta($co->comment_ID, 'consider', true)==1) {
    ?><input type="checkbox" name="check_list[]" value="<?php echo $co->comment_ID; ?>" checked="checked">

    <?php }
    else {
    ?><input type="checkbox" name="check_list[]" value="<?php echo $co->comment_ID; ?>" >
    <?php
    }}
</form>
Run Code Online (Sandbox Code Playgroud)

您的平常帮助总是受到赞赏.

html php wordpress checkbox http-post

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

更新后"主页"类别页面无效

版本1.4.1.4的prestashop网站正在处理category.php类别页面的文件.对1.6.0.6 unfortunatley的更新删除了该文件,因为它已被视为已弃用.(CMS更新后URL结构发生了变化)

一个结果是URL结构的变化.

从:

URL/category.php?id_category = 6

至 :

URL /的index.php?id_category = 6&控制器=类别&id_lang = 2

所以现在,第一个URL结构给出了404.

问题: 我们不知道为什么所有的类别页面与新strucure做工精细,除了页面Home(acceuil)类别(全球父类的所有网站类别).home即使使用新结构,此类别页面也会给出404.换句话说,以下网址无效:

URL /的index.php?id_category = 1&控制器=类别&id_lang = 2

如果我没错,Prestashop默认将id = 1给予此home类别?你的观点出了什么问题?任何见解都受到高度赞赏.

根据Prestashop-Developper.co回答编辑

当我在PhpMyAdmin中检查我的数据库时:

从1.4.1.4更新到1.6.0.6之后:

我既没有找到id = 0的类别,也没有找到id = 2的类别.我只找到id = 1的类别Home和id = 104的类别Root.Root是Home的父级,但Home的字段is_root_category设置为1 !!!! 我真的不理解任何事情.

在从1.4.1.4更新到1.6.0.6之前:

根本没有Root类别,根本没有任何is_root_category字段.

注意: 这些观察结果基于以下表:ps_category,ps_category_group,ps_category_product,ps_category_shop在updtate之前和之后= 1.4.1.4到1.6.0.6之间.

webpage updates prestashop prestashop-1.5 prestashop-1.6

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

批量产品类别更新(向所有产品添加“家庭”类别)- Prestashop 1.6.0.6

我观察到所有产品的数量不等于 category 中的产品数量home。这是因为在产品添加过程中并不总是选择这个最大的父类别。所以有些产品属于home但有些不属于。

虽然我需要为类别home页面显示正确数量的产品,但我正在数据库中查找包含类别但未在ps_product或 中 找到它们的列ps_product_lang

可以批量修改数据库中相应字段的sql查询背后的想法是什么,以便我的所有产品都属于 category home

感谢您通常的帮助。谢谢你。

编辑: 我发现数据库中的表是ps_category_product. 它是唯一的吗?

这张表是这样的:

+-------------+------------+----------+
| id_category | id_product | position |
+-------------+------------+----------+
|          11 |          1 |        1 |
|          11 |          2 |        2 |
|          11 |         10 |        3 |
+-------------+------------+----------+
Run Code Online (Sandbox Code Playgroud)

我可能需要创建 x 行(x = 产品数量)。每行都有 id_category=1 和 id_product= product id 和 position= position++。是最好的方法吗?

关于如何在 sql 中实现它的任何帮助?

再次感谢。

php sql prestashop prestashop-1.6

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

require_once(PHP/CodeCoverage/Filter.php):无法打开流

我想在Symfony 2.3.24/Windows7/PHP 5.4.7下熟悉测试(单元,功能).

似乎PHPUnit安装正确(通过Composer),但是当我运行phpunit -c app/命令时,我收到以下错误:

Warning: require_once(PHP/CodeCoverage/Filter.php): failed to open stream: No such file or directory in C:\xampp\php\phpunit on line 38

Fatal error: require_once(): Failed opening required 'PHP/CodeCoverage/Filter.php' (include_path='.;C:\xampp\php\PEAR') in C:\xampp\php\phpunit on line 38
Run Code Online (Sandbox Code Playgroud)

我用谷歌搜索这个问题无济于事.我另外在官方的PHPUnit网站上找到了The code coverage report feature requires the Xdebug (2.1.3 or later) and tokenizer extensions.

你怎么看待这一切?非常感谢您的帮助.

php testing phpunit symfony composer-php

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

php中的`/`和`\`有什么区别?

我试图理解PSR-0中的例子,但无济于事.我知道那\是目录分隔符(至少在我的Windows操作系统中),并且在我的拙见中,它不能等同于/.我用谷歌搜索他们之间的差异,发现没有结果.

php

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