このエディターを定義する前に、symfony プロジェクトで tinymce を使用したいです。tinymce を定義し、twig ファイルの上でセレクターを textarea に設定した後、フォームから読み取り、データベースに書き込むことができます。
{# 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';
}
}
フォームを読み取って db に保存するアクション:
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()
手伝って頂けますか?
どうもありがとう
ps : tinymce-dev をプロジェクトに追加しました。プロジェクトで上記のコードを使用する方法を知りたいです。