4

我目前有一个类似于这样的内容结构:

Content

- Home
  - Articles
    - Article 1
    - Article 2
  - About
  - Contact

- Users
  - User 1
    - Articles
      - Article 3
      - Article 4
  - User 2
    - Articles
      - Article 5

总之,我有一个网站,其页面显示指向其下方文章的链接(1 和 2)。我想允许用户注册并添加他们自己的文章。所以我有一个注册脚本,它创建一个umbraco用户,然后在上面的Users文件夹中创建User节点,每个用户在他们下面都有一个文件夹来添加他们自己的文章。该脚本将每个用户的起始节点设置为内容树中相应的用户节点。

为了说明,用户 1 只看到:

- User 1
  - Articles
    - Article 3
    - Article 4

属于用户的每篇文章都有一个类似“/Users/User 1/Articles/Article 3”的 url,但是,我希望能够在 Content/Articles 文件夹下创建一个虚拟节点,以便 url 为“/Articles/Article 3"。这可以做到吗?虚拟节点是正确的方法吗?

我也不喜欢用户文件夹仍然具有可导航 URL 的事实,即使它存在于内容树之外。也许有更好的方法呢?

谢谢,

4

1 回答 1

1

这可以做到(当然——它是 Umbraco)。

您可以这样做:

  • umbracoHideTopLevelNodeFromPath设置true在 web.config 中,并稍微改变你的结构:

    Site
      Home
      AllArticles
        Article 1
        Article 2
      About
      Contact
    Users
      User 1
        Articles
          Article 3
      User 2
      ...
    
  • 使用Manage hostnames onSite定义站点的主机名(右键单击节点)。

  • 配置从Site到的重定向Home(有一个重定向包)
  • Users部分应完全超出通常可导航的节点结构,因此不可见。
  • 文档类型AllArticles使用默认显示所有用户的所有文章的模板(按文档类型查询),当使用唯一标识文章的参数(或使用 url 重写时更漂亮)调用时,显示文章。
    • 当然,不同的用户可能会为他们的文章使用相同的名称,因此您将无法简单地使用文章的名称来识别它。
于 2012-07-24T19:01:41.537 回答