访问 Kentico 12 替代 URL 值
Access Kentico 12 Alternative URL value
我正在寻找一种方法来检索 kentico 页面的替代 URL 值。
按照此示例在 Kentico 12 SP 中启用备用网址:https://docs.kentico.com/k12sp/developing-websites/configuring-page-urls-on-mvc-sites/enabling-alternative-urls-for-pages
我现在无法尝试以编程方式访问备选 URL 的值。任何关于我如何获得价值的指示都将不胜感激。
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 是 table 与 alturl 和 url 的配对。然后我传入一个字符串作为别名路径,尝试找到它的 treeprovider 如果我找不到它我 运行 这个链接替代 url (给定的字符串)并且它将 return 与 documentId 配对(如果存在)。
如果您尝试从树节点获取替代 urls,运行 数据查询,其中 AlternativeUrlDocumentID = 树节点的文档 ID。
您是否尝试过使用 AlternativeUrlInfoProvider
class?
如果你有页面,你可以这样做:
var altUrl = AlternativeUrlInfoProvider.GetAlternativeUrls()
.Where("AlternativeUrlDocumentID", QueryOperator.Equals, page.DocumentID).FirstOrDefault();
我正在寻找一种方法来检索 kentico 页面的替代 URL 值。
按照此示例在 Kentico 12 SP 中启用备用网址:https://docs.kentico.com/k12sp/developing-websites/configuring-page-urls-on-mvc-sites/enabling-alternative-urls-for-pages
我现在无法尝试以编程方式访问备选 URL 的值。任何关于我如何获得价值的指示都将不胜感激。
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 是 table 与 alturl 和 url 的配对。然后我传入一个字符串作为别名路径,尝试找到它的 treeprovider 如果我找不到它我 运行 这个链接替代 url (给定的字符串)并且它将 return 与 documentId 配对(如果存在)。
如果您尝试从树节点获取替代 urls,运行 数据查询,其中 AlternativeUrlDocumentID = 树节点的文档 ID。
您是否尝试过使用 AlternativeUrlInfoProvider
class?
如果你有页面,你可以这样做:
var altUrl = AlternativeUrlInfoProvider.GetAlternativeUrls()
.Where("AlternativeUrlDocumentID", QueryOperator.Equals, page.DocumentID).FirstOrDefault();