通过虚荣URL查询Tridion页面

时间:2012-10-16 22:43:24

标签: tridion

在我们的应用程序设计中,我们希望向用户介绍VanityURL概念。 VanityURL将是页面的自定义元。通过URL查询页面的代理api不再起作用,因为虚荣URL不是PAGE表中的那个。我们提出的解决方案是使用CustomMetaKeyCriteria和CustomMetaValueCriteria查询页面ID,它对我们有用。

我希望有专家来评估这个解决方案,并提供一些意见。

感谢。

1 个答案:

答案 0 :(得分:3)

好问题。我会谨慎查询每个页面请求的元数据。您可能还需要小心将此数据存储为页面元数据,因为您需要确保这些值在出版物中的所有页面/ URL中都是唯一的。

要解决唯一性问题,您可能需要创建一个事件系统,在保存页面时根据某种索引文件检查/保存值。

该文件可能如下所示:

<?xml version="1.0" encoding="UTF-8"?>
<VanityURLS PublicationID="tcm:0-33-1">
    <Page ID="tcm:3-24-64">
        <Vanity>/someURL.html</Vanity>
        <Vanity>/someotherURL.html</Vanity>
    </Page>
    <Page ID="tcm:3-25-64">
        <Vanity>/someURL.html</Vanity>
        <Vanity>/someotherURL.html</Vanity>
    </Page>
<VanityURLS>

然后,您可以定期发布该索引文件,并使用它来查找请求的URL,并将它们映射到页面URI。然后,您可以通过其URI加载页面,或者如果您想要使用现有代码,则可以使用链接API从URI获取URL。然后,您可以将值传递给GetPageMetaByURL()方法。