xini / silverstripe-localedomains
此包已被放弃,不再维护。未建议替代包。
关于此包的最新版本(1.1.0)没有可用的许可信息。
允许为配置的每种语言设置一个域名,并根据页面所在的区域设置强制翻译页面到对应的域名。
1.1.0
2016-06-10 22:48 UTC
Requires
- silverstripe/cms: ~3.1
- silverstripe/framework: ~3.1
- silverstripe/translatable: ~2.0
This package is auto-updated.
Last update: 2023-04-15 00:06:25 UTC
README
这是一个存档项目,已不再维护。请不要在此仓库中提交问题或拉取请求。如果您希望继续开发此代码,我们建议您进行分支操作或与我们联系。
简介
允许为配置的每种语言设置一个域名,并根据页面所在的区域设置强制翻译页面到对应的域名。
要求
- SilverStripe ~3.0
- 可翻译 ~1.0
用法
将以下条目添加到您的 _config.php 并使用您的域名和区域进行配置
LocaleDomains::addLocaleDomain('de_DE', 'www.germandomain.de');
LocaleDomains::addLocaleDomain('en_GB', 'www.englishdomain.com');
LocaleDomains::addLocaleDomain('fr_FR', 'www.frenchdomain.fr');
要获取根据目标页面区域设置的定制链接到域名的代码,请将以下代码添加到您的 Page.php 中
public function Link($action=null) {
$link = parent::Link($action);
if($this->hasExtension('Translatable') && $this->hasExtension("LocaleDomainDecorator")){
// check base url and set localised domain if necessary
$currHost = Director::protocolAndHost();
$localeHost = Director::protocol().LocaleDomains::getHostFromLocale($this->Locale);
if ($currHost != $localeHost) {
$link = Controller::join_links($localeHost, $link);
}
}
return $link;
}