Установка модуля ckeditor і настройка ckfinder на drupal 7

Що таке CKEditor + CKFinder і навіщо це потрібно.

Напевно, якщо вже ви Новомосковскете цю статтю, то маєте уявлення про те, що з себе представляє модуль CKEditor. Тоді можете переходити до наступного параграфу, а в іншому випадку я постараюся пояснити коротко.

Установка і настройка CKEditor + CKFinder.

Установка модуля ckeditor і настройка ckfinder на drupal 7

Половина справи зроблена! Тепер можна використовувати кнопки для зміни тексту, однак якщо спробувати додати зображення, то відбудеться наступне:

Установка модуля ckeditor і настройка ckfinder на drupal 7

тут все добре, пробуємо вибрати файл з наявних на сервері:

Установка модуля ckeditor і настройка ckfinder на drupal 7

Що ж робити з помилкою CKFinder в Drupal 7 Браузер файлів відключений з міркувань безпеки. Будь ласка, повідомте вашого системного адміністратру і перевірте конфігураційний файл CKFinder?

  1. Видаляємо функцію CheckAuthentication (). Не хвилюйтеся, ця функція вже є в файлі, який ми підключимо трохи нижче.
  2. Відразу після рядка

УВАГА! Якщо ви встановлювали CKFinder не в папку sites / all / modules / ckeditor / ckfinder, а в папку sites / all / libraries / ckfinder, то вставте інший рядок:

  • Збережіть зміни.
  • Відкрийте для редагування файл sites / default / settings.php і зробіть наступне:
  • Збережіть зміни.
  • Перевірте, щоб на сторінці / admin / config / content / ckeditor вашого сайту в секції File Browser Settings в опціях
    File browser type (Link dialog window)
    File browser type (Image dialog window)
    File browser type (Flash dialog window)
    був обраний CKFinder.
  • Тепер можна радіти. Знову спробуйте вибрати файл з галереї. Має вийти щось на зразок

    Установка модуля ckeditor і настройка ckfinder на drupal 7

    В яку папку поклали CKFinder?

    Перевірте, що всі зміни зроблені точно по інструкції.

    Якщо плагін лежить в нестандартній папці, то по-швидкому прибрати повідомлення можна, якщо відредагувати config.php трохи не так, як сказано в статті:

    Не знімайте функцію CheckAuthentication (). просто замініть return false; на return true; Повинно спрацювати навіть якщо плагін встановлений в нестандартному місці.

    Якщо після такої правки плагін запрацює нормально, то справа, швидше за все, в розташуванні директорії установки. Тоді постарайтеся встановити його в папку sites / all / modules сайту і зробити все за інструкцією в статті.

    Останні зробленого в звіті про стан ось що: CKEditor 4.0 You are using a feature that requires $ cookie_domain to be set, but it is not set in your settings.php file (CKFinder is enabled in the Full profile).

    Після установки ще 4 модулів WYSIWYG Filter Htmltidy htmLawed і HTML Purifier або HTML Purifier (advanced) останні так з цеглою і стоять поки. з'явилося ось таке Помилка при розборі XML-відповіді сервера. ErrorUnknown source Неопрацьований відповідь сервера: Parse error: syntax error, unexpected T_VARIABLE in /home/u179735745/public_html/sites/all/modules/ckeditor/ckfinder/config.php on line 79 Тільки ось як зрозуміти що туди вставляти треба в 79 рядок?

    З цим розібрався. тепер в звіті про стан: CKEditor 4.0 You are using a feature that requires $ cookie_domain to be set, but it is not set in your settings.php file (CKFinder is enabled in the Full profile). Але в settings.php зробив все як описано.

    Цей шлях складається з шляху до рахунків користувачів за замовчуванням (/ sites / default / files) і імені папки з зображеннями (images).

    Ви можете налаштувати шлях до файлів, використовуючи для цього профілі CKEditor. Створіть профіль CKEditor, прив'яжіть його до певної ролі користувача (я так розумію, у вас це буде роль адміністратора). В налаштуваннях профілів є два поля в секції FILE BROWSER SETTINGS

    Установка модуля ckeditor і настройка ckfinder на drupal 7

    На скрині вище я додав testpath / в поля щоб продемонструвати настройку. За замовчуванням значення полів наступні

    Path to uploaded files:% b% f /

    Absolute path to uploaded files:.% B% f /

    Змінивши ці значення, ви можете задати потрібний вам шлях до папки з файлами. Не забудьте про слеш (/) в кінці шляху. Але є один нюанс: CKFinder в в будь-якому випадку буде намагатися лізти в папку <Ваш путь>images. Я не знаю легкої можливості задати замість images наприклад папку pictures як у вашому випадку.

    Спасибі, що відгукнулися. Ви абсолютно праві в цьому нюансі: коли я задав шлях% b% f / pictures / для Full HTML, то CKFinder створив нову папку / sites / default / files / pictures / images.

    Крім це я ckeditor.config.js я додав рядки:

    CKEDITOR.replace ( 'editor1',
    filebrowserBrowseUrl. '/ckfinder/ckfinder.html',
    filebrowserImageBrowseUrl. '/ckfinder/ckfinder.html?type=Images',
    filebrowserFlashBrowseUrl. '/ckfinder/ckfinder.html?type=Flash',
    filebrowserUploadUrl:
    '/ckfinder/core/connector/php/connector.php?command=QuickUploadtype=FilescurrentFolder=/public_html/мой-сайт.org/sites/default/files/',
    filebrowserImageUploadUrl:
    '/ckfinder/core/connector/php/connector.php?command=QuickUploadtype=ImagescurrentFolder=/public_html/мой-сайт.org/sites/default/files/pictures/',
    filebrowserFlashUploadUrl. '/ckfinder/core/connector/php/connector.php?command=QuickUploadtype=Flash'
    >);

    Це якось пов'язано з CKFinder.config.startupPath (docs.cksource.com/ckfinder_2.x_api/symbols/CKFinder.config.html#.selectActionFunction)

    Прописував настройки доступу для різних ролей, але без толку (docs.cksource.com/CKFinder_2.x/Developers_Guide/PHP/Configuration/Access_Control)

    * * *
    Завдання начебто проста, отримати доступ в директорію / sites / default / files / pictures (де у мене все фото), і потім через профілі роздати доступ в. / Files / images для зареєстрованих користувачів.
    Четвертий день вже б'юся, перерив пів-інтернету, рішення немає. ((

    Придивіться до ckfinder / config.php, там повинні бути такі рядки

    Наскільки я зрозумів, саме вони відповідають за те, що картинки завантажуються в папку images всередині папки, заданої в поточному профілі.

    Ви можете змінити це на

    щоб перейти від використання images до pictures. Далі потрібно копати в напрямку конфігурації різних типів ResourceType для різних ролей.

    Я правильно розумію, що ви хочете обов'язково використовувати спільний шлях до папки з файлами (/ sites / default / files /) для всіх користувачів, і щоб тільки папка з картинками відрізнялася?

    Адже можна просто конфігурувати різні шляхи до папок з файлами, щось на зразок

    Тоді папки користувачів не будуть перетинатися.

    Ура! Нарешті, сталося диво. ) Через багато днів я побачив свою папку. / Pictures.

    Повинен прямо сказати, що ваша відповідь унікальний, тому що я за кілька днів, дійсно, перерив пів-інтернету, і всі пишуть про одне й те ж. З настройками мені не вистачило глибини вашого розуміння.

    З урахуванням ваших рекомендацій ( 'url' => $ baseUrl. 'Pictures', і т.д.) вийшло наступне:

    Налаштування Full HTML (для адміна):

    Path to uploaded files -% b% f /

    Absolute path to uploaded files -.% B% f /

    Доступ в директорію. / Sites / default / files / pictures (тут всі мої попередні фото. Це мій основний інтерес, щоб залишився доступ до цих фото в режимі Full HTML)

    Filtered HTML (для зареєстрованих користувачів)

    Path to uploaded files -% b% f / images /

    Absolute path to uploaded files -.% B% f /

    Доступ в директорію. / Sites / default / files / images / pictures (тут створилася нова папка. / Pictures, яка як і вищестояща папка / images порожня, для заповнення користувачами)

    Залишилися напевно деталі. З діалогового вікна CKFinder не можу видалити і перейменувати файли (в режимі Full HTML). На файлах доступ - 0644, на папки - 0755, начебто звичайні обмеження.

    Ще проблема. натиснувши на кнопку Flash і "Вибір на сервері» отримую вікно, де є тільки корзина. Папки Flash на сервері немає. Створив вручну / sites / default / files / flash, але це не допомогло. Навіть меню «Завантажити на сервер» поза зоною досяжності. Як можна завантажити файли? (Влаштує в будь-яку папку, тільки для адміна).

    - І ще запитаю, може ви знаєте: При ранніх публікаціях, коли я вставляв малюнок до статті і в анонс (здається через це), то фото на сервері дублювалося з додаванням номера до імені файлу - filename_0.jpg, filename_1.jpg. А якщо статті тематичні, де йде один і той же фото, то файл дублюється на сервері. В результаті у мене набралося з десяток повторюваних фото на сервері від однієї картинки, а також купа клонів від інших. Чому це відбувається і як з цим боротися.

    Радий, що ви зробили бажане. Я спочатку подумав, що це буде складніше, проте в вихідні все ж подивився.

    Я все ж думаю, що для зареєстрованих користувачів слід додати images і в поле Absolute path to uploaded files, начебто воно повинно соотвествовать вмісту першого поля.

    Про копії картинок нічого сказати, на жаль, не можу.

    У налаштуванні варто: Path to CKEditor: //cdn.ckeditor.com/4.4.3/full-all - не знаю, чи радіти цій зовнішньому посиланню. В цілому, стало набагато краще.

    Але для мене повна загадка, куди ставити плагіни. Якщо залити новий плагін в бібліотеку CKEditor / plugins, і додати рядок в його config.js:

    При установці blockquote в папку бібліотеки, це ніяк не відбивається на роботі. Тобто можна як би і не ставити. оскільки кнопка Цитата є, а ефект той же.

    Тут я заплутався.
    По-перше, кнопка цитата (як і у вас тут) у мене була до установки плагіна blockquote. Працювала так само як і описано вище.
    По-друге, плагін blockquote відноситься до цієї кнопки чи ні ??
    По-третє, папки плагінів є в модулі (трохи) і в бібліотеці (багато). Куди ставити нові, де активувати існуючі (деякі плагіни є в настройках Full HTNL, але їх там 10 шт, а в папці бібліотеки 29 шт). Яка у вас практика установки плагінів.

    При будь-якої настроювання Path to the CKEditor plugins directory все ті ж 10 шт. плагінів. Або активація плагінів йде з сайту CKEditor?