Sezione it-symfony

Pagina Sonata 5: Aggiunta di Tag Open Graph con SonataPage e SonataMediaSonata

Scritto da il 02/10/2023
Categoria:   symfony, Sonata
Tags:  
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...

Sonata Pagina 5: Nascondi blocchi all'interno di blocchi condivisi.

Scritto da il 30/09/2023
Categoria:   symfony
Tags:  
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...

Sonata: Aggiungi un Pannello Admin senza un'Entità con Sonata Admin 5 e Symfony 6.2

Scritto da il 06/06/2023
Categoria:   symfony, Sonata
Tags:  
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 ...

Come Creare un Trasporto Email Personalizzato con Symfony Mailer

Scritto da il 19/05/2023
Categoria:   PHP, symfony
Tags:  
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...

Symfony: Costringere un'entità ad utilizzare una connessione al database diversa da quella predefinita configurata

Scritto da admin il 19/01/2023
Categoria:   PHP, symfony
Tags:  
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...

Usa composer e bin/console dalla tua immagine Docker direttamente all'interno di PHPSTORM

Scritto da il 19/01/2023
Categoria:   PHP, symfony, phpstorm, Divers
Tags:  
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...

Azioni Personalizzate Sonata

Scritto da il 19/01/2023
Categoria:   PHP, symfony, Sonata
Tags:  
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 ...

Debug con PhpStorm e Symfony in una immagine Docker

Scritto da il 19/01/2023
Categoria:   PHP, PHP / FFI, symfony, phpstorm
Tags:  
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...

Configurazione di 'Quality Tools' in un'immagine Docker di PHPSTORM

Scritto da il 15/12/2022
Categoria:   PHP, symfony, phpstorm
Tags:  
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_...

Sonata DataMapper e Autowiring

Scritto da il 08/12/2022
Categoria:   PHP, symfony, Sonata
Tags:  
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...

SF6 / Sonata 5: Gestione di un'interfaccia OneToMany in un CRUD con il CollectionType di Sonata

Scritto da admin il 27/11/2022
Categoria:   PHP, symfony, Sonata
Tags:   sonata, symfony, admin
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...

Symfony 6 / Sonata 5: Installazione di SonataClassification.

Scritto da il 14/03/2022
Categoria:   PHP, symfony, Sonata
Tags:  
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...

Symfony 6 / Sonata 5: Collega le località e il fuso orario alle preferenze dell'utente.

Scritto da il 10/03/2022
Categoria:   PHP, symfony, Sonata
Tags:  
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...