geeks4change / sitetree
该软件包最新版本(1.0.x-dev)没有提供许可证信息。
1.0.x-dev
2023-08-29 14:03 UTC
Requires
- php: ^8.1
- drupal/cacheable_types: ^1.0
Requires (Dev)
- drupal/core: ^9.5 || ^10.0
- drupal/domain: ^2@dev
- drupal/metatag: ^2@dev
- mglaman/drupal-test-helpers: ^1.0
This package is auto-updated.
Last update: 2024-08-29 14:07:21 UTC
README
原则
- 站点实现了主站子宇宙的概念。
- 站点可以是普通(不影响主站)或专用(将部分内容从主站中取出)。
- 站点总是通过菜单定义,而菜单层次结构反映在面包屑中。
- 例如,对于文章列表等,sitetree通过魔法URL实现通配符菜单项。
- 通过SiteTreeDomains模块,站点是域名
- 未来,组可能定义站点,无论是作为组内的子站点,还是在自己的域名上,可能通过groupcontentmenu模块。
- 未来,嵌入也可以定义为子站点。
- 注意:使用组作为域名内容的访问层今天应该是可能的。
设置规范URL
- 添加并启用元标签模块。
- 在全局配置中,在规范URL下,输入令牌[sitetree-domain:canonical-url]。
规则
- 每个域名可以与多个菜单关联
- 每个菜单可以被定义为活动、规范或专用。
- 这些菜单中必须有一个被定义为主菜单。
- 菜单项可以是普通链接,或通配符链接。
- (目前)对于通过菜单匹配的访问检查,链接是否为活动无关紧要(我们需要这用于通配符)。
- 普通(内部)链接匹配其URL。
- 通配符链接匹配多个内部URL。
- 示例:
/sitetree-wildcard?plugin=entity_view&view=articles&display=block
匹配该视图显示的所有实体。 - 如果其链接的菜单在该域名上标记为这样,域名匹配被称为规范或专用。
- 注意,一个菜单(比如:页脚菜单)可以与多个域名关联。
访问
- 基本
- 每个URL在默认域名上都有访问权限。
- URL可以通过其可配置菜单允许访问其他域名。即,如果一个URL在一个或多个其菜单(无论是显式还是通过通配符)上,则它可以在一个域名上访问。
- 除非一个包含URL匹配的菜单被标记为专用
- 那么URL只可以在具有这种专用匹配的域名上访问(不能在其他域名上,也不能在默认域名上)。
出站链接
- 那么URL只可以在具有这种专用匹配的域名上访问(不能在其他域名上,也不能在默认域名上)。
- 如果页面上的链接在当前域名上有访问权限,它将链接到那里,即链接到当前域名的URL。
- 如果链接不在当前域名上有访问权限,
- 如果存在,则链接到第一个规范匹配。
- 否则,链接到第一个具有访问权限的域名。
- 否则,链接到默认域名(如果存在)。
规范链接
- 每个页面都会收到一个规范链接(可能是到它自己,没有查询参数)。
- 如果存在,则链接到第一个规范匹配。
- 否则,如果可以访问,链接到域名本身。
- (如果没有访问权限,则会启动重定向,这不是一个问题。)
重定向
- 我们拒绝访问的每个页面都会有一个重定向。
- 重定向目标是出站链接中描述的。
面包屑
- 每个通过匹配获得访问权限的页面都会获得该匹配的面包屑,如果不在其中,还会加上首页。
首页
- 每个域的首页是其主菜单的第一个根链接。
SiteTreeDomains的限制
- 不支持类似 http://my.domain/drupal 的网站子目录。
- 不支持域名别名。