ckfinder easyadmin

Integracja menedżera plików CKFinder z CKEditor w EasyAdmin

W poście EASYADMIN I CKEDITOR pokazałem w jaki sposób dodać wizualny edytor treści do formularza. Teraz rozwinę ten wątek o dodatkową funkcjonalność – przycisk “przeglądaj”, który pozwala wybrać plik/i z dysku komputera i wgrać na zdalny serwer. Taką możliwość daje rozbudowany menedżer plików CKFinder.


Zakładam, że masz już zainstalowany i skonfigurowany EasyAdmin + CKEditor. Jeśli nie, to przeczytaj wpierw to.

INSTALACJA CKFINDER

1. Instalacja pakietu 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/:

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

Nazwa userfiles jest domyślna. Możesz ją oczywiście zmienić w konfiguracji pakietu.

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 rozszerzony o kilka dodatkowych opcji:

Więcej 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. Niech <kod/> będzie z Tobą ;==>


Leave a Comment

Twój adres email nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *