symfony

symfony

Jak użyć zwykłego kontrolera Symfony w EasyAdmin 3 ?

W tej krótkiej poradzie pokażę jak użyć zwykłego kontrolera Symfony w EasyAdmin 3. Przydatne gdy chcemy na przykład dodać do panelu stronkę informacyjną. W pierwszym kroku zapisz kontroler (/src/Controller/Admin/AboutController.php):

Następnie dodaj szablon zgodnie z lokalizacją wewnątrz funkcji render (/templates/bundles/EasyAdminBundle/page/about.html.twig):

Na koniec zaktualizuj menu w DashboardController podając parametr about dla funkcji linkToRoute:

easyadmin3-ckeditor-symfony-flex

Integracja CKEditor z EasyAdmin 3

CKEditor (ckeditor.com) to wizualny edytor WYSIWYG UI, który służy do redagowania zawartości dokumentów WWW. W systemach CMS odgrywa kluczową rolę. W tym poście pokażę w jaki sposób dodać taki edytor do pakietu EasyAdmin 3. Owszem, nowy EasyAdmin posiada wbudowany edytor TRIX ale ma pewne ograniczenia i nie daje takiej swobody jak CKEditor. (Jeśli używasz starszej …

Integracja CKEditor z EasyAdmin 3 Read More »

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 …

Integracja menedżera plików CKFinder z CKEditor w EasyAdmin Read More »

symfony flex

Budowa nowoczesnych aplikacji i stron internetowych przy użyciu Symfony Flex i Webpack Encore

Najpopularniejszymi na świecie systemami do zarządzania treścią są: WordPress, Drupal, Joomla. Tego typu systemy CMS pozwalają zarządzać frontendem bez znajomości języków programowania (czasami wymagana jest minimalna wiedza techniczna). Jeśli potrzebujesz platformy sprzedażowej, wystarczy zainstalować e-commerce Magento. Oczywiście, może okazać się, że żaden “gotowiec” nie sprosta specyfikacji technicznej projektu, ze względu na jego uniwersalność. Czasami też …

Budowa nowoczesnych aplikacji i stron internetowych przy użyciu Symfony Flex i Webpack Encore Read More »

symfony dbal

Połączenie z zewnętrzną bazą danych

Framework Symfony domyślnie używa Doctrine ORM do zarządzania bazami danych. Model ORM może jednak okazać się zbędny, kiedy potrzebujesz skomunikować się z zewnętrzną bazą danych (na innym serwerze). Wtedy pomocna może okazać się biblioteka DBAL, która pozwala na pisanie zapytań SQL niezależnie od warstwy ORM. Przykład Ustaw w pliku .env dane do połączenia z zewnętrznym …

Połączenie z zewnętrzną bazą danych Read More »

symfony

Dynamiczne tworzenie i pobieranie archiwum ZIP

Komponent HttpFoundation udostępnia obiektowe mechanizmy, które obsługują specyfikację HTTP. Aby pobrać plik z serwera skorzystamy z dobrodziejstw tych klas:

Do tworzenia archiwum ZIP można wykorzystać klasę ZipArchive, o której pisałem w tym artykule: Tworzenie archiwum ZIP. PRZYKŁAD /src/Controller/ZipController.php:

/templates/zip/index.html.twig:

Przejdź do strony http://localhost/public/index.php/zip, a następnie kliknij hiperłącze, aby rozpocząć pobieranie pliku archiwum. …

Dynamiczne tworzenie i pobieranie archiwum ZIP Read More »

symfony error page

Własne strony błędów

Aby zrobić własne komunikaty z błędami (np: 404, 500) wystarczy nadpisać odpowiednie pliki szablonów w katalogu /templates/TwigBundle/Exception/:

Poszczególne strony błędów możesz skopiować z oryginalnej lokalizacji, czyli: /vendor/symfony/twig-bundle/Resources/views/Exception/. W szablonach możemy użyć dwóch stałych, które zwracają: status_code – kod błędu np: 404, status_text – treść komunikatu z błędem. Przykład: Przygotuj szablon według poniższego wzoru. /templates/TwigBundle/Exception/error.html.twig …

Własne strony błędów Read More »

symfony

Jak usunąć nazwę pliku index.php z adresu Url?

Jeśli strona jest postawiona na serwerze Apache to można użyć modułu mod_rewrite, który ułatwia tworzenie “przyjaznych linków”. Jest on standardowo zaimplementowany i uruchomiony na serwerze. Aby upewnić się, że moduł działa możesz wywołać w przeglądarce skrypt z poleceniem phpinfo().

Jeśli moduł jest włączony, zapisz w katalogu /public plik .htaccess z poniższą zawartością:

Od …

Jak usunąć nazwę pliku index.php z adresu Url? Read More »

symfony

Generowanie klas modelu i CRUD z istniejącej bazy danych

Może zdarzyć się, że zaczniesz pracę nad istniejącym projektem, który korzysta z bazy danych. Model jest gotowy, tabele wypełnione danymi, a Ty musisz przygotować CRUDa w frameworku Symfony 🙂 . Na szczęście Doctrine udostępnia magiczne polecenie, które potrafi wygenerować klasy modelu z istniejącej bazy danych.

Dla przykładu wygenerujemy model, a potem CRUDa dla dwóch …

Generowanie klas modelu i CRUD z istniejącej bazy danych Read More »

symfony

Upload wielu plików

W tym rozdziale pokażę w jaki sposób uploadować w Symfony wiele plików na serwer. Możesz to rozwiązanie wykorzystać do tworzenia galerii zdjęć itp. Najpierw utworzymy katalog, do którego będą wrzucane pliki: /public/uploads oraz nadajemy mu prawa dostępu na 777. Teraz możemy zdefiniować ten katalog, tak aby był widoczny w projekcie. W tym celu edytuj plik …

Upload wielu plików Read More »