Domanda

Ho una vista Drupal che elenca un nodo chiamato pubblicazione. Nella parte superiore della pagina mi piacerebbe avere un link "nuova pubblicazione" invece di averlo nel blocco di navigazione. Qualcuno può dirmi su come procedere? Sembra che ci siano diversi modi, ma sto avendo poca fortuna.

È stato utile?

Soluzione

Ho anche faticato un po 'a ottenere l'esatto significato della tua domanda.

Comprendo la tua domanda in questo modo: " Ho varie pagine di elenco di nodi generate dalla mia vista, vorrei avere in cima a ciascuna di queste pagine un link che mi permetta di creare un nuovo nodo del tipo elencato nelle viste. Come posso farlo? & Quot;

Se ho trovato la tua domanda giusta, un possibile metodo è quello di inserire il link nel modello per la tua vista. In effetti il ??link per creare un nuovo nodo di quel tipo sarà un URL statico del tipo

http://example.com/node/add/mynodetype

in modo da poter inserire in modo sicuro nel tuo file modello qualcosa come:

<?php print(l('Create a new mynodetype article!', 'node/add/mynodetype')) ?>

Questo è sostanzialmente equivalente a quello che Henrik ha proposto (+1) modificando l'intestazione della tua vista. Quale metodo sceglierai dipenderà probabilmente se consideri questo link più di una caratteristica principale della tua vista o più di un elemento tematico. Se lo aggiungi alla vista, lo avrai in tutti i tuoi temi (= funzionalità). Se lo metti nel modello, lo avrai solo per il tema da cui viene utilizzato il modello (= elemento tematico). Ovviamente, anche se si tratta di un elemento del tema, ha più senso includerlo nella vista se si utilizza un file modello standard, quindi non sarà necessario creare un intero file modello solo per un collegamento.

Dal tuo commento qui sotto sembra che tu non stia già utilizzando un modello per la tua vista e quindi - a meno che tu non ne abbia bisogno - potresti seguire il suggerimento di Henrik di aggiungere le informazioni nell'intestazione della vista. Ho comunque preparato schermate per illustrare entrambi i metodi:

Aggiunta all'intestazione:

Devi fare clic su " header " ;, quindi inserire il codice nel campo di testo e impostare il filtro di input su " PHP " (In caso contrario, il codice verrà salvato e visualizzato anziché essere eseguito).

Schermata dell'interfaccia utente delle visualizzazioni

Creazione di un modello:

Devi fare clic su " informazioni: tema " e quindi avrai un elenco di possibili nomi di modelli. Quello in grassetto è quello attualmente utilizzato. È quindi necessario copiare il file con il nome in grassetto (dalla directory views) nella directory del tema e rinominarlo in uno dei modi proposti. Quindi puoi inserire il file e modificarlo aggiungendo il codice PHP che ti serve.

Come affermato in precedenza: se non è necessario un modello per nient'altro, la creazione di un tema solo per questo è il superamento, IMO.

Schermata dell'interfaccia utente delle visualizzazioni

Altri suggerimenti

Puoi anche utilizzare il seguente modulo: https://www.drupal.org/project/views_linkarea .

Come indicato nella sua descrizione,

  

" Rendendolo un vero link piuttosto che solo un blob di HTML in un'intestazione   area di testo ottiene tutta la gestione speciale e l'URL pulito   cordialità e portabilità del percorso base ottenute da qualsiasi collegamento Drupal. "

Modifica: ho appena realizzato che probabilmente ho frainteso la tua domanda. Vuoi un link nella parte superiore di ogni pagina, che punta alla tua vista?


(Nota: probabilmente non quello che l'OP vuole, in quanto metterebbe il link nella parte superiore della vista stessa)

Uno dei modi più semplici sarebbe quello di inserirlo nella sezione "intestazione" della vista (sotto "impostazioni di base" nella pagina di configurazione delle viste). Puoi impostare un formato di filtro per questo, quindi assicurati di usarne uno che consenta i collegamenti.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top