我想在Symfony 2项目中使用CK Editor。我下载了zip文件,解压缩并将其放入我的js文件夹中,我将其包含在我想要编辑器的页面中。我正在关注这个问题Click Here现在我陷入了第6步。我怎么能在我的树枝模板中包含那个php。
步骤6中需要包含的php是
<?php
// Make sure you are using a correct path here.
include_once 'ckeditor/ckeditor.php';
$ckeditor = new CKEditor();
$ckeditor->basePath = '/ckeditor/';
$ckeditor->config['filebrowserBrowseUrl'] = '/ckfinder/ckfinder.html';
$ckeditor->config['filebrowserImageBrowseUrl'] = '/ckfinder/ckfinder.html?type=Images';
$ckeditor->config['filebrowserFlashBrowseUrl'] = '/ckfinder/ckfinder.html?type=Flash';
$ckeditor->config['filebrowserUploadUrl'] = '/ckfinder/core/connector/php/connector.php?command=QuickUpload&type=Files';
$ckeditor->config['filebrowserImageUploadUrl'] = '/ckfinder/core/connector/php/connector.php?command=QuickUpload&type=Images';
$ckeditor->config['filebrowserFlashUploadUrl'] = '/ckfinder/core/connector/php/connector.php?command=QuickUpload&type=Flash';
$ckeditor->editor('CKEditor1');
&GT;
我可以用包含html的任何变量替换名称,然后从控制器传递给它以查看吗?
谢谢
答案 0 :(得分:1)
您可以创建表单类型
use Symfony\Component\Form\AbstractType;
use Symfony\Component\OptionsResolver\OptionsResolverInterface;
class CkeditorType extends AbstractType
{
public function setDefaultOptions(OptionsResolverInterface $resolver)
{
$resolver->setDefaults(array(
'attr' => array('class' => 'ckeditor')
));
}
public function getParent()
{
return 'textarea';
}
public function getName()
{
return 'ckeditor';
}
}
将此添加到您的服务
services:
ckeditor:
class: Bundle\myBundle\Form\Type\CkeditorType
tags:
- { name: form.type, alias: ckeditor }
并像这样使用它
->add('myfield', 'ckeditor')
答案 1 :(得分:0)
CKEditor只需要HTML和Javascript。 PHP文件只是用作实用程序帮助程序,以发出正确的HTML和Javascript。
只需添加指向ckeditor.js
文件的链接,然后在您的树枝模板中插入带有ckeditor
类的textarea。 (我还发现我需要一个id标签,但它的价值并不重要) CKEditor将处理其余的事情。
<html>
<head>
<title>Simple CKEditor Example</title>
<script type="text/javascript" src="ckeditor.js"></script>
</head>
<body>
<form action="" method="post">
<textarea class="ckeditor" cols="80" id="editor1" name="editor1" rows="10"></textarea>
<input type="submit" value="Submit" />
</form>
</body>
</html>
在您引用的示例中,他们也使用CKFinder文件管理器。 需要PHP才能处理文件管理器功能。该项目的集成说明超出了原始问题的范围。
答案 2 :(得分:0)
为什么不为此功能使用捆绑包?有plenty of it!
我已经尝试了TrsteelCkeditorBundle并且效果很好!易于设置和配置。