gpt4 book ai didi

tridion - DD4T 和动态链接

转载 作者:行者123 更新时间:2023-12-02 17:07:19 24 4
gpt4 key购买 nike

使用 DD4T 动态解析 View 中的组件链接 - 不是使用 ResolveRichText() 在富文本字段内 - 但如果组件 A 有一个组件链接字段,其中包含指向组件 B 的链接,并且位于您想要的 View 中渲染页面组件 B 的 url 发布于 ...

解决方案中没有任何帮助程序 - 对吗?

对 ASP.NET MVC 3 有点生疏,所以纯粹主义者把目光移开,但下面的方法有效,我只需要创建 Html Helper。

@using DD4T.Providers.SDLTridion2011sp1;

@{
var linkFactory = new LinkFactory();
linkFactory.LinkProvider = new TridionLinkProvider();
var link = linkFactory.ResolveLink(Model.Component.Fields["related_link"].LinkedComponentValues[0].Id);
}

虽然有点奇怪,但项目中还没有为此提供帮助。

干杯

最佳答案

我认为你是对的,这应该在框架中。但幸运的是,添加这个非常容易。只需创建一个带有扩展方法的辅助类,如下所示:

namespace MyApp.Helpers
{
public static class ModelHelper
{
public static string GetResolvedUrl(this IComponent component)
{
return GetResolvedUrl(component, null, null);
}
}
}

现在,如果您确保您的 View 使用 namespace MyApp.Helpers,则可以在组件 View 中执行此操作:

@model DD4T.ContentModel.Component
@using MyApp.Helpers
<a href="@Model.GetResolvedUrl()">click here</a>

我们可能很快会将其纳入框架中。

关于tridion - DD4T 和动态链接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9721349/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com