Установка модуля ckeditor і настройка ckfinder на drupal 7
Що таке CKEditor + CKFinder і навіщо це потрібно.
Напевно, якщо вже ви Новомосковскете цю статтю, то маєте уявлення про те, що з себе представляє модуль CKEditor. Тоді можете переходити до наступного параграфу, а в іншому випадку я постараюся пояснити коротко.
Установка і настройка CKEditor + CKFinder.

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

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

Що ж робити з помилкою CKFinder в Drupal 7 Браузер файлів відключений з міркувань безпеки. Будь ласка, повідомте вашого системного адміністратру і перевірте конфігураційний файл CKFinder?
- Видаляємо функцію CheckAuthentication (). Не хвилюйтеся, ця функція вже є в файлі, який ми підключимо трохи нижче.
- Відразу після рядка
УВАГА! Якщо ви встановлювали CKFinder не в папку sites / all / modules / ckeditor / ckfinder, а в папку sites / all / libraries / ckfinder, то вставте інший рядок:
File browser type (Link dialog window)
File browser type (Image dialog window)
File browser type (Flash dialog window)
був обраний CKFinder.
Тепер можна радіти. Знову спробуйте вибрати файл з галереї. Має вийти щось на зразок

В яку папку поклали 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

На скрині вище я додав 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?