1

I'm building a fresh site on Drupal 7.26 and the main Bootstrap 3 (7.x-3.0) theme from https://drupal.org/project/bootstrap.

My site also uses Organic Groups and Display Suite, along with many other modules. CKEditor 7.x-1.13 is installed. I have not edited the code of any file in the site, including the theme files.

Problem: When creating new content, CKEditor does not appear in the text area with 'filtered HTML' settings.

Details:

  • My basic test user with only "authenticated user" role cannot use CKEditor to create or edit content. A Bootstrap-themed textarea is all that shows for all 'filtered HTML' text fields.
  • My admin user, using the Seven theme in overlay for admin and editing, can access CKEditor everywhere I expect to see it. CKEditor buttons and layout are correct.
  • I switched the site default theme over to Seven, and my basic test user could use CKEditor. Once the theme was switched back to Bootstrap, CKEditor went away.
  • The really odd part: CKEditor loads properly for the basic test user in Bootstrap theme for all comment entry forms.

The only permissions I see for CKEditor are "Administer CKEditor access" and "Customize CKEditor appearance", which are both set only to administrator.

Resources I have read that are similar:

In the source code for a create node page in my basic test user's account, I see finally, at line 273 it has the scripts:

<script src="http://my.site.com/sites/all/modules/ckeditor/includes/ckeditor.utils.js?n1lvkb"></script>
<script src="http://my.site.com/sites/all/libraries/ckeditor/ckeditor.js?n1lvkb"></script>
<script src="http://my.site.com/sites/all/themes/bootstrap/js/bootstrap.js?n1lvkb"></script>

I'm wondering if loading the CKEditor js at the end is related to this problem. Since I haven't yet dug into coding in Drupal though, I'm not sure how to correct it. I'll be creating a Bootstrap sub-theme, and maybe I can address this problem there? Any advice on this would be greatly appreciated.

As I debug this, I'll add some edits at the bottom showing what I find.

Screen captures: new content as seen by basic test user new content as seen by admin user add comment form as seen by basic test user


Updates:

  1. I created a Bootstrap sub-theme and activated it. For a quick test I pasted the script sources for ckeditor into the head tag. In Firebug, when viewing a Page created by Panels, the console shows this error:

    TypeError: Drupal.settings.ckeditor is undefined window.CKEDITOR_BASEPATH = Drupal.settings.ckeditor.editor_path; on line 5 of ckeditor.utils.js

I guess that means settings haven't loaded yet.

  1. I removed the pasted-in script sources. After removing them, the above settings error no longer appears. Based on the tips in the CKEditor troubleshooting, I verified that php commands to print the vars scripts and page_bottom are in place. Now, on a node creation page, Firebug reports these errors:

    TypeError: a(...).on is not a function ...a(this),f=e.data("bs.modal"),g=a.extend({},b.DEFAULTS,e.data(),"object"==typeof ... bootstrap.min.js (line 9)

2 Answers 2

0

Solved. The I am using the development version of jQuery_update which provides a fallback version of jQuery to use on administrative pages. -- https://drupal.org/node/1524944

It determines whether or not to use the admin version based on if the current_path() is found in the return value of path_get_admin_paths(). Unfortunately for me, node/add is an administrative path. So, jquery_update kicks in and loads jQuery 1.5.2 to be compatible with the administrative task. It seems CKEditor can't operate with 1.5.2. I noted above that CKEditor loaded without issue for a comment field on a node. Since viewing a node isn't an administrative path, the page was allowed to load jQuery 1.10 which works fine with CKEditor.

For now, I added an array of paths to exempt from admin status (node/add, node/add/post, etc) and added that to the evaluation in jQuery_update. Content creation pages now load jQuery 1.10 and CKEditor appears normally.

UPDATE: in place of the array of exempt paths, I have put in place the patch posted by muschpusch at https://drupal.org/node/2141205 . It has solved this issue.

0

Same issue with bootstrap theme..ckeditor not loading.

Turns out its jquery_update module issue which is loading admin version (1.5) in my case even when user is adding/editing nodes using our custom theme and not the admin theme.

Latest ckeditor needs minimum 1.7 version of jquery

patch here solves the issue. https://www.drupal.org/node/2141205#comment-9260565

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.