symiote / silverstripe-multisites
此包的最新版本(5.2.6)没有提供许可信息。
允许通过单个站点树管理多个网站。
5.2.6
2020-10-20 03:21 UTC
Requires
- silverstripe/admin: ^1.3
- silverstripe/cms: ~4.0
- symbiote/silverstripe-multivaluefield: ~5.0
Requires (Dev)
- phpunit/phpunit: ^5.7
Replaces
- dev-master / 5.2.x-dev
- 5.2.6
- 5.2.5
- 5.2.4
- 5.2.3
- 5.2.2
- 5.2.1
- 5.2.0
- 5.1.2
- 5.1.1
- 5.1.0
- 5.0.3
- 5.0.2
- 5.0.1
- 5.0.0
- 4.3.0
- 4.2.0
- 4.1.1
- 4.1.0
- 4.0.x-dev
- 4.0.4
- 4.0.3
- 4.0.2
- 4.0.1
- 4.0.0
- 3.0.1
- 3.0.0
- 2.0.x-dev
- 2.0.4
- 2.0.3
- 2.0.2
- 2.0.1
- 2.0.0
- 1.2.x-dev
- 1.2.5
- 1.2.4
- 1.2.3
- 1.2.2
- 1.2.1
- 1.2.0
- 1.1.x-dev
- 1.1.2
- 1.1.1
- 1.1.0
- 1.0.x-dev
- 1.0.5
- 1.0.4
- 1.0.3
- 1.0.2
- 1.0.1
- 1.0.0
- dev-feature-cascading-themes
- dev-fix-composer
- dev-feature-ss4-upgrade
- dev-aware
- dev-aucwp
This package is auto-updated.
Last update: 2024-08-28 06:56:49 UTC
README
概述
允许通过单个站点树管理多个网站。
这是Subsites模块的替代模块;它避免了跟踪任何当前网站的会话,并且在运行时不会对查询进行任何修改以更改查询的“网站”上下文
与SilverStripe 4.0.x兼容
- 请参阅4.0.x以了解3.5兼容性
- 请参阅1.2.x版本以了解3.1兼容性
升级到SS4
以下重要变更已发生
- 现在必须在项目配置中显式配置主题。在yml配置中设置
Site.available_themes
。这必须是一个themename: 标签的映射 - 由于对资产管理的基本更改,目前不支持特定于站点的资产文件夹。这将在一段时间内进行审查
要求
- SilverStripe 4.*
- MultivalueField
安装
- 添加模块和multivaluefield模块
- 运行
dev/build
设置站点(以及附加站点)
- 在CMS中转到页面部分,然后点击网站
- 在“主机”字段中输入站点的完整路径,不包含
http://
引导 - 例如,开发站点的mysitedomain.com
或localhost/sub/folder
- 保存
- 要添加新站点,点击页面部分;您应该有一个“添加站点”按钮
- 输入有关新站点的详细信息,其中主机字段是最重要的
配置
Site:
available_themes:
name: Label
为了支持级联主题,在配置中为“名称”提供以逗号分隔的主题列表。
资产管理
注意:由于对资产管理层的更改,目前此功能在SS4中不工作。一旦更清晰,此功能将被重新启用。
您可以选择在每个网站根assets/目录的子文件夹中管理每个网站的资产。在您的mySite/config.yml文件中添加以下扩展名,并运行?flush=1。在CMS中编辑网站时,您现在可以选择包含该站点的所有资产的assets/子文件夹。当保存网站或访问具有上传字段的cms页面时,此文件夹将自动创建。
FileField: extensions: - MultisitesFileFieldExtension HtmlEditorField_Toolbar: extensions: - MultisitesHtmlEditorField_ToolbarExtension
通过HTMLEditor上传的文件现在将上传到assets/yoursite/Uploads。但是,如果您在cms中有自定义上传字段,则需要明确添加以下配置。
$fields->fieldByName('Root.Main.Image')->setFolderName('images/page-images')->useMultisitesFolder();
上述调用useMultisitesFolder()将更改文件夹名称从'images/page-images'到'currentsitesubfolder/images/page-images'
已知问题
当链接到属于不同站点的页面时,SiteTree::Link()将返回一个错误的链接,因为它在前面添加了基本URL。目前解决此问题的最佳方法是实施以下代码在您的Page.php(模型类)中。
/** * Overrides SiteTree->Link. Adds a check for cases where we are linking to a page on a * different site in this multisites instance. * @return String **/ public function Link($action = null) { if($this->SiteID && $this->SiteID == Multisites::inst()->getCurrentSiteId()) { return parent::Link($action); } else { return $this->RelativeLink($action); } }