Integrazione Views con file Json esterno
Buongiorno a tutti,
sono nuovo con drupal e sto creando le mie prime views.
Devo creare una view che si collega ad un file json memorrizato sul solr al quale devo passare
dei parametri dinamicamente.
L'url che ho impostato nella sezione opzioni query di pagina, impostando un json è il seguente
https://demo.ckan.org/api/3/action/package_search?q=title:Bank
Ora la mia domanda è come faccio a passare alla url la parola Bank tramite un campo di testo valorizzato dall'utente ? Cioè come lo passo come variabile ?
Perchè passando come valore statico funziona, ma non ho capito come legare il campo di testo al valore dopo i : nella url
Grazie mille Antonio
Risposte
Ciao, se la tua necessità è
Ciao, se la tua necessità è consumare un web service esterno json e mostrare i risultati attraverso le viste hai bisogno di utilizzare un backend diverso dal database (che è lo standard per Views). In pratica Views è alimentato di default da dati locali provenienti dal database di Drupal: devi provvedere a "far capire" a Views come estrarre e interpretare i dati provenienti dalla tua sorgente.
Mi vengono in mente un paio di moduli da vedere (pertinenti ma non so se utili al 100% per il tuo caso):
https://www.drupal.org/project/wsdata
https://www.drupal.org/project/external_entities
entrambi trattano il problema di esporre a Drupal e a Views entità e/o dati esterni.
Spero di aver colto la tua necessità e che le info ti siano utili in qualche modo.
Ciao grazie mille per la tua
Ciao grazie mille per la tua risposta...
vedendo meglio ciò che devo fare la mia esigenza è questa
Una volta che l'utente indica il valore nel campo esposto della views e clicca poi su filtra
avrei bisogno di intercettare il contenuto del campo e cambiarlo per fargli eseguire correttamente
la ricerca su solr.
Cioè quello che deve accadere è la seguente cosa:
1)Utente digita una data cosi fatta ad esempio 2020-02-03
2)Clicca sul pulsante cerca
3)Tramite view intercetto il valore del campo e lo sostituisco con il seguente
metadata_created:[2020-02-03T00:00:00Z TO 2020-03-02T23:59:59Z]
dato che devo la ricerca su solr ed è questo è il formato che si aspetta...
Posso fare questa modifica al volo senza intervenire sul codice ma solo sulle proprietà
del campo nella vista?
Grazie mille
Purtroppo Views (attualmente,
Purtroppo Views (attualmente, ma la specifica è in lavorazione) non genera token sostituibili per i filtri esposti.
Mi viene in mente al più di aggiungere un'area di testo ad esempio nell'header, flaggare sostituisci con i valori della prima riga e specificare il nome del campo (deve essere quindi presente sia nei filtri, sia nei campi) in twig (ad es {{ title }}).
Soluzione però molto limitata per quello che devi fare. Solitamente è utile per creare dei sommari del tipo "Hai cercato il titolo {{ title }}" ma difficilmente qualcosa di più complesso come un link parametrico.
Ciao grazie mille per la tua
Ciao grazie mille per la tua collaborazione...
alla fine almeno tramite query string ho una cosa del genere
https://demo.ckan.org/api/3/action/package_search?q=metadata_created:[2020-03-13T00:00:00Z%20TO%202020-03-13T23:59:99Z]%20AND%20title:*ank*&sort=title+asc
dove nel testo tra parentesi quadre avrò come input dell'utente solo 2020-03-13
il campo title sarà altro testo che l'utente digiterà tramite una text box
mentre invece il campo sort sarà scelto da una select dove l'utente può selezionare il tipo di
ordinamento.
Quindi alla fine quando si clicca su cerca poi il pulsante prima di fare submit dovrebbe costruire la stringa
q=metadata_created:[2020-03-13T00:00:00Z%20TO%202020-03-13T23:59:99Z]%20AND%20title:*ank*&sort=title+asc
Grazie mille Antonio
Ciao un altro problema che
Ciao un altro problema che sto avendo pure con le view di drupal è il seguente...
Se creo un filtro per fare una ricerca il cui identificativo lo chiamo Cerca, quando clicco su invio
questo mi prende il dato inserito nella casella di testo e lo invia....se invece cambio nome al filtro esposto e lo chiamo ad esempio Cerca1 la ricerca non mi funziona più, perchè ?
Puoi chiarire meglio cosa
Puoi chiarire meglio cosa intendi (magari con uno snapshot anche) per "cambio nome al filtro esposto" ?
Non ho capito, come devo fare
Non ho capito, come devo fare per caricare un immagine dal pc ??
Puoi caricarla solamente
Puoi caricarla solamente sull'op nei commenti puoi utilizzare un servizio esterno.
Ciao buongiorno, senti un
Ciao buongiorno,
senti un altro problema sto avendo con drupal 8 con le views......
ho provato a fare pure un mio filtro di ricerca su un file json letto dall'esterno
usando il plugin view-query-json questa è la guida
https://frontmag.no/artikler/utvikling/show-external-json-data-drupal-views
Ed ho provato a creare un semplice filtro ma non funziona, ti metto in allegato le immagini..
Il problema è che se io eseguo la ricerca chiamando il filtro di ricerca con identificativo Cerca
mi fa la ricerca nei campi, mentre se al filtro di ricerca cambio nome, ad esempio Cerca1, quando
eseguo la ricerca non trovo nulla......ed inoltre mi sembra di capire che il filtro Cerca è definito esterno alla views che sto vedendo può essere? perchè se pure cancello i filtri della ricerca dalla
views e nella barra del browser inserisco localhost://view-dataset?Cerca=Fondo mi trova i risultati
come mai ?
Le view di drupal sto trovando un pò difficolta ad impararle mentre le altre cose come le strutture i nodi ecc capiti molto meglio.
Grazie mille per il tuo aiuto
Il post linkato si riferisce
Il post linkato si riferisce al modulo
https://www.drupal.org/project/views_json_query
ma è solamente per Drupal 7.
L'ho testato e sembra funzionare (almeno la versione dev), anche modificando i nomi dei filtri esposti e del bottone di submit.
Non ti so dire per la versione 8, non ne ho trovato traccia.
Sto lavorando su un progetto
Sto lavorando su un progetto che mi hanno commissionato basato su drupal 8 e loro già
utilizzano questo modulo, quindi ti posso confermare che funziona.... quello che non capisco è perchè non riesco a creare un filtro nella view?
Io faccio aggiungi filtro, poi esponi filtro, gli indico il tipo di operatore, e seleziono i campi json creati in precedenza per fare la ricerca e gli assegno l'id... però quando vado a fare la ricerca sul filtro come hai visto dalle immagini non me lo fa fare.....è come se il paramtro della query string non venisse intercettato o cosa bhooooo.
magari tramite un desktop remoto se puoi potresti dare un occhiata alla vista?
vedi questo parametro cerca
vedi questo parametro cerca se non è configurato nella vista dove potrebbe essere configurato ?
Potresti sentire chi ha fatto
Potresti sentire chi ha fatto il porting del modulo, magari il committente sa darti indicazioni a riguardo. Potrebbe anche essere che il funzionamento sia parziale o anche diverso dal modulo ufficiale per D7.
Purtroppo non riesco a suggerirti altro.
Ok grazie mille per l'aiuto
Ok grazie mille per l'aiuto
Scusami ma il parametro per
Scusami ma il parametro per eseguire la query nella views di drupal.... lo posso configurare solo nella pagina delle views quando creo i criteri, oppure lo posso configurare pure da un'altra parte di drupal ???
Te lo chiedo perchè ho
Te lo chiedo perchè ho cancellato dalla vista tutti i criteri di ricerca.....
però se chiamo https://localhost/view-dataset?Cerca=2020-04-02 comunque mi trova i risultati
come è possibile se ho cancellato tutti i campi esposti della vista ?
Se riesci ancora a filtrare i
Se riesci ancora a filtrare i risultati esattamente come un filtro, il parametro è stato probabilmente codificato in qualche modo nel modulo. Questo spiegherebbe in effetti il comportamento della vista.
mmmmmmmmmm e come potrei fare
mmmmmmmmmm e come potrei fare a trovare il parametro impostato nel modulo view o view-json-query ???
Dipende da come è stato
Dipende da come è stato sviluppato l'addon. Un punto di inizio, se realmente è codificato, potrebbe essere cercare all'interno dei files che lo compongono la stringa "Cerca".
Poi devi capire come modificare il codice per quello che ti occorre.
Trovato la stringa Cerca nei
Trovato la stringa Cerca nei file del plugin.... una domanda ora se modifico il file php
che contiene la stringa in base alle mie esigenze e lo salvo, dopo quando carico la pagina nel browser la vedere correttamente con le modfiche fatte giusto ?
Te lo chiedo dato che è un plugin alla fine è un tool installato in drupal 8 e quindi per sapere se si prende le modifiche al volo...
Anche questo dipende,
Anche questo dipende, potresti dover ripulire la cache di sistema a seconda dei componenti che modifichi e dalla configurazione di Drupal.
Ciao buongiorno, visto poi
Ciao buongiorno, visto poi ieri alla fine come modificare il filtro e dovevo effettivamente comunque mettere mano al codice php. Ora avrei necessità di aggiungere un pulsante ricerca Avanzata vicino il pulsante Filtra che mi faccia comparire un' altra riga con due campi per poter eseguire la ricerca.... come devo fare ? devo modificare il file php del modulo views ?
Ciao, apri una richiesta di
Ciao, apri una richiesta di supporto per ogni problema / richiesta. In questo modo le richieste sono più utili e precise. Grazie.
ok
ok