SYMFONY

Symfony – framework (oparty o wzorzec MVC) służący do budowy dynamicznych aplikacji internetowych w języku PHP (OOP). Oficjalna strona projektu: symfony.com

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:

filemanagerbundle easyadmin ckeditor

Integracja FileManagerBundle z CKEditor w EasyAdmin 3

W poprzednim poście przedstawiłem integrację edytora treści CKEditor z obszarem tekstowym formularza (w EasyAdmina 3). Teraz dodam kolejną jakże przydatną funkcjonalność, a mianowicie menadżer plików FileManagerBundle, który pozwala m.in. uploadować pliki na serwer. Będzie można otworzyć go z poziomu okienka CKEditor klikając na standardowy przycisk “przeglądaj”. Zakładam, że masz już zainstalowany i skonfigurowany EasyAdmin + …

Integracja FileManagerBundle z CKEditor w EasyAdmin 3 Read More »

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

Jak usunąć katalog public z adresu Url?

Ta porada dotyczy tylko serwerów Apache i plików konfiguracyjnych .htaccess, które pozwalają dodawać własne dyrektywy do bazowych ustawień. Tak więc, aby pozbyć się /public/index.php wystarczy w katalogu głównym strony umieścić plik .htaccess, a w nim dopisać kilka reguł i dopasowań z modułu MOD_REWRITE. Moduł ten pozwala na przykład tworzyć “przyjazne adresy” (tzw. Friendly Url) lub …

Jak usunąć katalog public z adresu Url? 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 »