Jump to content

Multisite


apeisa

Recommended Posts

statestreet: do you have multilang site with multilang page names?

Our needs for this module has been very little (only one site), so I would be happy to see if Soma would take a lead with his module.

Link to comment
Share on other sites

Looks like I have a different problem now with Multisite 0.2. The original site is continuing to work fine, but we just tried launching the second site, and it displays the first site at the second site's domain. I double-checked that both lines in the module's settings screen match the titles of the top-level pages, but it still only shows the first site's content at both domains.

Link to comment
Share on other sites

@statestreet, I'm not sure but it does work fine. It's hard to tell from here. All I can say that it's not trying to match the title but the page name. Also it does have issues with that it uses strpos to find matches. Possible sideeffect would be that domain with subdomains wouldn't work I think.

domain.com

my.domain.com

would get conflict with checking for the right current domain. I think this can be fixed with having a 1:1 match checking. But not sure it's what you experience.

Although after all it's a big hack to get this multisite tree's working so it's always possible things go wrong. I still consider this a beta and while it's working I strongly recommend to only use it if you are completely aware of what it is doing. It may not suit all situations.

@apeisa, I'm not keen to take the lead on this one. I got too many modules to support already. But I'm happy to help with getting it working or fixing something.

Link to comment
Share on other sites

Although after all it's a big hack to get this multisite tree's working so it's always possible things go wrong. I still consider this a beta and while it's working I strongly recommend to only use it if you are completely aware of what it is doing. It may not suit all situations.

@apeisa, I'm not keen to take the lead on this one. I got too many modules to support already. But I'm happy to help with getting it working or fixing something.

I have just the same feelings with this one. It is highly valuable module if you need it, but approach it as a experimental.

Link to comment
Share on other sites

  • 2 weeks later...

I finally figured this one out.

I had just about given up, when I thought to look in config.php, and lo and behold, there at the bottom was $config->httpHosts, which only contained the domains that were working. I added the other domains, and now the multisite module is working excellently.

  • Like 6
Link to comment
Share on other sites

  • 1 month later...

Wao! thank you so much statestreet. You were the last piece to the puzzle. I just did a fresh install and read this entire thread.

For those who are wondering 

Follow arjen Instructions here: https://processwire.com/talk/topic/1025-multisite/#entry20399

For dev or localhost you'll need to edit your host file for your second domain name so it points to the same directory

EG.

 127.0.0.1   madbox.com

You may need to edit your virtual host when it goes live so it points to the right directory. Doesn't really matter for dev.

<VirtualHost 127.0.0.1>
ServerName sandbox.com
ServerAlias madbox.com
DocumentRoot "C:/wamp/sandbox.com"
<Directory "C:/wamp/sandbox.com">
allow from all
order allow,deny
AllowOverride All
</Directory>
</VirtualHost> 

Then in the site/config.php you'll need to edit the httpHosts variable (last one)

EG.

$config->httpHosts = array('sandbox.com', 'www.sandbox.com','www.madbox.com','madbox.com');
  • Like 2
Link to comment
Share on other sites

  • 1 month later...

Your last two posts really made me hopeful to solve my issue, but unfortunately it didn`t. 

I followed the instruction of multisite module and point my traffic of test.myseconddomain.com to

mymaindomain.com/testarea/processwire.

on mymaindomain.com/testarea/processwire/test.myseconddomain.com I can reach the page.

on test.myseconddomain.com I land on the level of mymaindomain.com (basic example site) of my installation.

I am using password protection for the hidden testarea in .htaccess. I also tested if this causes problems, but it does not work either way. Also I tried to put test.myseconddomain.com into the $config->httpHosts = array() 

but then I get 404.

what is the best structure for one install with one database and several different domains and one hidden testarea? 

my PW install now is in this testarea...

thank you so much for your help!

Link to comment
Share on other sites

  • 4 weeks later...

I need to create an offshoot site that shares some, but not all of the pages of the parent site. Is there any way to show pages from the parent site on subsite or do they have to be duplicated and made children of the subsite's home page?

Link to comment
Share on other sites

Actually, maybe not so much.

I have, for example, /about/ on the main site and I want to display the same page on the subsite. If I visit /subsite/about/ I get a 404.

Also, I've created a new template for the subsite home page which includes to a new global template (for different branding, navigation), but if I can get the same pages to show up on both main and subsites, how do I get the pages on the subsite to use the subsite global template instead of the of the main site?

Link to comment
Share on other sites

Define a field type "page", name it like "includePage" or something like that and add it to your subsite's template. If you wish to include an other page, just select it in your subsite's page. In your subsite's template just add something like this on the top:

<?php
if(count($page->includePage)>0){        // is there a page to be included?
$page = $page->includePage->eq(0);      // overwrite page fields with the included page
}

Now the $page object is overwritten with the included page object.

Link to comment
Share on other sites

Well, then you have to think about some other approaches. Everything is possible.

Scenario 1: Duplicate all news:

- Use url segments. On subsite's overview list all news from main site and don't link to their url but to /subsite/news/$news->name. The /subsite/news/ overview page has url segments activated. You identify the news, include it the same way described above and you're done.

Scenario 2: Only selected news:

- Use a checkbox on the original news template and list only the news that are checked on the subsite. Rest as described in 1.

Another approach would be to use RSS for the import. As I said: Everything is possible, you only have to identify the approach which is less work for you and your client.

Link to comment
Share on other sites

<?php
if(count($page->includePage)>0){        // is there a page to be included?
$page = $page->includePage->eq(0);      // overwrite page fields with the included page
}

I'm giving this a go and it seems to work fine for first level pages, but for second level pages I get the page title but not the rest of the content.

Link to comment
Share on other sites

For instance I've got something like this:

$outMain .= sponsor_row('Major Club Partners'); // $outMain is output in the global embedded template

and the function that outputs the data:

function sponsor_row($group) {
  foreach(wire('page')->sponsors as $sponsor) {
    if ($sponsor->sponsor_group->title == $group) {
      $output .= …
    }
  }
  return $output;
}
Link to comment
Share on other sites

Well, your function also should work like this (assuming it is defined in your template):

function sponsor_row($group) {
  foreach($page->sponsors as $sponsor) {
    if ($sponsor->sponsor_group->title == $group) {
      $output .= …
    }
  }
  return $output;
}

Otherwise I need to know the environment. You also could handle over the $page object:

$outMain .= sponsor_row('Major Club Partners',$page);
function sponsor_row($group, $page) {
  foreach($page->sponsors as $sponsor) {
    if ($sponsor->sponsor_group->title == $group) {
      $output .= …
    }
  }
  return $output;
}
Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...