【问题标题】:Linking to a Page that "contains" a specific Web Content Article in Liferay 6在 Liferay 6 中链接到“包含”特定 Web 内容文章的页面
【发布时间】:2013-04-25 23:52:08
【问题描述】:

我正在为一个由 Liferay EE 6.0 SP1 提供支持的站点构建一个 Portlet,它将根据用户当前正在查看的内容建议相关或其他有趣的内容。

例如,假设用户在一个页面上,该页面包含一个显示 Web 内容文章 5 的 Web 内容显示 portlet。我的 portlet 将包含指向用户可以查看 Web 内容文章 6 和 7 的页面的 HTML 链接(其中包含被确定为与 Web Content 5) 中的内容相似的内容。

问题出现是因为我不希望我的 portlet 显示指向 Web 内容文章 6 和 7 的 HTML 链接(假设这样的概念甚至是有效的),我希望我的 portlet 显示链接到上的页面显示哪些项目(即,指向包含配置为显示这些 Web 内容文章的 Web 内容显示 portlet 的页面的链接)。

有没有办法:

  • 将 Web 内容文章与页面相关联,这样如果我有前者,我就可以获取后者?
  • 或者,确定包含显示 Web 内容文章的 portlet 的页面?

或者,如果有一种方法可以获取与特定页面关联的所有 portlet 实例,那么这也可能会导致解决方案。

【问题讨论】:

    标签: portlet liferay-6


    【解决方案1】:

    解决此问题的一种方法似乎是将“链接到页面”控件添加到 Web 内容文章的结构中。内容管理员可以使用它在 Web 内容文章和页面之间创建多对一关系。

    不过,此解决方案存在问题,因为在编辑 Web 内容时选择的页面没有任何限制。

    例如,内容管理员可能会创建标题为“我们的历史”的网络内容文章,但将“产品”页面指定为该文章的“页面链接”控件的值。当相关内容 portlet 呈现“我们的历史”文章时,它将创建一个指向“产品”页面的超链接,在这种情况下,该页面不会在任何地方显示“我们的历史”文章。

    可以说,这可以被视为一项功能,但也许有更好的方法来做到这一点。

    【讨论】:

    • 将此标记为已接受的答案,因为这是我们最终采用的解决方案。
    【解决方案2】:

    恐怕这是 Liferay 上尚不存在的功能。至少在 Liferay 页面上,有一个关于同一主题的feature request。讨论日期是 2011 年 3 月,所以可能很快就会有事情发生:)

    【讨论】:

      【解决方案3】:

      我们目前正在考虑的另一个解决方案是为门户创建一个名为“XML”的自定义视图模式(即“VIEW”、“PRINT”等)。当门户网站检测到浏览器正在请求 XML 模式(类似于how Sitecore detects which device to use)时,它会绕过主题,所有支持这种 XML 模式的 portlet 都会以 XML 格式呈现其内容。

      输出可能如下所示:

      <?xml version="1.0" encoding="utf-8" ?>
      <portal>
        <portlet id="..." title="..." ...>
          <JournalArticle>
            <uuid_>...</uuid_>
            ...
          </JournalArticle>
          ...
        </portlet>
      </portal>
      

      然后,一个周期性的过程将以 XML 模式对站点进行爬网并更新 Lucene 索引。

      这种方法的明显问题是它要求我们在站点上使用的每个 portlet 都是定制开发的。由于各种原因(有些人会称其为过于雄心勃勃的创意部门;我称其为现有功能严重不足),我们最终可能不得不走这条路。

      【讨论】:

        猜你喜欢
        • 2012-01-13
        • 1970-01-01
        • 2016-05-18
        • 2011-09-28
        • 2016-04-15
        • 2017-06-16
        • 1970-01-01
        • 2021-04-20
        • 2022-08-05
        相关资源
        最近更新 更多