2016-05-03 34 views
3

我試着在我的基礎笨的網站安裝的CKEditor和我按照這個教程:CKEditor in Codeigniter TutorialCKEditor的類型錯誤:C [A] CI中未定義

但是我收到此錯誤:TypeError: c[a] is undefined

CKEDITOR.lang.load/d()     ckeditor___ckeditor:230 
CKEDITOR.scriptLoader</<.load/f()  ckeditor___ckeditor:231 
CKEDITOR.scriptLoader</<.load/x()  ckeditor___ckeditor:231 
CKEDITOR.scriptLoader</<.load/A()  ckeditor___ckeditor:231 
CKEDITOR.scriptLoader</<.load/u/g.$.onerror() 

資產/ JS /:其中CKEditor的文件夾是在文件夾中(這將是:資產/ JS/CKEditor的/)

的CKEDITOR_BASEPATH是CKEDITOR_BASEPATH = 'http://localhost:5678/assets/js/ckeditor/';

我不知道這個錯誤是什麼,我無法找到正確的答案或修復它。

在此先感謝。

+1

嘿,這教程歲 - 這是爲笨1.7書面和他們有一些筆記笨2笨是第3版現在。討論編輯器,包括在這個線程中的基本代碼:http://forum.codeigniter.com/thread-62576.html另外這看起來很有趣:https://github.com/moemoe89/codeigniter-ckeditor-filemanager – cartalot

回答

0
Use ckeditor in codeigniter  
    You need 
    1.Ckeditor helper : ckeditor_helper.php file put on system/helpers folder 
    2.Ckeditor-pacakge : http://ckeditor.com/download put on root directory 

Write bellow code in controller file ex.Page.php  
------------------------------------------------------------------------- 
class Page extends CI_Controller { 
    public $data; 
    public function __construct() { 
     parent::__construct(); 
     $this->load->helper('ckeditor'); //load helper 
    } 
    //load html view  
    public function add() { 
     $this->data['ckeditor'] = array( 
       'id' => 'format', //ID of the textarea that will be replaced    'path' => '../ckeditor/',  
        'config' => array( 
        'toolbar' => "Full", //Using the Full toolbar 
        'width' => "auto", //a custom width 
        'height' => "300px", //a custom height 
        ), 
       );  
       //Loading add File  
       $this->load->view('page/add', $this->data);  
      }  
    }  

load view file 
--------------------------------------------------------------------- 
add.php  
    <?php  
    $form_data = array('class'=>'form-horizontal', 'role'=>'form','id' => 'pagefrm','name' => 'pagefrm','enctype'=>'multipart/form-data');  
      echo form_open('Page/Newpage',$form_data); ?> 
    <div class="form-group"> 
    <label class="col-md-3 control-label" for="example-email">Page Format </label> 
    <div class="col-md-6"> 
     <textarea class="form-control ckeditor" name="format" id="format" ></textarea> 
    </div> 
    </div> 
    <div class="form-group"> 
      <div class="col-sm-offset-5 col-sm-12"> 
       <button type="submit" class="btn btn-primary waves-effect waves-light"> Add </button> 
      </div> 
      </div> 
<?php echo form_close();?> 
write js to your view file-> 
<script src="<?php echo base_url();?>assets/js/jquery.min.js"></script> 
<script src="<?php echo base_url();?>assets/js/jquery.validate.js"></script> 
<script src="<?php echo base_url();?>ckeditor/ckeditor.js"></script> //manage your path 

Here you also validate not allowed blank content not allowed using validate.js 
-------------------------------------------------------------------- 

<script type="text/javascript"> 
    $(document).ready(function() { 

     // When the browser is ready... 
     $(function() { 

      // form validation 
      $("#pagefrm").validate({ 
       // Specify the validation rules 
        rules: { 
        format: { 
         required: function (textarea) { 
          CKEDITOR.instances['format'].updateElement(); 
          // update textarea 
          var editorcontent = textarea.value.replace(/<[^>]*>/gi, ''); // strip tags 
          return editorcontent.length === 0; 
         } 
        } 
       }, 
       // Specify the validation error messages 
       messages: { 
        format: "Please enter page format" 
       }, 
       ignore: [], 
       submitHandler: function (form) { 
        form.submit(); 
       } 
      }); 

     }); 
    }); 
</script> 
0
//ckeditor_helper.php 
//put on system/helpers/ 
<?php 
if(!defined('BASEPATH')) exit('No direct script access allowed'); 
function form_ckeditor($data) 
{ 
    $data['language'] = isset($data['language']) ? $data['language'] : 'es'; 

    $size = isset($data['width']) ? 'width: "'.$data['width'].'", ' : ''; 
    $size .= isset($data['height']) ? 'height: "'.$data['height'].'", ' : ''; 

    $options = '{'. 
      $size. 
      'language: "'.$data['language'].'", 

      stylesCombo_stylesSet: "my_styles", 

      startupOutlineBlocks: true, 
      entities: false, 
      entities_latin: false, 
      entities_greek: false, 
      forcePasteAsPlainText: false, 

      filebrowserImageUploadUrl : "filexplorers/fckeditor_upload/image", // << My own file uploader 
      filebrowserImageBrowseUrl : "filexplorers/inlinebrowse/image", // << My own file browser 
      filebrowserImageWindowWidth : "80%", 
      filebrowserImageWindowHeight : "80%", 


      toolbar :[ 
       ["Source","-","FitWindow","ShowBlocks","-","Preview"], 
       ["Undo","Redo","-","Find","Replace","-","SelectAll","RemoveFormat"], 
       ["Cut","Copy","Paste","PasteText","PasteWord","-","Print","SpellCheck"], 
       ["Form","Checkbox","Radio","TextField","Textarea","Select","Button","ImageButton","HiddenField"], 
       ["About"], 

       "/", 

       ["Bold","Italic","Underline"], 
       ["OrderedList","UnorderedList","-","Blockquote","CreateDiv"], 

       ["Image","Flash","Table"], 

       ["Link","Unlink","Anchor"], 
       ["Rule","SpecialChar"], 
       ["Styles"] 
      ] 
     }'; 


    $my_styles = 'CKEDITOR.addStylesSet("my_styles", 
     [ 
      // Block Styles 
      { name : "H3", element : "h3"}, 
      { name : "Heading 4", element : "h4"}, 
      { name : "Heading 5", element : "h5"}, 
      { name : "Heading 6", element : "h6"}, 
      { name : "Document Block", element : "div"}, 
      { name : "Preformatted Text", element : "pre"}, 
      { name : "Address", element : "address"}, 

      // Inline Styles 
      { name: "Centered paragraph", element: "p", attributes: { "class": "center" } }, 

      { name: "IMG bordered", element: "img", attributes: { "class": "bordered" } }, 

      { name: "IMG left", element: "img", attributes: { "class": "left" } }, 
      { name: "IMG right", element: "img", attributes: { "class": "right" } }, 

      { name: "IMG left bordered", element: "img", attributes: { "class": "left bordered" } }, 
      { name: "IMGright bordered", element: "img", attributes: { "class": "right bordered" } }, 
     ]);'; 

    return 
    // fix: move to <HEAD... 
    '< script type="text/javascript" src="'.base_url().'application/plugins/ckeditor/ckeditor.js"></ script>' . 

    // put the CKEditor 
    '< script type="text/javascript">' . 
      $my_styles . 
      'CKEDITOR.replace("'.$data['id'].'", ' . $options . ');</ script>'; 
}