I have two sites, built in tanden but launched at completely separate points.

Both of them need access all content from both sites in some form, so that for example auto-completing references can be used across the two sites. For sake of brevity, I suggest exactly how that is done is kept out of this question.

The real difference between the sites, is that

  1. One domain shows content types W and X, while the other domain shows Y and Z, they
  2. Each domain has a completely separate front page.

How would you go about solving the above two problems?

  • I'm posting my own initial suggestion below, but I would like to hear about others.
    – Letharion
    Jul 14, 2012 at 11:46

2 Answers 2


In my mind, the big advantage of using Panels is so that you can extend/alter sites like this in the future, without needing a lot of rework. In a lot of ways, Panels provides a framework for futureproofing sites.

While I am not sure if I have used Domain CTools,that is the first approach I would take. I essentially use a similar approach using Mobile Tools in combination with Domain Access for providing split desktop/mobile sites that share some, but not all, content and features.

The access rules that Domain CTools provides will show up in the visibility and selection rules inside Panels.

For the node pages, I would enable the default node override page inside Panels, and then make variants for each of my content types. I would then assign access rules to each, based on the domain.

For the home page, I would make a new custom page and set it as the home page. I would then make two variants, and make a selection rule based on the domain for each.

The other thing to think about is how nodes get used in places other than the node view page. For example, if you should double check your views and add access controls as needed. Assuming the approach outline above, you could also use the Domain CTools access rules. Depending on what other uses there are, you may need to investigate whether you need a custom hook_node_access() for your site.

  • Sorry for essentially the dup answer, but there was more to address than a comment would allow.
    – mpdonadio
    Jul 14, 2012 at 14:16
  • No problem, +1 :) FYI, Ctools has access plugins, Panels calls them either selection rules or visibility rules depending on where you use them, but they are all the same thing. :)
    – Letharion
    Jul 14, 2012 at 15:36
  • @Letharion, thanks. I always get the ctools/panels/views terminology get mixed up.
    – mpdonadio
    Jul 14, 2012 at 17:30

One answer, requiring Panels (Everywhere), is to use an access plugin on content types as well as the site template and <front>, to provide varying experience depending on the domain.

There appears to exist a plugin called Domain ctools which provides this functionality.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.