首页 > 解决方案 > 访问 Kentico 12 替代 URL 值

问题描述

我正在寻找一种方法来检索 kentico 中页面的替代 URL 值。

按照此示例在 Kentico 12 SP 中启用替代网址:https ://docs.kentico.com/k12sp/developing-websites/configuring-page-urls-on-mvc-sites/enabling-alternative-urls-for-pages

我现在被困在尝试以编程方式访问替代 URL 的值。任何关于我如何获得价值的指针都将不胜感激。

标签: kenticokentico-mvckentico-12

解决方案


var altLink = new DataQuery()
                .From("CMS_AlternativeURL")
                .Where("AlternativeUrlUrl = @URL", new QueryDataParameters { new 
DataParameter("@URL", altURL) })
                .Execute()
                ?.Tables[0]
                ?.AsEnumerable();

            if (altLink != null)
            {
                var altLinkFirst = altLink
                    .ToList()
                    .FirstOrDefault();
                page = new TreeProvider()
                    .SelectSingleDocument(altLinkFirst.Field<int>("AlternativeUrlDocumentID"));

所以 CMS_AlternativeURL 是 alturl 和 url 配对的表。然后我传入一个字符串作为别名路径,尝试在 treeprovider 中找到它,如果我找不到它,我运行它来链接替代 url(给定的字符串),如果它存在,它将返回与 documentId 的配对。

如果您尝试从树节点获取替代 URL,请运行数据查询,其中 AlternativeUrlDocumentID = 树节点的文档 ID。


推荐阅读