php e drupal
Salve, vorrei interagire tramite php con drupal. Mi potete aiutare instradandomi e/o consigliare cosa leggere o darmi qualche dritta su come iniziare con qualche esempio?
grazie
Gaetano
Salve, vorrei interagire tramite php con drupal. Mi potete aiutare instradandomi e/o consigliare cosa leggere o darmi qualche dritta su come iniziare con qualche esempio?
grazie
Risposte
Ciao potresti iniziare a
Ciao potresti iniziare a spulciare la doc ufficiale
https://www.drupal.org/docs/8/creating-custom-modules
e gli esempi che trovi presso
https://www.drupal.org/project/examples
grazie delle indicazioni
grazie delle indicazioni
Ciao Maurizio, ho letto un
Ciao Maurizio, ho letto un po' di materiale ed installato drupal 8 su uno spazio web. Volevo iniziare con la scrittura di un piccolo snippet per la visualizzazione delle variabili globali ma mi sono accorto che dalla versione 8 hanno tolto php filter dal core considerandolo pericoloso.
Domande: attualmente bisogna andare sui moduli per scaricare il modulo relativo a php ed attivarlo? (come si chiama)
Pensi che ssendo alle prime armi possa scrivere codice non sicuro?
Nella prima fase vorrei scrivere del codice per l'importazione di un csv. Lo so che esiste un modulo apposito ma lo volevo fare per impratichirmi
Se ricordo bene mi sembra di aver letto che ci sono dei tool tipo sinphny o altro che controllano il codice scritto
Che mi consigli?
Per il controllo degli
Per il controllo degli standard potresti usare code sniffer:
https://www.drupal.org/docs/8/modules/code-review-module/installing-code...
Esiste php filter come integrazione:
https://www.drupal.org/project/php
ma meglio cominciare a scrivere del codice su moduli custom, guardando al modulo examples e/o utilizzando Drupal Console (https://drupalconsole.com/) per generare codice boilerplate. Meglio ancora scrivere tutto da zero capendo passo dopo passo come utilizzare le strutture.
Ti ringrazio, seguirò il tuo
Ti ringrazio, seguirò il tuo consiglio.
Scarico php (spero di non fare danni, ho letto che è deprecato il suo uso), lavoro un po' sulle variabili globali per capire meglio il meccanisco
Cerco di capire dove poter trovare del materoiale sull'uso degli statement \\Drupal::
e poi inizierò a crearmi il modulo di esempio Hello word per capire come funziona
A presto
Il suo utilizzo è deprecato
Il suo utilizzo è deprecato in quanto (ri)aggiunge una funzionalità già eliminata dal core in quanto ritenuta pericolosa e poco performante oltre che scarsamente gestibile.
La chiamata a "\Drupal::[...]" è un modo per chiamare metodi statici definiti all'interno dell'oggetto "Drupal" all'interno di funzioni come ad esempio gli hook definiti nei file ".module". Tecnicamente questo sarebbe da evitare fin dove possibile, utilizzando la Dependency Injection all'interno delle classi (servizi, controller etc..). Drupal 8 sta (progressivamente) passando ad un paradigma totalmente ad oggetti, limitando le parti di codice procedurale (ad esempio sostituendo gli hook con gli eventi), che però continuano ancora ad esistere (o almeno a coesistere).
Un esempio semplice è come richiamare il servizio cron e farlo girare (ad esempio dentro uno script drush):
\Drupal::service('cron')->run();
Mamma mia mi sa che devo
Mamma mia mi sa che devo studiare parecchio
Ciao Maurizio, ho letto e
Ciao Maurizio, ho letto e fatto le prove che ti avevo indicato ho realizzto anche l'esempio del modulo custom hello world ed ho capito cosa serve per realizzre un modulo de genere. Ho letto che si possono personalizare anche blocchi, viste e pagine con campi.
Adesso però mi trovo nella situazione di non sapere se per quello che attualmente mi serve per apprendere meglio ed interagire col mondo drupal debba proseguire con l'approfondimento dei moduli o con altro.
Attualmente vorrei fare esperienza con l'importazione di un file csv in una tabella anche della tassaonomia e successivamente interagire con i campi di un contenitore, tipo inseriscco un dato in un campo e un altro campo si deve aggiornare in base al dato inserito.
So che ci sono modul che fanno ciò ma mi serve per imparare e capire meglio l'ineerazione con drupal
All'interno di
All'interno di https://www.drupal.org/project/examples trovi tanti moduli ben commentati che puoi utilizzare come base per la gestione dei files, l'inserimento / aggiornamento di entità, la gestione e creazione di form, esempi di utilizzo ajax / states all'interno dei form. Quando ti blocchi su qualcosa di fortemente specifico, come l'uso di una api o altro, una ricerca su d.org o un nuovo post qui su Drupal.it possono aiutarti a ripartire.
grazie sempre gentile e
grazie sempre gentile e disponibile
Ciao Maurizio, ho letto un
Ciao Maurizio, ho letto un bel po' di materiale e non ti nasondo che sono confuso e mi sono preso un bel po' di mal di testa.
Penso di aver capito qualche piccola cosa e mi piacerebbe avere il tuo conforto.
Per fare un po' di esperienza vorrei realizzare una pagina (attraverso un conten type pagina di base con scelta di codice php nel campo text e valorizzare di un comboBox (campo list di srupal) con la lista dei content type presenti nel dataBase.
Per far ciò ho bisogno di collegarmi (creare un'istanza al dataBase) effettuare una query con la specifica di node e collegarla al campo list. Se è giusto quello che ho detto sembra facile realizzarla, ma quando si inizia a scrivere il codice utilizzando gli oggetti iniziano i problemi.
Drupal 8 è ad oggetti quindi per il database dovrei creare un'istanza, però penso che dovrei prima richiamare la classe con estend e poi utilizzare il relativo metodo.
Lo stesso per la query
Il ragionamento è giusto?
Non puoi utilizzare il
Non puoi utilizzare il formato php per interagire con il form di edit del nodo stesso. Il formato di input (e il relativo plugin) viene eseguito solo in fase di visualizzazione del campo.
Se il campo lista è già definito attraverso l'interfaccia puoi interagire con le sue "allowed options". Un ottimo esempio lo trovi qui https://chromatichq.com/blog/dynamic-default-and-allowed-values-list-fie....
Se il campo non è definito nella UI potresti implementarlo con un form_alter all'interno di un modulo custom e poi gestirlo in fase di validazione e submit. Il riferimento è sempre Examples, trovi sia esempi di form altering sia di utilizzo di query.
Bell'articolo. Spiegazione
Bell'articolo. Spiegazione semplice e lineare ma mi perdo, in quanto mi manca la chiarezza del tutorial completo per fare ciò, oppure mi manca ancora qualche lettura.
Mi è chiaro nella logica ma per capirne il funzionamento ho necessità di riprodurre fisicamente l'esempio fatto.
Ho creato un content type ed aggiunto il campo list con valori left e right.
Per poter aggiornare programmaticamente i valori della lista devo creare un file yml e farlo interagire con la form. Quando ho fatto le prove sui moduli, ho creato una cartella sites/all/modules/custom_modules. in cui ho creato una cartella varie (Nei vari esempi ho letto che si poteva creare nella cartella core ma ho pensato che al successivo aggiornamente di drupal si poteva perdere tutto in quanto bisogna cancellare tutto tranne la cartella sites).
Il file .yml da creare è field.field.node.article.field_alignment.yml in cui inserire il codice e la funzione indicati.
Non ho ancora capito come si fa a farla interagire con la form, aspetta forse ho capito, lo fa in automtico in quanto dopo node. bisogna indicare il tipo di content type.
Riguardo a Examples ho visto il link ed ho capito che si può scaricare il modulo. Però non ho trovato form_alter e gli esempi non mi sono totalmente chiari. Mi confermi essere questo il link <https://git.drupalcode.org/project/examples> e se è importante installare il relativo modulo? Ti preciso che lavoro direttamente online e i vari composer drush console ed altro non li uso.
Penso proprio che mi manchi la chiarezza di come interagiscono le varie componenti di Drupal. Non so se ci sia in giro un tutorial che faccia vedere o spieare il collegamento che a me ancora non risulta chiaro.
Ti ringrazio per tutti i suggerimenti che mi stai dando, non demordo e continuerò a provare.
Di sicuro proseguirò nella riproduzione dell'esempio sin quando non ci sarò riuscito.
Il link corretto è quello al
Il link corretto è quello al post http://www.drupal.it/supporto/php-e-drupal#comment-12510
Non è necessario installare i vari moduli ma può essere utile farlo per vederne i risultati.