CKFinder to menadżer plików multimedialnych. Pozwala wgrywać i przeglądać pliki multimedialne na serwerze. W tym artykule pokażę jak zintegrować go z edytorem wysiwyg CKEditor.

ckfinder easyadmin

Wpierw zainstaluj i skonfiguruj EasyAdmin + CKEditor.


INSTALACJA CKFINDER

1. Zainstaluj pakiet za pomocą composera:

2. Pobierz pakiet dystrybucyjny CKFinder. Ze względu na różne licencje nie jest dostarczany w standardzie.

3. Zainstaluj zasoby:

W katalogu /public utwórz podkatalog /uploads, do którego będą wgrywane pliki z dysku komputera. Zmień prawa dostępu do tego katalogu na 0777. Możesz to zrobić manualnie lub z wiersza poleceń:

4. Dodaj trasę pakietu (config/routes/ckfinder.yaml):

KONFIGURACJA UWIERZYTELNIENIA

Uwierzytelnianie konektora CKFinder jest zarządzane przez usługę ckfinder.connector.auth, która jest zdefiniowana w klasie: CKSourceCKFinderBundle\Authentication\Authentication. Klasa zawiera metodę authenticate(), która zwraca wartość logiczną (true lub false), w zależności, czy użytkownik powinien mieć dostęp do komponentu CKFinder, czy też nie. Domyślna wartość to false.

1. Utwórz klasę uwierzytelnienia CustomCKFinderAuth.php (src/CustomCKFinderAuth/CustomCKFinderAuth.php).

Poniższa implementacja rozszerza bazową klasę Authentication i zwraca wartość true (co nie jest bezpieczne). Kod klasy nie jest skończony i należy traktować jako wstępne rozwiązanie.

2. Dodaj plik konfiguracyjny ckfinder.yaml (config/packages/ckfinder.yaml):

Wszystkie niezdefiniowane opcje zostaną pobrane z domyślnego pliku konfiguracyjnego.

Przykład konfiguracji:

Więcej opcji znajdziesz w dokumentacji.

AKTYWACJA CKFINDER W PANELU EASYADMIN

1. Utwórz plik ładujący setup-ckfinder.js (public/js/setup-ckfinder.js):

2. Zaimportuj pliki: ckfinder.js i setup-ckfinder.js do konfiguracji easy_admin.yaml (config/packages/easy_admin.yaml):

I to wszystko. Przetestuj działanie integracji. Jeśli jest ok to po kliknięciu przycisku „Przeglądaj” powinien pojawić się popup z przeglądarką multimediów.

ckeditor filemanager
ckfinder easyadmin