Question

Pour un site Drupal 6 Open Atrium (c.-à-Caractéristiques, espaces, des groupes organiques) Je suis en cours d'exécution, je l'ai créé quelques fonctions personnalisées qui ne visent que vraiment une poignée de centaines de groupes sur le site.

En l'état actuel, l'écran config « Personnaliser » Fonctions spectacles tous les fonctionnalités, y compris ceux que je voudrais limiter volontairement à seulement quelques groupes spéciaux.

Quelle est la meilleure façon d'éviter ces caractéristiques particulières d'être offert à chaque groupe, tout en conservant les caractéristiques des groupes spéciaux?

Était-ce utile?

La solution

Les caractéristiques de chaque espace sont configurés via la fonction spaces_features_form(). Vous pouvez mettre en œuvre hook_form_alter() éliminer sélectivement et conditionnellement caractéristiques de groupes spécifiques.

function MYMODULE_form_alter(&$form, $form_state, $form_id) {
  if ($form_id == 'spaces_features_form') {
    $space = spaces_get_space();
    // Populate the array with hard-coded NIDs, or whatever logic
    // needed to determine if these features should be allowed.
    if ($space->type == 'og' && !in_array($space->group->nid, array(...))) {
      // Hide features foo and bar.
      foreach (array('feature_foo', 'feature_bar') as $feature) {
        $form['spaces_features'][$feature]['#access'] = FALSE;
      }
    }
  }
}

Autres conseils

Caractéristiques des modules. Les modules sont activés système et ne peuvent pas être liés à un espace ou un groupe. Cependant, vous pouvez contrôler l'accès à leur en créant des autorisations personnalisées, voir hook_perm () .

J'ajouter à cette suggestion hook_perm une modification du formulaire pour désactiver la fonction applicable en fonction du type de groupe. hook_form_alter travail ne sera probablement pas la cause des articles de fond liés ne sera pas encore présent. Vous devez vous enregistrer #after_build crochet et ensuite modifier la forme en conséquence.

Le contexte est certainement le chemin à parcourir.
contexte , espaces sont une combinaison puissante. Ce poste DevelopmentSeed devrait aider: Construire un « Blog Feature » dans Drupal contexte et espaces

Pouvez-vous activer toutes les fonctionnalités dès le début, mais gérer leur affichage via contexte ? Je ne l'ai pas eu la chance d'essayer encore moi-même contexte, mais il sonne comme un ajustement.

Licencié sous: CC-BY-SA avec attribution
Non affilié à drupal.stackexchange
scroll top