2010-10-19 4 views
3

Je recherche des conseils d'experts sur la meilleure façon de servir plusieurs sites avec une instance Drupal (en utilisant Pressflow 6.x). Considérons que l'entreprise qui en a besoin est appelée "ABC Group of Companies" et qu'elle a 3 préoccupations sœurs. Donc, tout à fait, il y aura quatre sites:Servant plusieurs sites avec un drupal (n'utilisant pas de multi-site)

  1. www.abcgroup.com
  2. www.company-a.com
  3. www.company-b.com
  4. www.company-c.com

Voici les choses les plus intéressantes:

  • les utilisateurs seront partagés entre tous sites
  • Chaque site accueillera leur propre contenu « la plupart du temps » (dire le texte de bienvenue à la page d'accueil, ou des éléments de menu - différent pour chaque site)
  • Certains contenus, sera affiché dans tous les sites (par exemple , un avis de l'entreprise à l'échelle .... ou un répertoire des employés)
  • le thème pour chaque site seront différentes

maintenant, je pense d'avoir l'entrée DNS de sorte que chaque du point de domaine au même Installation de Drupal et quand Drupal est amorcé, je voudrais entrer dans le tableau $ _SERVER pour savoir quel site est touché. Je voudrais ensuite charger le thème en conséquence, montrer les contenus spécifiques à ce site, et aussi montrer le contenu partagé avec tous les sites. Pour ce faire, jusqu'à présent, j'ai créé un type de nœud appelé "Site" et j'ai créé quatre contenus pour chacun des sites. Puis pour chaque autre type de contenu (disons, Page) j'ai mis une référence de noeud au type de contenu "Site" avec une valeur multiple, donc lors de la création d'un nouveau contenu, l'administrateur peut spécifier dans quel site ce contenu sera montré. Cependant, après cela, je suis coincé. J'ai essayé de comprendre les contextes, les espaces, PURL - mais je ne les ai pas encore complètement compris et je crois que je pourrais utiliser le pouvoir de la communauté pour m'aider. Quelle est selon vous la meilleure approche pour gérer ce scénario?

Il serait très utile si quelqu'un peut suggérer une direction.

Cordialement,

Emran

Répondre

5

La façon dont vous suggérez est certainement une façon que vous pouvez le faire, mais vous avez considéré l'accès de domaine? Je l'ai utilisé dans le passé et je l'ai trouvé très utile. il y a aussi une assez grande collection de modules qui fonctionnent avec. Différents thèmes, Options sur les nœuds devant apparaître sur quels sites et utilisateurs partagés sont toutes les fonctionnalités dont il dispose.

Espérons que cela aide!

http://drupal.org/project/domain

+2

+1 Bon conseil - faire soi-même est certainement possible, mais beaucoup de travail qui pourrait être mieux passé ailleurs;) –

+0

Merci ... le module d'accès au domaine semble résoudre la plupart de mes maux de tête !!! –

4

Première place, je fortement secondes hookds suggestion d'utiliser Domain Access Module pour ce (+1).Il a un support/des fonctionnalités étendus pour votre scénario et couvre déjà la plupart des parties difficiles que vous auriez besoin de résoudre vous-même. Si vous insistez en essayant de le faire vous-même, je peux vous assurer que c'est possible, car nous avons fait quelque chose de similaire récemment (certaines exigences spéciales excluaient l'accès au domaine), mais c'était beaucoup de travail, surtout lorsque la fonctionnalité fournie par les modules contribués ne correspond pas bien à notre scénario «inhabituel».

Compte tenu de la multitude de cas particuliers, vous auriez à couvrir, il est difficile d'indiquer une direction générale (à l'exception de suggérer d'utiliser Domain Access Module;) mais un point important serait de vérifier la combinaison de la fonction custom_url_rewrite_inbound()/custom_url_rewrite_outbound() . Cela vous permettra de faire des manipulations d'URL de bas niveau pour les requêtes entrantes, ainsi que pour les URL générées pour la sortie, ce que vous devrez faire si vous voulez servir plusieurs domaines de la même instance.

Ai-je mentionné que vous devriez vérifier Domain Access Module avant d'essayer de construire vous-même?

+0

Accès au domaine est la voie à suivre. Très stable Je l'ai utilisé pour un site Web de 12 villes qui devait être servi une base de données, c'est-à-dire sur l'article pourrait être publié sur plusieurs marchés. – awats

+0

Aussi, si vous envisagez de créer des blocs pour ces sites. Vous aurez besoin du module compagnon de Domain Blocks. http://drupal.org/project/domain_blocks Sinon, vos blocs seront servis dans tous les domaines. – awats

+1

+1 Merci également à Henrik, je suis sûr de vérifier les fonctions personnalisées _.... si l'accès au domaine échoue pour n'importe quel scénario, mais jusqu'à présent, il semble très bon. –

0

Il semble qu'il n'y aura pratiquement aucun contenu partagé entre ces sites. Voulez-vous un seul identifiant pour tous les sites? Rappelez-vous que l'accès au domaine utilise 1 base de données partagée. Vous pouvez également effectuer une installation standard sur plusieurs sites et partager certaines tables.

Je donne deux accès à Domain Access, mais assurez-vous que vous avez vraiment besoin de ce qu'il fait réellement.

Aussi, je voudrais regarder dans le Feeds.module. Vous pouvez extraire du contenu de n'importe où (en particulier un autre site drupal) et l'importer directement et créer automatiquement des nœuds et des champs à partir de celui-ci.

Questions connexes