gpt4 book ai didi

drupal - PURL 和/或空格?

转载 作者:行者123 更新时间:2023-12-04 07:45:17 24 4
gpt4 key购买 nike

我的网站有一个供普通用户使用的部分,一个供管理员使用的部分,以及一个仅供匿名访问者使用的部分。站点的每个部分都需要更改 Drupal 设置以使用不同的主题、更改主要和次要链接、更改使用的 block 等。换句话说,用户体验因部分而异。

我可以通过使用 Drupal 的多站点、共享数据库并使用 settings.php 覆盖我需要的变量(即:menu_primary_links_source)来完成我需要的工作。但是,为了使事情从操作的角度更易于管理,并购买灵 active ,我正在考虑使用 PURL API (purl.module) 为某些站点部分的 URL 添加前缀,并让我的主题和自定义模块根据到当前的 PURL 前缀。

在我开始之前,我想确保我没有打折 Spaces.module。 Spaces 使用 PURL、Features 和 Context(我目前也用于我的站点)。我不完全理解 Spaces 到底是如何融入图片的。它会帮助我制作不同的网站部分,每个部分都有特定的配置和行为吗?还是直接依赖 PURL API 会更好?

最佳答案

Spaces-PURL-Context 难题。乐趣。我一直想写这篇长文来完成我的头。

什么是空间?

Spaces 是一个为您的站点创建覆盖配置容器的模块。它不是专门针对功能,而是关于能够与空间一起使用的任意数量的配置值,包括功能是否处于事件状态。 (活跃并不意味着模块被禁用,只是一些面向功能的东西被扫掉了,比如内容类型和空间感知 View 。

使用 Spaces 时,您需要决定要使用哪种类型的“桶”。 Open Atrium 使用 OG 和 User-shaped bucket,你需要的是一种基于用户角色的新型 bucket。为了理智起见,您甚至可能需要创建一个单独的模块来将用户角色定义为 Drupal 中更具体的东西,有点像 Spaces OG 需要依靠 Organic Groups 来实现一些概念。

什么是上下文?

上下文最终是一种页面装饰机制。你告诉它一些关于页面的东西,它会相应地修改页面。上下文不能修改 URL,反之亦然。功能定义上下文以告诉站点如何为该功能唯一地呈现给定页面,上下文和空间或上下文和 PURL 之间没有直接联系。

什么是 PURL?

PURL 是一种在 URL 中粘贴内容并将它们保留在那里直到你完成它们的方法。

这是如何粘合在一起的

具有 PURL 集成的空间基于以下两种情况之一触发:URL 或有关页面内容的某些内容。为了解释这一点,我将使用 Spaces OG 作为示例。

  • 你点击一个链接。该链接是使用 Spaces OG 正在寻找线索的 PURL 组件预先构建的。如果该 URL 对空格有意义,则会触发空格。
  • 除了选择退出 PURL 修改的链接之外,所有链接都保留 PURL URL 元素,这意味着 Space 很高兴,并在每次页面加载时重新触发。
  • Spaces OG 知道要检查节点的组从属关系。如果 Spaces 可以破解打开一个节点并找到一个组,它将触发该节点的 Space,使用 PURL 的修改版本 drupal_goto()重定向整个页面以实现 URL 一致性。这将胜过任何现有的 URL 结构。
  • 如果没有 URL 组件,并且节点没有组从属关系,则不会触发 Space。

  • 一旦 Space 被触发,所有的 Spaces 配置值都会被使用。这将意味着 Space 的预设默认值(您可以为每种 Space 类型设置多个默认 Space 配置)覆盖 Drupal 的默认值,而这些默认值又会被专门为 Space 保存的任何配置覆盖。在 Open Atrium 的情况下,这包括诸如组颜色、仪表板上的 block 和启用的功能之类的好东西。

    如果用户去访问一个特性提供的东西——一个节点、一个 View 等,任何与该节点、该 View 、任何模块提供的 URL 相关的上下文都可能会被触发,并开始使用 block 和主题进行操作为功能的内容定制页面。

    下一步

    正如我上面提到的,在我看来,您的第一步是尝试查看 Spaces OG,并将其重写为以用户角色而不是有机组为中心。除了从 Spaces OG 复制和粘贴一些内容外,您不必直接对 PURL 做太多事情。您可能希望在 Spaces 问题队列中发布这个想法,以便维护者可以看到它并给出指示。

    关于drupal - PURL 和/或空格?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3509116/

    24 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com