To stick to a single dashboard, separate contexts are one way to go.
Another way, since the sites are so similar, is to just put the content that is different into files, all in the same directory (myfiles) and create a snippet (let's call it "CorrectFile") that detects the URL and returns the content of the correct file. Say you have two banner files called usbanner.html and ukbanner.html -- put a tag like this where you want the content to appear:
[[!CorrectFile? &fileName=`banner`]
/* CorrectFile snippet */
$myFileBase = MODX_BASE_PATH . 'myfiles/';
$fileName = $modx->getOption('fileName', $scriptProperties', '', true);
$url = $_SERVER['REQUEST_URI'];
if (strpos($url, '.uk', !== false)) {
$prefix = 'uk';
} else {
$prefix = 'us';
}
$fileName = $myFileBase . $prefix . $fileName . '.html';
$output = file_get_contents($fileName);
if (empty($output)) {
$output = 'File ' . $fileName . ' not found';
}
return $output;
Once this is working, it can be used with any pair of files as long as files with the 'uk' and 'us' prefix exist and you send the un-prefixed file name to the snippet in the snippet tag:
[[!CorrectFile? &fileName=`footer`]
Now the two sites can have identical content as long as the URLs are different for the US and UK sites.
Once it's all working, you can also put the content in chunks with the uk and us prefix and make them static chunks. The content of static chunks is saved to a file. Specify the path to the directory with the files when you make the chunks static. That way users can edit the us and uk chunks in the Manager and their work will be saved to the files.
Actually, it will be easier and safer to create the static chunks first and make sure their content is saved to the correct directory. That way you never have to work on the files directly.