mirror of
https://github.com/silverstripe/silverstripe-subsites
synced 2024-10-22 11:05:55 +02:00
Ensure URL segment field type before using its API, and add docs around subsite and fluent domain compatibility
This commit is contained in:
parent
d1fc84d15c
commit
3b8207d70c
@ -48,3 +48,14 @@ to speak to your website administrator or hosting provider to facilitate this.
|
||||
|
||||
|
||||
You can simulate subsite access without setting up virtual hosts by appending ?SubsiteID=<ID> to the request.
|
||||
|
||||
### How do Subsite domains work with Fluent domains?
|
||||
|
||||
The Subsites module and Fluent translation module both provide the concept of defining "domains" and let you
|
||||
configure the host name for it. This functionality is essentially performing the same duty in both modules.
|
||||
|
||||
In the "URL segment" field for CMS pages both Subsites and Fluent will add their context to the value. If you
|
||||
have a Subsite domain configured but no Fluent domain, Fluent will respect the existing domain and add its
|
||||
locale context to the value. If you have a Subsite domain configured and a Fluent domain configure, Fluent will
|
||||
use its own domain host name value, and the Subsite domain value will be lost. For this reason, you will need
|
||||
to ensure that you use the same host name in both Subsite and Fluent domain entries.
|
||||
|
@ -3,6 +3,7 @@
|
||||
namespace SilverStripe\Subsites\Extensions;
|
||||
|
||||
use Page;
|
||||
use SilverStripe\CMS\Forms\SiteTreeURLSegmentField;
|
||||
use SilverStripe\CMS\Model\SiteTree;
|
||||
use SilverStripe\Control\Controller;
|
||||
use SilverStripe\Control\Director;
|
||||
@ -150,6 +151,7 @@ class SiteTreeSubsites extends DataExtension
|
||||
// replace readonly link prefix
|
||||
$subsite = $this->owner->Subsite();
|
||||
$nested_urls_enabled = Config::inst()->get(SiteTree::class, 'nested_urls');
|
||||
/** @var Subsite $subsite */
|
||||
if ($subsite && $subsite->exists()) {
|
||||
// Use baseurl from domain
|
||||
$baseLink = $subsite->absoluteBaseURL();
|
||||
@ -163,7 +165,7 @@ class SiteTreeSubsites extends DataExtension
|
||||
}
|
||||
|
||||
$urlsegment = $fields->dataFieldByName('URLSegment');
|
||||
if ($urlsegment) {
|
||||
if ($urlsegment && $urlsegment instanceof SiteTreeURLSegmentField) {
|
||||
$urlsegment->setURLPrefix($baseLink);
|
||||
}
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user