Pimcore多语言站点静态路由

问题描述 投票:0回答:3

我最近刚刚开始在工作中使用 Pimcore,现在我正在进行一个由三种语言组成的项目,每种语言都位于各自的树中。

今天网站的 URL 是 my-site.com/LANGUAGE/sub-page 例如:my-site.com/se/about

但是我们想要的是 LANGUAGE.my-site.com/sub-page。 例如:se.my-site.com/about

我尝试过使用静态路由工具,但根本无法让它工作,而且我对 pimcore 的了解有些有限。我找到了有关静态路由的 Pimcore 文档(HERE),但我发现它没有那么有用。

我需要一个控制器和一个操作来处理这个问题吗?还是可以简单地用静态路由工具来完成?

编辑: 我尝试在右键单击站点时使用“域工具”。但这只有当我通过设置 127.0.0.1 连接到 us.MYSITE.com 来更改计算机的主机文件时才有效。当网站上线时这不会成为一个问题吗?由于用户没有我的主机文件。 这就是我走静态路由之路的原因。

php zend-framework routes pimcore
3个回答
4
投票

Pimcore 中的“站点”功能可以让您执行此操作。

文档页面描述了如何设置它,但我会快速解释它:

您基本上像这样设置文档树,为每种语言创建一个常用文档:

Document Tree

在此之后,您需要做的就是通过右键单击并单击“用作站点”将这些文档更改为“站点”(图片取自文档):

Multisites in Pimcore

如您所见,弹出窗口现在为您提供了一个字段,您可以在其中添加和编辑新域名以及子域。根据您使用的 Pimcore 版本,这可能看起来有点不同,文档显示的是旧版本。

这可能是您在创建站点后在新版本中看到的内容,右键单击它并转到“编辑站点”:

Pimcore Site options

这提供了一种稍微更好的方式来管理您的域和其他域,您不必通过编辑逗号分隔列表来添加其他域,现在文本区域中的每一行都类似于一个域。因此,您需要做的就是输入您的语言子域作为主域。

该站点现在的行为与“主页”(文档根目录中的站点)完全相同,而站点 - 功能的行为类似于您要设置的静态路由。

现在您还需要做的就是设置您的服务器以将子域路由到您的 pimcore - 文件夹,这个答案可能会帮助您。正如您提到的,主机文件不会有问题,因为它们无论如何都存储在服务器上,用户不需要这些,因此使用“站点”功能绝对是解决此问题的方法通过静态路由 - 工具。


1
投票

多语言网站的常见方法是为每种语言创建单独的文档树并设置内容主文档(称为内容继承功能)。然后,对于每种其他语言,您可以创建“站点”并设置不同的子域。

- home (main launguage, main domain)
  - subpage_1
  - subpage_2
  - de (site = de.example.com)
    - subpage_1 (master-document = /home/subpage_1)
    - subpage_2 (master-document = /home/subpage_2)

0
投票

我已经为我的 2 个网站使用了 pimcore 多站点功能。 www.site1.com -- 站点 1 作为站点(主网站) www.site2.com -- 站点 2 作为站点。

文档运行良好。但我不确定资产和对象将如何处理。 具体问题如下: 第一个网站的一切都运行良好,但是当我在 pimcore 管理中上传第二个网站(站点 2)的任何资产时,图像将进入主网站 /public/var/assets/ 路径,该路径无法从 www.site2.com 访问 。这种情况该如何处理。

© www.soinside.com 2019 - 2024. All rights reserved.