Se hai già utilizzato SonataPage e SonataMedia, sai quanto siano potenti per gestire contenuti e media sul tuo sito. In questo articolo, ti mostrerò come estendere questi strumenti per aggiungere facilmente i tag Open Graph alle tue pagine per migliorarne la condivisione sui social network. Perché i tag Open Graph? I tag Open Graph (OG) sono dei meta-tag che puoi aggiungere alle tue pagine per definire titoli, descrizioni, immagini e altre informazioni che verranno utilizzate quando la pagina...
Se stai utilizzando il bundle SonataPage, potresti aver notato che alcuni dei blocchi offerti non sono necessari o non funzionanti.Discuteremo come nascondere questi blocchi dalla lista in modo pulito, con un file di configurazione e sovrascrivendo i template di amministrazione di SonataPage.
1 – La Configurazione Dobbiamo creare una lista di servizi che non vogliamo visualizzare. Questa lista andrà naturalmente nei parametri del nostro file di servizi:
#config/services.ya...
In questo articolo, impareremo come aggiungere un pannello di amministrazione senza entità in un progetto Symfony 6.2 utilizzando Sonata Admin 5. La base del nostro progetto sarà creare una semplice interfaccia per il caricamento di file. Ma potresti realizzare qualsiasi applicazione, compresa l'aggiunta di testo semplice. 1. Installazione di Sonata Admin Bundle Se non hai ancora installato Sonata Admin, puoi farlo con composer:
composer require sonata-project/admin-bundle
Ti invitiamo ...
Oggi vedremo come creare un trasporto email personalizzato con Symfony Mailer. Per l'esempio, creeremo un trasporto chiamato “pt”. Prerequisiti Prima di iniziare, assicurati di avere installato e configurato Symfony Mailer e HttpClient nel tuo progetto. Puoi aggiungerli al tuo progetto utilizzando i seguenti comandi:
composer require symfony/mailer
composer require symfony/http-client
Creazione della Classe di Trasporto La prima cosa da fare è creare una nuova classe che im...
Non è insolito avere più database per un singolo progetto.
Normalmente, quando si utilizzano due database, le entità possono
essere organizzate in specifiche cartelle che sono dichiarate
nella tua configurazione. In questo caso, il sistema utilizzerà la
connessione configurata per la directory dell'entità. Puoi vedere
un esempio di connessioni multiple qui Symfony
4 / Sonata: gestire un'interfaccia di amministrazione
multi-server
Supponiamo che vogl...
Okay, sei come me. La tua macchina non ha nulla installato localmente. Nemmeno composer né PHP in CLI!Mentre utilizzi PHP e forse anche Symfony (o no), hai bisogno di utilizzare composer quotidianamente. Usi PhpStorm ogni giorno e pensi sia un peccato non beneficiare di tutte le opzioni del tuo IDE, specialmente tutto ciò che riguarda composer e la console di Symfony. Quindi, come fai a configurare PhpStorm per specificare che il composer per il tuo progetto si trova nell'immagine docker?Ecc...
Seguendo l'articolo scritto da Thomas Bourdin SYMFONY / SONATA: AGGIUNGERE UNA FUNZIONE DI CLONAZIONE A UN CRUD, vi mostreremo come, in modo molto semplice, possiamo aggiungere azioni personalizzate ad un'interfaccia. Sul Dashboard:
Ma vedremo anche come personalizzare in modo semplice e generico le azioni personalizzate della lista, l'intestazione del vostro CRUD e infine come aggiungere azioni per l'elaborazione batch. Per il mio esempio, sono partito con una tabella molto semplice ...
Configurazione PHP/Docker Se stai sviluppando con Symfony, installato in un docker compose e non stai ancora utilizzando il debugger, allora quest'articolo è per te. Ti mostreremo come preparare il tuo ambiente così da non dover più usare dd() o var_dump. Una volta provate le gioie del debug, non potrai più farne a meno, poiché migliorerà notevolmente il tuo comfort. Per questo articolo è necessario disporre di un'app Symfony supportata da apache/php (o nginx e fpm, non importa) con un file...
Ecco una domanda su cui ho riflettuto di recente. Di solito, installo gli strumenti QA direttamente sul mio host o nell'immagine Docker. Se gli strumenti sono installati sul mio host, non ci sono problemi a configurare PhpStorm.
Se gli strumenti sono configurati direttamente nell'immagine Docker, non ci sono problemi ad usarli all'interno dell'immagine. Tuttavia, come si può combinare la potenza di PhpStorm e Docker per collegare i due?
Allora, ecco come procedere con l'installazione di php_...
Se hai una necessità specifica di trasformare i dati tra il modulo e la registrazione della tua entità e pensi che questo codice di trasformazione debba essere situato in un servizio perché ha più senso, puoi utilizzare il dataMapper utilizzando l'iniezione delle dipendenze fornita da Symfony. Ma come implementarlo? Un piccolo promemoria riguardo al DataMapper. Se siamo d'accordo con la documentazione ufficiale di Symfony riguardo il DataMapper e DataTransformer, un dataMapper ha la responsab...
In questo esempio, prenderemo il caso concreto di una
semplice interfaccia che include diversi elementi. Abbiamo
scelto di utilizzare una tabella "Progetti" nella quale
assegneremo dei documenti. Di conseguenza, per un progetto,
possiamo assegnare diversi documenti. E per facilitare
l'amministrazione, ci assicureremo di poter gestire la nostra
interfaccia nidificata direttamente all'interno della vista di
modifica del nostro progetto.Dobbiamo creare lo schem...
Abbiamo visto in precedenti articoli come inizializzare un progetto Symfony 6 + Sonata 5 con media e utenti in un'amministrazione sicura. Abbiamo poi esaminato come gestire le localizzazioni degli utenti.Ora vedremo come installare e gestire le classificazioni.
Procediamo con l'installazione dell'ultima versione disponibile al momento.
php8.1 composer.phar require sonata-project/classification-bundle:5.x-dev
Sembra che ci sia un errore di configurazione.
Unrecognized option "med...
Abbiamo visto in un articolo precedente come installare Symfony 6 + Sonata Admin 5 con gestione degli utenti e dei media.Continueremo questa installazione con la configurazione delle lingue e dei fusi orari.Installeremo intlBundle che permette di gestire la visualizzazione localizzata.
php8.1 composer.phar require sonata-project/intl-bundle
Approfittiamo di questa occasione per aggiungere un campo fuso orario e locale all'utente.Per fare ciò, estenderemo userBundle e aggiungeremo un cam...