2012-06-20 4 views
0

Я пытаюсь реализовать TinyMCE в CodeIgniter. Я создал файл представления и вызвал его из контроллера. Я загрузил все файлы в папку проекта CI и показал путь к файлам. Но это не работает. Вот вид файл:Проблемы с реализацией TinyMCE в CodeIgniter

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> 
<html xmlns="http://www.w3.org/1999/xhtml"> 
<head> 
<title>Full featured example</title> 
<meta http-equiv="X-UA-Compatible" content="IE=edge" /> 
<!-- TinyMCE --> 
<script type="text/javascript" src="<?php echo base_url()?>application/tinymce/jscripts/tiny_mce/tiny_mce.js"></script> 
<script type="text/javascript"> 
    tinyMCE.init({ 
     // General options 
     mode : "textareas", 
     theme : "advanced", 
     plugins : "autolink,lists,pagebreak,style,layer,table,save,advhr,advimage,advlink,emotions,iespell,inlinepopups,insertdatetime,preview,media,searchreplace,print,contextmenu,paste,directionality,fullscreen,noneditable,visualchars,nonbreaking,xhtmlxtras,template,wordcount,advlist,autosave,visualblocks", 

     // Theme options 
     theme_advanced_buttons1 : "save,newdocument,|,bold,italic,underline,strikethrough,|,justifyleft,justifycenter,justifyright,justifyfull,styleselect,formatselect,fontselect,fontsizeselect", 
     theme_advanced_buttons2 : "cut,copy,paste,pastetext,pasteword,|,search,replace,|,bullist,numlist,|,outdent,indent,blockquote,|,undo,redo,|,link,unlink,anchor,image,cleanup,help,code,|,insertdate,inserttime,preview,|,forecolor,backcolor", 
     theme_advanced_buttons3 : "tablecontrols,|,hr,removeformat,visualaid,|,sub,sup,|,charmap,emotions,iespell,media,advhr,|,print,|,ltr,rtl,|,fullscreen", 
     theme_advanced_buttons4 : "insertlayer,moveforward,movebackward,absolute,|,styleprops,|,cite,abbr,acronym,del,ins,attribs,|,visualchars,nonbreaking,template,pagebreak,restoredraft,visualblocks", 
     theme_advanced_toolbar_location : "top", 
     theme_advanced_toolbar_align : "left", 
     theme_advanced_statusbar_location : "bottom", 
     theme_advanced_resizing : true, 

     // Example content CSS (should be your site CSS) 
     content_css : "<?php echo base_url()?>application/tinymce/examples/css/content.css", 

     // Drop lists for link/image/media/template dialogs 
     template_external_list_url : "<?php echo base_url()?>application/tinymce/examples/lists/template_list.js", 
     external_link_list_url : "<?php echo base_url()?>application/tinymce/examples/lists/link_list.js", 
     external_image_list_url : "<?php echo base_url()?>application/tinymce/examples/lists/image_list.js", 
     media_external_list_url : "<?php echo base_url()?>application/tinymce/examples/lists/media_list.js", 

     // Style formats 
     style_formats : [ 
      {title : 'Bold text', inline : 'b'}, 
      {title : 'Red text', inline : 'span', styles : {color : '#ff0000'}}, 
      {title : 'Red header', block : 'h1', styles : {color : '#ff0000'}}, 
      {title : 'Example 1', inline : 'span', classes : 'example1'}, 
      {title : 'Example 2', inline : 'span', classes : 'example2'}, 
      {title : 'Table styles'}, 
      {title : 'Table row 1', selector : 'tr', classes : 'tablerow1'} 
     ], 

     // Replace values for the template plugin 
     template_replace_values : { 
      username : "Some User", 
      staffid : "991234" 
     } 
    }); 
</script> 
<!-- /TinyMCE --> 

</head> 
<body role="application"> 

<form method="post" action="http://tinymce.moxiecode.com/dump.php?example=true"> 
    <div> 
     <h3>Full featured example</h3> 

     <p> 
      This page shows all available buttons and plugins that are included in the TinyMCE core package. 
      There are more examples on how to use TinyMCE in the <a href="http://tinymce.moxiecode.com/examples/">Wiki</a>. 
     </p> 

     <!-- Gets replaced with TinyMCE, remember HTML in a textarea should be encoded --> 
     <div> 
      <textarea id="elm1" name="elm1" rows="15" cols="80" style="width: 80%"> 
       &lt;p&gt; 
        This is some example text that you can edit inside the &lt;strong&gt;TinyMCE editor&lt;/strong&gt;. 
       &lt;/p&gt; 
       &lt;p&gt; 
       Nam nisi elit, cursus in rhoncus sit amet, pulvinar laoreet leo. Nam sed lectus quam, ut sagittis tellus. Quisque dignissim mauris a augue rutrum tempor. Donec vitae purus nec massa vestibulum ornare sit amet id tellus. Nunc quam mauris, fermentum nec lacinia eget, sollicitudin nec ante. Aliquam molestie volutpat dapibus. Nunc interdum viverra sodales. Morbi laoreet pulvinar gravida. Quisque ut turpis sagittis nunc accumsan vehicula. Duis elementum congue ultrices. Cras faucibus feugiat arcu quis lacinia. In hac habitasse platea dictumst. Pellentesque fermentum magna sit amet tellus varius ullamcorper. Vestibulum at urna augue, eget varius neque. Fusce facilisis venenatis dapibus. Integer non sem at arcu euismod tempor nec sed nisl. Morbi ultricies, mauris ut ultricies adipiscing, felis odio condimentum massa, et luctus est nunc nec eros. 
       &lt;/p&gt; 
      </textarea> 
     </div> 

     <!-- Some integration calls --> 
     <a href="javascript:;" onclick="tinyMCE.get('elm1').show();return false;">[Show]</a> 
     <a href="javascript:;" onclick="tinyMCE.get('elm1').hide();return false;">[Hide]</a> 
     <a href="javascript:;" onclick="tinyMCE.get('elm1').execCommand('Bold');return false;">[Bold]</a> 
     <a href="javascript:;" onclick="alert(tinyMCE.get('elm1').getContent());return false;">[Get contents]</a> 
     <a href="javascript:;" onclick="alert(tinyMCE.get('elm1').selection.getContent());return false;">[Get selected HTML]</a> 
     <a href="javascript:;" onclick="alert(tinyMCE.get('elm1').selection.getContent({format : 'text'}));return false;">[Get selected text]</a> 
     <a href="javascript:;" onclick="alert(tinyMCE.get('elm1').selection.getNode().nodeName);return false;">[Get selected element]</a> 
     <a href="javascript:;" onclick="tinyMCE.execCommand('mceInsertContent',false,'<b>Hello world!!</b>');return false;">[Insert HTML]</a> 
     <a href="javascript:;" onclick="tinyMCE.execCommand('mceReplaceContent',false,'<b>{$selection}</b>');return false;">[Replace selection]</a> 

     <br /> 
     <input type="submit" name="save" value="Submit" /> 
     <input type="reset" name="reset" value="Reset" /> 
    </div> 
</form> 


</body> 
</html> 
+1

Просьба уточнить, что «не работает». Вы получаете какие-либо ошибки? Что, * точно *, не работает? –

+0

текстовый редактор не работает. Нет CSS, эффекты jQuery работают. –

+0

- это способ, которым я правильно показал путь js и css-файлов? –

ответ

0

Пожалуйста, убедитесь, что нет никакой ошибки JS в проекте, а также путь Дж.С., связанный с редактором является правильным, так что JS может работать для редактора.

+0

нет ошибки js. потому что он хорошо работает, когда я использую его вне CI. так я правильно показал путь js и css-файлов? –

1

You are not allowed to call a file within the application folder, посмотри на существует .htaccess файла в приложении:

Deny from all 

вы получите 403 ошибки Access forbidden! не

Во всяком случае, эта проблема не будет решена путем отключения этой линии, потому что CodeIgniter выглядит в URI и говорит: «Хорошо, я должен назвать класс application, который существует в папке контроллера, а затем вызывает метод tinymce, передав эти аргументы: jscripts, tiny_mce, tiny_mce.js».

Итак:

  1. Поместите файлы из папки application/, где, как public/ папку рядом index.php.
  2. Открыть файл .htaccess, который существует в корне, и добавить имя файлов/папок, чтобы предотвратить их передачу через index.php.

Например, рассматривая эту структуру:

system/ 
application/ 
public/ 
     img/ 
     css/ 
     js/ 
.htaccess 
index.php 
robots.txt 

Правила перезаписи (.htaccess) должны быть:

RewriteEngine on 
RewriteCond $1 !^(index\.php|public|robots\.txt) 
#        | 
# Exclude the public folder <-- 
# From being treated by: 
RewriteRule ^(.*)$ index.php/$1 [L] 

Взгляните на CodeIgniter User Guide для получения дополнительной информации.

Смежные вопросы