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

Главные вкладки

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

Приветствую! Давно не возникало вопросов, ответы на которые я не смог бы найти тут или на 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 14 мая 2011 в 13:35

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

Аватар пользователя Mafk Mafk 16 мая 2011 в 8:19

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

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

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

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

Аватар пользователя vicshine vicshine 15 мая 2011 в 23:52

"Ильич Рамирес Санчес" 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:47

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

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

Аватар пользователя vicshine vicshine 16 мая 2011 в 0:13

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

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

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

Аватар пользователя vicshine vicshine 16 мая 2011 в 12:14

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

Очень помог пост, который мне посоветовали посмотреть на 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 всё работает!

Аватар пользователя migen migen 24 июня 2011 в 11:39

Тоже самое и с редектором 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 за отличное решение проблемы

Аватар пользователя vicshine vicshine 29 июля 2011 в 20:16

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

Аватар пользователя mrbogdan mrbogdan 9 февраля 2013 в 20:11

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

Аватар пользователя soci0pat soci0pat 10 ноября 2015 в 11:49

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 (архив с сайта разработчика)

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

Аватар пользователя Noovell Noovell 6 апреля 2013 в 14:23

"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 КБ


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

Аватар пользователя Noovell Noovell 6 апреля 2013 в 14:37

"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).

Аватар пользователя soci0pat soci0pat 6 апреля 2013 в 15:07

ага, в где-то документации к модулю 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, они не должны быть установлены одновременно"

Аватар пользователя Noovell Noovell 6 апреля 2013 в 15:21

"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 по прежнему.

Аватар пользователя Noovell Noovell 6 апреля 2013 в 15:31

"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
Пути то такого нет... может в бд эту проблему как то решить можно?

Аватар пользователя soci0pat soci0pat 6 апреля 2013 в 15:51

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. Только этот модуль и эти библиотечки. А вот инструкция как это все скрестить.

Аватар пользователя kodo kodo 6 апреля 2013 в 16:02

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

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

Аватар пользователя Noovell Noovell 6 апреля 2013 в 18:03

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

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

Аватар пользователя Noovell Noovell 6 апреля 2013 в 18:06

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

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

Аватар пользователя Noovell Noovell 6 апреля 2013 в 18:22

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

Аватар пользователя Noovell Noovell 6 апреля 2013 в 18:27

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

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

Аватар пользователя kodo kodo 6 апреля 2013 в 20:17

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

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

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

Аватар пользователя kodo kodo 6 апреля 2013 в 20:16

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

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

Аватар пользователя Noovell Noovell 7 апреля 2013 в 8:18

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

Аватар пользователя Antoniy Antoniy 16 апреля 2013 в 21:44

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

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

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

Аватар пользователя cvetkoff cvetkoff 10 июня 2013 в 14:46

помогло это:

Нужно в ./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)) {

Аватар пользователя Old Human Old Human 30 июля 2013 в 13:45

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];
вроде работает

Аватар пользователя Друпал-юзер Друпал-юзер 10 ноября 2015 в 11:50

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

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

Аватар пользователя Ampleev Ampleev 26 марта 2014 в 11:56

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