2012-10-18 167 views
1

我想在我的Symfony 2項目中使用CK編輯器。我下載了壓縮文件,解壓後放入我的js文件夾中,我將其包含在我想要編輯器的頁面中。我正在按照這個問題Click Here現在我卡在第6步。我怎麼能包括該PHP在我的樹枝模板。CKEditor在樹枝模板+ Symfony2

需要都包括在第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'); 

?>

我可以與包含和我通過它從我的控制器到HTML的任何變量替換名稱查看?

謝謝

回答

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來處理文件管理器功能。該項目的集成說明超出了原始問題的範圍。

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')