xini/silverstripe-localedomains

此包已被放弃,不再维护。未建议替代包。
关于此包的最新版本(1.1.0)没有可用的许可信息。

允许为配置的每种语言设置一个域名,并根据页面所在的区域设置强制翻译页面到对应的域名。

安装: 124

依赖项: 0

建议者: 0

安全: 0

星标: 0

关注者: 3

分支: 1

开放问题: 0

类型:silverstripe-module

1.1.0 2016-06-10 22:48 UTC

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;
}