Come nascondere le schede "Gestisci campi" e "Gestisci display"


18

Sto creando un sito Web con Drupal 7 e stavo cercando le autorizzazioni per Taxonomies. Volevo dare ai manutentori del sito Web un posto centrale per la gestione dei vocabolari e l'aggiunta di termini, l'ordinamento dei termini, ecc. Quindi ho dato al loro ruolo l'autorizzazione "Amministrare i vocabolari e i termini" in Tassonomia. Ciò ha comportato una complicazione indesiderata, principalmente ha dato loro l'accesso per creare nuovi campi e gestire la loro visualizzazione (schede "Gestisci campi" e "Gestisci display").

Esiste un modo per consentire loro di accedere alla schermata di modifica del vocabolario e dei termini a cui è possibile accedere tramite "Struttura> Tassonomia" ma che tuttavia disabilita le schede "Gestisci campi" e "Gestisci display" nella schermata di modifica del vocabolario?

Ho abbastanza familiarità con l'idea di override e hook in Drupal 6, ma sono abbastanza nuovo in Drupal 7 (in realtà questo è il mio primo sito Web D7, realizzato su 5 o 6 siti Web D6), quindi non mi dispiace eventuali soluzioni di codifica per questo. Sto solo cercando una risposta o una spinta nella giusta direzione.

Dato che nessuno ha ancora risposto, volevo aggiungere che sono disposto a cercare alternative all'area centrale per gestire le tassonomie (amministrazione / struttura / tassonomia). Forse potrei cercare di creare una pagina con Views per simulare la pagina di amministrazione delle tassonomie.

È fattibile e qualcuno ha mai fatto qualcosa di simile prima?

Risposte:


8

So che è stata data risposta qualche tempo fa, ma esiste una soluzione che non richiede moduli personalizzati o speciali.

Se disabiliti il modulo di interfaccia utente dei campi principali , le schede Gestisci campi e Gestisci display non verranno visualizzate.

Se questo è un sito di produzione, dovrebbe andare bene poiché avrai già configurato i campi come li desideri. Se mai dovessi apportare una modifica, riattiva il modulo brevemente.


1
+1 Questo sembra il modo più pulito, meno ingombrante e veloce per ottenere il risultato.
Beebee,

Questa non è una soluzione alternativa, è una soluzione che "non richiede moduli personalizzati o speciali" e funziona perfettamente su ogni sito Drupal mai creato.
Marblegravy,


3

L'autorizzazione administer taxonomyè quella che viene utilizzata per concedere le autorizzazioni sul campo, se è necessario concedere loro l'autorizzazione per consentire loro di accedere all'amministrazione della tassonomia, è possibile creare una nuova autorizzazione per l'interfaccia utente del campo.

Il modo più semplice per impostare questo è con hook_entity_info_alterhook, poiché è qui che viene aggiunto il percorso di amministrazione per il campo ui e l'autorizzazione di accesso per loro. Puoi anche usare hook_menu_alterper cambiare l'autorizzazione, ma questo è un po 'più di lavoro.


2

È possibile provare a utilizzare hook_menu_alter () per modificare il "callback di accesso" impostato nella funzione field_ui_menu () dal file field_ui.module. Qui è dove vengono impostate le voci di menu "Gestisci campi" e "Gestisci schermi".

Nel tuo hook_menu_alter () potresti cercare queste due voci di menu per i percorsi di tassonomia (dal momento che vorresti conservare le versioni di Content Type di questi) e cambiare il 'call call di accesso' in un metodo personalizzato che controlla una nuova autorizzazione che crei in hook_permission ().

Ho fatto qualcosa di simile in passato e sarei felice di inviare il codice se necessario.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.