2013-07-17 16 views
2

我想用TinyMCE的在我的symfony项目 befor我定义这个编辑器,我可以从形式看后,我确定TinyMCE的,并设置选择写入到数据库 到文本区域上面的我的树枝文件我如何能在树枝将TinyMCE(Symfony2的)

{# src/MY/FilmBundle/Resources/views/Page/newfilm.html.twig #} 
{% extends 'MYFilmBundle::layout.html.twig' %} 
{% block javascripts %} 
    <script type="text/javascript" src="{{asset('tinymce/jscripts/tiny_mce/tiny_mce.js')}}"></script> 
    <script type="text/javascript"> 
     tinymce.init({ 
      selector: "textarea" 
     }); 
    </script> 

{% endblock %} 

{% block body %} 

    <form action="{{ path('MYFilmBundle_submitNewFilm') }}" method="post" {{ form_enctype(form) }} class="movie"> 
     {{ form_errors(form) }} 


     {{ form_row(form.text)}} 

     {{ form_rest(form) }} 

     <input type="submit" value="{{ 'Submit'}}" /> 
    </form> 
{% endblock %} 

,并添加该代码buildfilmform(PHP类)我无法能从形式

class buildfilmform extends AbstractType 
    { 
     public function buildForm(FormBuilderInterface $builder, array $options) 
     { 
      $builder->add('text', 'textarea') 
     } 

     public function getName() 
     { // return a unique identifier 
      return 'MY_filmbundle_buildfilmform'; 
     } 
} 

阅读,阅读形式的行动,并保存到数据库:

public function submitNewFilmAction() 
{ 
    $em = $this->getDoctrine()->getEntityManager(); 

    $newFilm = new Film(); 

    $user = $this->getUser(); 
    $user_obj = $em->getRepository('MYFilmBundle:Author')->find($user); 

    $newFilm->setAuthor($user); 

    $form = $this->createForm(new buildfilmform(), $newFilm); 
    $form->bind($this->getRequest()); 

    if ($form->isValid()) { 
     $film = $form->getData(); 

     $em->persist($film); 
     $em->flush(); 

     return $this->redirect($this->generateUrl('MYFilmBundle_homepage')); 
    } 


    return $this->render(
     'MYFilmBundle:Page:newfilm.html.twig', array(
     'form' => $form->createView(), 

    )); 
} 

我不知道我怎样才能能够使用

// Get the HTML contents of the currently active editor 
console.debug(tinyMCE.activeEditor.getContent()); 

// Get the raw contents of the currently active editor 
tinyMCE.activeEditor.getContent({format : 'raw'}); 

// Get content of a specific editor: 
tinyMCE.get('content id').getContent() 

这是在tinymce site

说你能帮助我吗?

非常感谢

PS:我加入TinyMCE的,开发到我的项目,我想知道我怎样才能能够使用上面的代码在我的项目

+0

是否有任何JavaScript错误被抛出或根本没有? –

+0

什么都没有,我可以看到编辑器,但我不能读取它的任何数据! – SDWACW

+1

可以请一)解决你的问题的代码...和b)告诉我们你想要什么来实现,而不是从TinyMCE的文档中的随机代码段扔? ...也许c)告诉我们你正在使用哪个版本的symfony? ...进一步d)如何以及在哪里整合tinyMCE的主JavaScript文件? :-) – nifr

回答

0

TinymceBundle看看,这可以很容易地将textarea定义为TinyMCE编辑器。

$builder->add('introtext', 'textarea', array(
    'attr' => array(
     'class' => 'tinymce', 
     'data-theme' => 'medium' // simple, advanced, bbcode 
    ) 
)); 
+0

'stfalcon/TinyMCE的-bundle'通过工作我使用它,但没有工作:( ,我的状态还没有 – SDWACW

+0

您是否安装任何行动作曲家?您是否安装了资源?您是否在脚本标签内调用了{{tinymce_init()}}?仔细阅读自述文件中的说明。 –

+0

是的,我做 - 但我知道,这不是强制性的,我找到了一个链接:http://stackoverflow.com/questions/10303431/cant-submit-a-form-with-symfony2-and-tinymce,但现在我不不知道山楂可以让它不需要! – SDWACW

-1

使用GenemuFormBundle,它支持TinyMCE和其他整洁的表单类型,如验证码,日期选择器,colorpicker,自动完成,评级等。