gpt4 book ai didi

tridion - 为什么我的 Tridion 二进制链接在使用 REL 时不显示?

转载 作者:行者123 更新时间:2023-12-04 14:47:12 24 4
gpt4 key购买 nike

我正在生成一个 Tridion 二进制链接,如下所示:

  • Razor TBB 为二进制链接生成链接解析器语法
  • 链接解析器 TBB 生成 TCDL。

  • 输出作为输出类型 REL 的动态组件模板发布。发布目标指定 ASP.NET。

    我在代理数据库的 COMPONENT_PRESENTATIONS 表中看到的输出如下:
    <tcdl:Link type="binary" origin="tcm:0-0-0" 
    destination="tcm:34-669" templateURI="tcm:0-0-0"
    linkAttributes="" textOnFail="true" addAnchor=""
    variantId="">Document2</tcdl:Link>

    所以你至少希望看到文本“Document2”

    如果我手工制作一个二进制链接控件 <tridion:BinaryLink..../>这工作得很好,但是上面列出的 TCDL 没有生成可见的输出。

    可能出什么问题了?接下来我应该调查什么?

    最佳答案

    我们注意到同样的行为,即链接解析器 TBB 不会为二进制类型生成正确的情况。它被生成为 <tcdl:Link type="binary" ../>而不是 <tcdl:Link type="Binary" ../> (注意小写 b 而不是大写 B ,很难捕获)。 REL TCDLTagRender 区分大小写并且不解析带有小写类型的 tcdl:link :binary 并且您将在 cd 日志文件中看到警告消息(假设您将日志级别设置为警告或调试)。

    "WARN  LinkTagRenderer - Link type does not exist."

    解决方法是替换小写 binary 的输出大写 Binary通过引入新的 TBB。我们将此作为 TBB 的一部分,以解决任何多媒体链接(如 pdf、doc 等)的 RTF 字段二进制链接解析。

    在 TBB 中,您将小写二进制替换为二进制,如下所示。

     string output = package.GetValue(Package.OutputName);
    output = output.Replace("type=\"binary\"", "type=\"Binary\"" );

    关于tridion - 为什么我的 Tridion 二进制链接在使用 REL 时不显示?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14469008/

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