【问题标题】:Tinymce doesn't workTinymce 不工作
【发布时间】:2015-12-16 08:35:11
【问题描述】:

我实现了 Tinymce 的插件,它工作正常! 事实上,现在所有的文本区域都有一个文本编辑器。 这是我的看法。

问题是,这明明是一个表单,我提交的时候,根本不提交。

可能是什么问题?

【问题讨论】:

  • 请停止在标题中添加 SOLVED,它不应该存在。
  • 将其中一个答案标记为解决方案,而不是更改标题。

标签: forms symfony tinymce textarea


【解决方案1】:
    <?php
// src/AppBundle/Form/RecipeType.php

namespace AppBundle\Form;

use Symfony\Component\Form\AbstractType;
use Symfony\Component\Form\FormBuilder;
use Symfony\Component\Form\FormTypeInterface;
use Symfony\Component\Form\FormBuilderInterface;
use Symfony\Component\Form\FormEvent;
use Symfony\Component\Form\FormEvents;

class RecipeType extends AbstractType
{

    protected $currentField;

    protected $entity;

    public function __construct($entity)
    {
        $this->entity = $entity;
    }

    public function buildForm(FormBuilderInterface $builder, array $options)
    {

        $builder->add('titolo');
        $builder->add('autore');
        $builder->add('tipologia', 'entity', array(
            'class' => 'AppBundle:Tipologia',
            'label' => 'Tipologia',
             'choice_label' => 'name',
        ));
        $builder->add('difficolta','choice',array(
            'choices' => array ('1','2','3','4','5')
        ));
        $builder->add('persone','choice',array(
            'choices' => array ('1','2','3','4','5','6','6+')
        ));
        $builder->add('tempo');
        $builder->add('ingredienti','textarea',array(
            'required' => false,
        ));
        $builder->add('procedimento', 'textarea',array(
            'required' => false,
        ));
        $builder->add('image', 'file', array(
                'data_class' => null,
            'required' => false
            )
        );

          $builder->addEventListener(FormEvents::POST_SET_DATA, function (FormEvent $event) {
                    $this->currentField = $this->entity->getImage();
                });

        $builder->addEventListener(FormEvents::POST_SUBMIT, function (FormEvent $event) {
                    $form = $event->getForm();
                    $inputFile = $form->getData();
                    $newImage = $inputFile->getImage();
                    if (is_null($newImage) && !is_null($this->currentField))
                    {
                        $inputFile->setImage($this->currentField);
                    }
                });
    }

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

解决方案: 在每个 Textarea 字段中添加必需的 false。

$builder->add('ingredienti','textarea',array(
                'required' => false,
            ));
            $builder->add('procedimento', 'textarea',array(
                'required' => false,
            ));

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-03-27
    相关资源
    最近更新 更多