Aggiungere un'autorizzazione personalizzata al modulo specifico “gruppo” a pagina permessi

drupal.stackexchange https://drupal.stackexchange.com/questions/771

  •  16-10-2019
  •  | 
  •  

Domanda

Utilizzando un modulo personalizzato, come può un permesso di essere aggiunto a un nucleo / modulo "gruppo" ha contribuito nella pagina delle autorizzazioni, senza hacking del modulo di base / contribuito?

Esempio:
Aggiungi un'autorizzazione personalizzata al modulo principale

È stato utile?

Soluzione

Come già detto, non sarebbe una buona idea per elencare un permesso implementato da un modulo insieme delle autorizzazioni messe in atto da un altro modulo; sarebbe difficile per gli utenti trovare i permessi attuate da, per esempio, custom_module.module, quando viene elencata insieme a quelli attuati da user.module.

Se avete veramente bisogno di cambiare l'ordine utilizzato per elencare i permessi (ma poi, è davvero necessario), poi vorrei suggerire al cambiamento come viene visualizzato l'elenco dei permessi: invece di elencare basandoli sul modulo attuazione , si potrebbe elencarli basandosi su criteri diversi.
Per fare questo, si avrebbe bisogno di:

Vale la pena farlo? Potrebbe essere, a seconda del cliente.
Considerando che la prima release ufficiale per Drupal 7 è stato rilasciato, e il codice per Drupal 7 cambierebbe, non è probabilmente vale la pena di farlo. Vorrei piuttosto cercare di capire perché il cliente vuole cambiare l'ordine delle autorizzazioni elencate nella pagina di amministrazione, e spiegare il motivo per cui la modifica è una cattiva idea; se il cliente insiste le esigenze di codice da attuare per i propri scopi, quindi vorrei fargli capire che il codice deve essere riscritto quando il sito passa a Drupal 7, e non vale la pena spendere tempo per tali modifiche, quando è possibile di utilizzare lo stesso tempo di implementare qualcosa che è veramente necessario.

Altri suggerimenti

Non c'è hook_perm_alter e quelle autorizzazioni sono raggruppati per modulo, in modo probabilmente esimo modo sarebbe quello di entrare in ci sarebbe con hook_form_alter su quelle forme (non c'è è per i moduli di autorizzazione di ruolo insieme a quello principale, non è sicuro se non stanno usando lo stesso form_id).

dovrebbe comunque definire il permesso tramite yourmodule_perm così ogni altra cosa può conoscere esiste il permesso.

Personalmente, mi piacerebbe sconsigliò; lasciate che il vostro permesso di cui sarebbe stato quindi non c'è alcun "Ho installato questo modulo e non riesce a trovare il permesso! oh, perché è stato il permesso in un modulo diverso? !!"

Ci sono due modi per ottenere quello che chiedi.

Sia attraverso hook_form_alter o sovrascrivendo la funzione il tema del modulo:. theme_user_admin_perm

Per un modulo contrib standard, ciò non sarebbe una buona idea, come le persone tendono a cercare il permesso di un modulo per la navigazione per il suo nome. Se il modulo fa alcune modifiche al flusso di autorizzazione utente standard, potrebbe non essere una cattiva idea per mostrare il permesso aggiunto insieme a quelli di default dal modulo utente.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a drupal.stackexchange
scroll top