[РЕШЕНО] Wysiwyg 2.0 + CKEditor 3.6 (Drupal 7)

14 мая 2011 в 10:38
Аватар пользователя vicshine vicshine 0 53

Приветствую! Давно не возникало вопросов, ответы на которые я не смог бы найти тут или на d.org..
Но видимо сегодня именно тот самый день, когда стОит спросить у знающих людей "WTF?!" Smile

Итак.. Имеется:
- Drupal 7;
- Wysiwyg 2.0;
- CKEditor 3.6;

Друпал на хостинге, только что установленный (чистый). Инсталлирую Wysiwyg, закидываю CKEditor в папку sites/all/libraries/ckeditor. Всё как по инструкции.. только одно НО:

Снова лезу на FTP и проверяю: может быть чего не так..

Странно, всё так! Только всё равно висит: "Невозможно определение версии редактора CKEditor".. WTF?
Ради теста скачиваю FCKEditor 2.6.6 и закидываю туда же в sites/all/libraries/fckeditor:

Ничего не понимаю.. в чём тут дело то?? Попробовал на более ранних версиях CKEditor - такая же петрушка.. Пробовал ставить разные права доступа (777, 755, 644..) на FTP к этим папкам и файлам - результат тот же.. Sad
Помогите, пожалуйста..

ВложениеРазмер
Иконка изображения 1.jpg50.68 КБ
Иконка изображения 2.jpg84.42 КБ
Иконка изображения 3.jpg50.12 КБ
Иконка изображения 4.jpg60.6 КБ

Комментарии

Аватар пользователя dlj dlj 0

ctools установить не забыл? недавно тестировал редакторы на одном сайте, cke работал нормально. проверь все пути и прочитай справку cke и wysiwyg (может что-то упустил)

14 мая 2011 в 13:35

Наткнулся на схожую проблему.
Порыл, как оказалось есть изменения в новой версии(3.6) в файле sites/all/libraries/ckeditor/ckeditor.js.

Как оказалось, читалось первых 140 символов в строке, а версия уплыла за этот предел в новой версии редактора.

Патч для решения проблемы: http://drupal.org/files/issues/wysiwyg_ckeditor_version.patch

В dev-версии, говорят уже обновили.

16 мая 2011 в 8:19

"Ильич Рамирес Санчес" wrote:
файл который друпал хочет - существует?

Конечно! Даже скрин сделал специально Smile
"dlj" wrote:
ctools установить не забыл?

Конечно! Как же я тогда Views юзаю? Wink
"Mafk" wrote:
Но это не Drupal way ;)

Во-во.. именно поэтому сижу уже вторую ночь и пытаюсь решить проблему без влезания в core долбаного cke Smile

Тут интересен другой момент: версия 3.1 (и выше) не работает, а вот более ранние версии, из доступных на сайте cke, пашут как проклятые..

UPD: ради теста скачал последние версии всех остальных поддерживаемых редакторов. В результате работают все, кроме CKEditor 3.5+, markitUP 1.1.10. У этой парочки одинаковые ошибки: "Невозможно определение версии редактора".. о_О

UPD: вести с полей: оказывается openWYSIWYG не поддерживает броузеры webkit (google chrome, safari). В остальных броузерах - всё окей..

15 мая 2011 в 23:52

"vicshine" wrote:
Тут интересен другой момент: версия 3.1 (и выше) не работает, а вот более ранние версии, из доступных на сайте cke, пашут как проклятые..

ну напишите таск на страничке проекта на drupal.org и сообщите. большинство редко апдейтит редакторы. потому могут и не заметить. и так все пашет же

15 мая 2011 в 23:47

"Ильич Рамирес Санчес" wrote:
ну напишите таск на страничке проекта на drupal.org и сообщите.

http://drupal.org/node/1158388
"Ильич Рамирес Санчес" wrote:
большинство редко апдейтит редакторы. потому могут и не заметить. и так все пашет же

согласен Wink сам такой..

16 мая 2011 в 0:13

Ок. Проблема решена!

Очень помог пост, который мне посоветовали посмотреть на d.org Smile

Но как обычно, я пошёл своим путём. Там предлагают установить патч к Wysiwyg, но как это делается я так и не разобрался (ибо ни разу такого не делал). Поэтому просто открыл файл патча и файл инклудов настроек редакторов (wysiwyg/editors/ckeditor.inc). Смотрю в патч:

diff --git a/editors/ckeditor.inc b/editors/ckeditor.inc
index ca293a7..0a56fe0 100644
--- a/editors/ckeditor.inc
+++ b/editors/ckeditor.inc
@@ -64,7 +64,7 @@ function wysiwyg_ckeditor_version($editor) {
   }
   $library = fopen($library, 'r');
   $max_lines = 8;
-  while ($max_lines && $line = fgets($library, 140)) {
+  while ($max_lines && $line = fgets($library, 500)) {
     // version:'CKEditor 3.0 SVN',revision:'3665'
     // version:'3.0 RC',revision:'3753'
     // version:'3.0.1',revision:'4391'

посмотрел файл ckeditor.inc:

...
function wysiwyg_ckeditor_version($editor) {
  $library = $editor['library path'] . '/ckeditor.js';
  if (!file_exists($library)) {
    return;
  }
  $library = fopen($library, 'r');
  $max_lines = 8;
  while ($max_lines && $line = fgets($library, 140)) {
    // version:'CKEditor 3.0 SVN',revision:'3665'
    // version:'3.0 RC',revision:'3753'
    // version:'3.0.1',revision:'4391'
...

Быстро прикинул, что меняется только число 140 на 500 в $max_lines Smile
Поменял, сохранил, залил на хост.. Вуаля Smile всё работает!

16 мая 2011 в 12:14

Тоже самое и с редектором TinyMCE при ошибке «The version of TinyMCE could not be detected»

стоит исправить в файле (wysiwyg\editors\tinymce.inc)

function wysiwyg_tinymce_version($editor) {
  $script = $editor['library path'] . '/tiny_mce.js';
  $script = fopen($script, 'r');
  // Version is contained in the first 100 chars.
  $line = fgets($script, 100);
  // 2.x: this.majorVersion="2";this.minorVersion="1.3"
  // 3.x: majorVersion:'3',minorVersion:'2.0.1'
  if (preg_match('majorVersion[=:]["\'](\d).+?minorVersion[=:]["\']([\d\.]+)@', $line, $version)) {
    fclose($script);
    return $version[1] . '.' . $version[2];
  }
  fclose($script);
}

на

$line = fgets($script, 500); и все заработает. Спасибо vicshine за отличное решение проблемы

24 июня 2011 в 11:39

Кстати, начал делать новый проект -> скачал последнюю версию CKEditor v3.6.1 - больше проблемы этой нет Smile значит прислушались..

29 июля 2011 в 20:16

Аналогичная проблема но версия cke 4.0.1... может кто подскажет в чем дело? т.к. в вышеописанном файле стоит 500 значение... и все равно глухо.

9 февраля 2013 в 20:11

mrbogdan wrote:
Аналогичная проблема но версия cke 4.0.1... может кто подскажет в чем дело? т.к. в вышеописанном файле стоит 500 значение... и все равно глухо.

Была такая же проблема. Почему-то, в списке установленных не было модуля CKEditor 7.x-1.12, а в таблице 'system' был. Снес строку в таблице, поставил модуль с сайта, и все заработало. Архив с сайта CKEditor уже был распакован в библиотеки.

Drupal 7.21
CKEditor 7.x-1.12 (модуль)
CKEditor 4.0.2_full (архив с сайта разработчика)

а еще я заметил вот такое
путь указывается ручками

10 ноября 2015 в 11:49

"soci0pat" wrote:
Была такая же проблема. Почему-то, в списке установленных не было модуля CKEditor 7.x-1.12, а в таблице 'system' был. Снес строку в таблице, поставил модуль с сайта, и все заработало. Архив с сайта CKEditor уже был распакован в библиотеки.
Drupal 7.21
CKEditor 7.x-1.12 (модуль)
CKEditor 4.0.2_full (архив с сайта разработчика)
а еще я заметил вот такое
путь указывается ручками

ВложениеРазмер

snimok123.png
20.54 КБ


Один хрен такая же петрушка.

6 апреля 2013 в 14:23

"soci0pat" wrote:
а еще я заметил вот такое
путь указывается ручками

ВложениеРазмер


В итоге получаем:
The WYSIWYG module was detected. Using both modules at the same time may cause problems. It is recommended to turn the WYSIWYG module off (click here to disable).

6 апреля 2013 в 14:37

ага, в где-то документации к модулю CKEditor написано, что модуль используется сам по себе, и ему не только не полезен модуль WYSIWYG, но и вредно.
на это намекало "Note: This module is not affiliated with the wysiwyg module. It is a separate project dedicated only to CKEditor.", что в вольном переводе на мой родной язык означает "Это не дочерний модуль модуля WYSIWYG. Это отдельный проект, направленный только на CKEditor"

может у тебя стоит еще этот модуль? у него конкретно написано, что "Because this project claims the "ckeditor.module" namespace, it cannot be installed at the same time as the stand-alone CKEditor module in your modules directory." что означает примерно следующее:
"Т.к. эта разработка использует те же названия модуей, что и CKEditor module, они не должны быть установлены одновременно"

6 апреля 2013 в 15:07

"Noovell" wrote:

The WYSIWYG module was detected. Using both modules at the same time may cause problems. It is recommended to turn the WYSIWYG module off (click here to disable).

Ладно с этим разобрался, снес полностью ckeditor и удалил в таблице все, что называется ckeditor, в том числе и строку из sistem... то же самое... не видит WYSIWYG ckeditor по прежнему.

6 апреля 2013 в 15:21

"soci0pat" wrote:
может у тебя стоит еще этот модуль? у него конкретно написано, что "Because this project claims the "ckeditor.module" namespace, it cannot be installed at the same time as the stand-alone CKEditor module in your modules directory." что означает примерно следующее:
"Т.к. эта разработка использует те же названия модуей, что и CKEditor module, они не должны быть установлены одновременно"

Нет, такого модуля не стоит...
снес ckeditor полностью... удалял и WYSIWYG так же и строки все в бд... заливал по новой всё но без ckeditor.module только библиотеки...
неработает что то WYSIWYG, не видит он библиотек в /sites/all/libraries/ckeditor... когда их заливал, Ftp сервер странную ошибку выдал:
Warning: ftp_put() [function.ftp-put]: Could not open data connection to port 59902: Cannot assign requested address in /home/files/public_html/3/includes/filesystem.inc.php on line 1283
Пути то такого нет... может в бд эту проблему как то решить можно?

6 апреля 2013 в 15:31

Noovell wrote:
Нет, такого модуля не стоит...
снес ckeditor полностью... удалял и WYSIWYG так же и строки все в бд... заливал по новой всё но без ckeditor.module только библиотеки...
неработает что то WYSIWYG, не видит он библиотек в /sites/all/libraries/ckeditor... когда их заливал, Ftp сервер странную ошибку выдал:
Warning: ftp_put() [function.ftp-put]: Could not open data connection to port 59902: Cannot assign requested address in /home/files/public_html/3/includes/filesystem.inc.php on line 1283
Пути то такого нет... может в бд эту проблему как то решить можно?

Для CKEditor не нужен WYSIWYG. У меня вообще не установлен WYSIWYG. Только этот модуль и эти библиотечки. А вот инструкция как это все скрестить.

6 апреля 2013 в 15:51

"soci0pat" wrote:
Для CKEditor не нужен WYSIWYG. У меня вообще не установлен WYSIWYG. Только этот модуль и эти библиотечки. А вот инструкция как это все скрестить.

WYSIWYG может понадобиться для модуля http://drupal.org/project/insert

6 апреля 2013 в 16:02

"kodo" wrote:
CKEditor 4.0.2_full (архив с сайта разработчика)

ок, пробую, только теперь модуль WYSIWYG поставил, а когда включаю его, пишет DatabaseSchemaObjectExistsException: Таблица wysiwyg_user уже существует. в функции DatabaseSchema->createTable() (строка 657 в файле /home/u355987455/public_html/includes/database/schema.inc).

6 апреля 2013 в 18:03

"kodo" wrote:
Попробуй третью версию.

ок, пробую, только теперь модуль WYSIWYG поставил, а когда включаю его, пишет DatabaseSchemaObjectExistsException: Таблица wysiwyg_user уже существует. в функции DatabaseSchema->createTable() (строка 657 в файле /home/u355987455/public_html/includes/database/schema.inc).

6 апреля 2013 в 18:06

фу мля поставил... хорошо что на друпале журнал есть... удалил те строки что существуют и тормозят установке и включению модулей, вроде встал и включился..... Раньше такие проблемы сносом друпала решал:) гыгы

6 апреля 2013 в 18:22

"kodo" wrote:
Попробуй третью версию.

третья пошла как по маслу, ну всё, теперь на каждый профиль свой редактор можно ставить, по этому модуль ckeditor не вкатывал, так бы пришлось на каждую библиотеку редакторов интегратор ставить...
что бы я без вас делал?! Респект всем!

6 апреля 2013 в 18:27

"xSPiRiTx" wrote:
чего?
wisywig и insert - два разных модуля!

Та ты шо? А Карл Маркс и Фридрих Энгельс не муж и жена??? А четыре разных человека?
"soci0pat" wrote:
может у него гугл транстейт глючит? так-то он из Японии ))

может ребята не знают модуль insert и что без WYSIWYG он не работает?

6 апреля 2013 в 20:17

"Noovell" wrote:
WYSIWYG сырой, или ckeditor?

Там какая-то не совместимость, разбираться времени не было просто тройку последнюю поставил. В ишью на орге можешь посмотреть и поразбираться в чем проблема.
WYSIWYG раньше не испльзовал для ckeditor, но ИМХО для вставки картинок INSERT очень интересное решение.

6 апреля 2013 в 20:16

После всех движений с модулем wysiwyg решил опять перейти на ckeditor то теперь моячит вот эта ошибка Warning: Invalid argument supplied for foreach() в функции ckeditor_security_filters() (строка 1506 в файле /home/u355987455/public_html/sites/all/modules/ckeditor/includes/ckeditor.lib.inc). Кто нибудь занет что это и как поправить?

7 апреля 2013 в 8:18

"Noovell" wrote:
После всех движений с модулем wysiwyg решил опять перейти на ckeditor

Ага, я тоже. В wysiwyg и настроек меньше и режет javascript, я прогуглил, всякие доп. модули ставил, но все равно режет. С ckeditor проблемы javascript никогда не было.

Только вот меня одно не устраивает в модуле ckeditor. Когда обновляешь модуль через админку, то Drupal скачивает новую версию модуля, а сам редактор понятное дело нет. Короче, не удобно обновлять. А с wysiwyg сам редактор ставиться в librries. Интересно, как можно с модулем ckeditor ставить сам редактор в librries? Если ручками в модуле что-то прописать, то это же при обновлении модуля затрется..

16 апреля 2013 в 21:44

помогло это:

Нужно в ./modules/wysiwyg/editors/ckeditor.inc

заменить строчку

if (preg_match('@version:\'(?:CKEditor )?([\d\.]+)(?:.+revision:\'([\d]+))?@', $line, $version)) {
на

if (preg_match('@version:\"(?:CKEditor )?([\d\.]+)(?:.+revision:\"([\d]+))?@', $line, $version)) {

10 июня 2013 в 14:46

cvetkoff wrote:
помогло это:

Нужно в ./modules/wysiwyg/editors/ckeditor.inc

заменить строчку

if (preg_match('@version:\'(?:CKEditor )?([\d\.]+)(?:.+revision:\'([\d]+))?@', $line, $version)) {
на

if (preg_match('@version:\"(?:CKEditor )?([\d\.]+)(?:.+revision:\"([\d]+))?@', $line, $version)) {


ckeditor 4.2 определился, но есть:
Notice: Undefined offset: 2 в функции wysiwyg_ckeditor_version() (строка 86 в файле /sites/all/modules/wysiwyg/editors/ckeditor.inc)

проблемная строка 86:
return $version[1] . '.' . $version[2];

UPD:
заменил проблемную строку на:
return $version[1];
вроде работает

30 июля 2013 в 13:45

cvetkoff!!!
Тебе надо памятник ставить!

cvetkoff wrote:
помогло это:

Нужно в ./modules/wysiwyg/editors/ckeditor.inc

заменить строчку

if (preg_match('@version:\'(?:CKEditor )?([\d\.]+)(?:.+revision:\'([\d]+))?@', $line, $version)) {
на

if (preg_match('@version:\"(?:CKEditor )?([\d\.]+)(?:.+revision:\"([\d]+))?@', $line, $version)) {

Хотя я на всякий случай сделал здесь тысячу вместо 500, не считая реально где находится, но это не помогло и никак не повлияло,
но оставлю, пусть будет , 1000 или 500 - разницы нет.
while ($max_lines && $line = fgets($library, 1000)) {

В общем памятник тебе! При жизни. и низкий внеземной поклон.
!

10 ноября 2015 в 11:50

Помогите разобраться. WYSIWYG встал, CKEditor поставил 3.6.6, визуальный редактор есть, когда создаю тип материала. А когда добавляю Содержимое на основе только что созданного Типа материала - визуального редактора нет. Куда смотреть?

26 марта 2014 в 11:56