Schema di sostituzione indirizzo
Ho una vista, con percorso: miosito/lista-fatture-di-vendita
Ho fatto un' altra vista pdf con percorso miosito/lista-fatture-di-vendita/pdf
Vorrei usare uno schema di sostituzione in modo da ereditare nel path della vista pdf anche il percorso dei filtri esposti nella prima vista
Es
Prima vista dopo il filtro è uguale a:
miosito/lista-fatture-di-vendita?combine_op=contains&combine=&field_data_fat_value_op=contains&field_data_fat_value[value][month]=1&field_data_fat_value[value][year]=2016&field_data_fat_value[min][month]=&field_data_fat_value[min][year]=&field_data_fat_value[max][month]=&field_data_fat_value[max][year]=Per filtrare la seconda dovrei usare una specie di:
miosito/lista-fatture-di-vendita%1/pdf
Ma non funziona perchè gli schemi di sostituzione si riferiscono al nodo della prima riga e non esiste un campo
path percorso vista.
Cosa posso fare?

Risposte
Ciao, un metodo potrebbe
Ciao, un metodo potrebbe essere dichiarare la seconda vista come allegato della prima. Un display di tipo allegato può ereditare i filtri contestuali ed esposti della vista a cui è allegato.
Grazie dell' interessamento
Grazie dell' interessamento ma servirebbe un altro approccio perché view pdf usa un suo display
Views pdf non eredita (a
Views pdf non eredita (a differenza di views data export ad esempio) i filtri esposti da un'altra visualizzazione.Selezionando da "PDF settings > Allega a" una visualizzazione con filtri esposti, li eredita correttamente.
Un idea alternativa potrebbe essere sfruttare un header della vista utilizzando il modulo token_filter (che aggiunge un plugin per i formati di testo per la sostituzione dei token): tramite questo modulo (dopo aver configurato almeno un formato di test con il nuovo plugin) hai a disposizione tutti i token globali. A questo punto potresti usare [current-page:query:?] per estrarre i dati che ti servono e comporre dinamicamente un url per la visualizzazione che genera il pdf. Ad esempio:
<a href="miosito/lista-fatture-di-vendita/pdf?filtro1=[current-page:query:filtro1]">Stampa PDF</a>L'alternativa sarebbe usare il formato PHP e utilizzare la funzione drupal_get_query_parameters (https://api.drupal.org/api/drupal/includes%21common.inc/function/drupal_...) per comporre il link.
Ho installato il modulo, poi
Ho installato il modulo, poi sono andato sull'intestazione della prima vista , e ho aggiunto:
Globale: Result summary with an additional token to change the items/page
Ma i token a disposizione sono solo:
In questo campo si può utilizzare codice HTML. Sono disponibili i seguenti token:
@start -- the initial record number in the set
@end -- the last record number in the set
@total -- the total records in the set
@name -- the human-readable name of the view
@per_page -- the number of items per page
@current_page -- the current page number
@current_record_count -- the current page record count
@page_count -- the total page count
Plus @items_per_page_links -- the list of links to change the items/page, with prompt
quali uso:
In realtà ho risolto, perchè
In realtà ho risolto, perchè dopo anni di soluzioni complicate, non avevvo visto nelle impostazioni della vista_pdf , il menù allega, che permette alla vista di diventare un allegato di un'altra..
Meglio così..
Ottimo! Giusto per
Ottimo! Giusto per completezza il modulo suggerito (token_filter) va prima configurato su un formato e poi utilizzato su un campo che supporta i formati di testo. Nell'header di una vista è necessario usare un campo "Globale: Area di testo".
Non voglio abbusare del tuo
Non voglio abbusare del tuo tempo, ma potresti spiegarmi meglio cosa significa configurare prima su un formato. Credo verrebbe utile a tutti.
Grazie ancora .
Certo, faccio un esempio
Certo, faccio un esempio usando uno dei formati di input base, il "Full HTML".
Una volta installo il modulo token_filter visita la pagina:
admin/config/content/formats/full_html
tra i "Filtri attivi" compare la voce "Replace tokens"
selezionando la voce e salvando, d'ora in avanti in ogni campo su cui è possibile utilizzare il formato di testo "Full HTML" potrai utilizzare i token globali (ad esempio, [site:name], [current-page:title], [current-page:url], [current-page:query:?], [current-user:name] etc..). Questi verranno sostituiti con i relativi valori prima della visualizzazione.
Perfetto, si tratterà solo di
Perfetto, si tratterà solo di porre dei permessi a livello dei ruoli ai vari formati , per esempio full html, non si addice ad utilizzatori.
Grazie Maurizio, se non ci fossi bisognerebbe inventarti, e sarebbe molto complicato :-)