如何在C# TBB中从类别名称中获取关键字?

2024-03-30

我正在尝试使用 C# TBB 获取类别中存在的关键字,以使用以下 DWT TBB 中的输出。

为此,我有一个带有类别字段的组件。

我正在尝试编写以下 C# TBB 来获取关键字值。

<%@Import NameSpace="Tridion.ContentManager.Templating.Expression" %>        

try
{
    string className = package.GetValue("Component.Fields.title");  
    KeywordField keywordField = package.GetKeywordByTitle(className);

    package.PushItem("Class", package.CreateStringItem(ContentType.Text, keywordField.Value.Key));


}
catch(TemplatingException ex)
{
    log.Debug("Exception is " + ex.Message);
}

但我收到以下编译错误。

无法编译模板,因为:错误 CS0246:找不到类型或命名空间名称“KeywordField”(您是否缺少 using 指令或程序集引用?)错误 CS1061:“Tridion.ContentManager.Templated.Package”不包含找不到“GetKeywordByTitle”的定义,并且找不到接受“Tridion.ContentManager.Template.Package”类型的第一个参数的扩展方法“GetKeywordByTitle”(您是否缺少 using 指令或程序集引用?)

请建议我如何实现它?

提前致谢


Jeremy 建议您学习 API,我为您提供了从类别中获取关键字的示例。希望它可以帮助

包含文件

using Tridion.ContentManager;
using Tridion.ContentManager.CommunicationManagement;
using Tridion.ContentManager.Templating.Assembly;
using Tridion.ContentManager.ContentManagement;
using Tridion.ContentManager.ContentManagement.Fields;
using Tridion.ContentManager.Templating;

示例代码,您可以根据您的要求在此处使用循环中的键和值。

string catID = package.GetByName("CategoryID").GetAsString();
        TcmUri catURI = new TcmUri(int.Parse(catID), ItemType.Category, PubId);
        var theCategory = m_Engine.GetObject(catURI) as Category;
        catKeywords = GetCatKeywords(theCategory);
        string strSelect = "<select>";
        foreach (Keyword k in catKeywords)
        {

        k.Key  // Keyowrd key
        k.Value // KEyword Value

        }

//keyword list  
private IList<Keyword> GetCatKeywords(Category category)
{
    IList<Keyword> keywords;

    if (!Utilities.IsNull(category))
    {
        Filter filter = new Filter();
        filter.BaseColumns = ListBaseColumns.IdAndTitle;
        keywords = category.GetKeywords(filter);

        if (!Utilities.IsNull(keywords))
        {
            return keywords;
        }
    }

    return null;
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何在C# TBB中从类别名称中获取关键字? 的相关文章

随机推荐

  • Swing 应用程序 -> 拖放到桌面/文件夹

    当 Mac 的 Finder Windows 的 Explorer 将 Swing 应用程序中的特定项目拖放到桌面和文件夹时 如何获取我放弃的前路径 我很高兴教给我必要的课程和方法 这是一个小程序 但它适用于任何框架或窗口 public c
  • 根据内容拆分 .txt 文件

    我有一个巨大的 txt文件如下 small file content 1 br small file content 2 br small file content n br 我如何将其分割成n个文件 最好通过bash Use csplit
  • 将 models.py 拆分为多个文件

    我正在尝试拆分models py我的应用程序分成几个文件 我的第一个猜测是这样做 myproject settings py manage py urls py init py app1 views py init py models in
  • 如何声明两个列表具有相同的长度?

    我需要知道如何比较 Prolog 中两个列表的长度 这是我到目前为止所拥有的 sum N1 N2 checklength N1 N2 checklength N1 N2 L1 is length N1 What L2 is length N
  • 如何使用 selenium ide 专注于新窗口?

    我正在尝试使用 selenium ide 来复制操作 该操作是单击打开新窗口的链接 如何让 selenium ide 聚焦在新窗口而不是另一个窗口上 它对我不起作用 选择窗口 为此 您需要使用selectWindow windowName命
  • 创建 JSON 并编辑复杂查询 (oracle 11g)

    我有 4 个不同的表 table price product 包含与产品相关的信息和 他们的价格 table price list 包含与价目表相关的信息 prices per client 包含与价格相关的信息 不同的客户给出特定的产品
  • 角度范围绑定 &(&) 是一次性绑定吗?

    角度范围绑定 是一次性绑定吗 我看到它被称为单向绑定 但它也是一次性的吗 假设我有
  • 在 Java 中嵌入树状图

    我正在寻找一个能够绘图的图书馆树状图 http en wikipedia org wiki DendrogramJava中的数据 不计算它们 我可以自己做 你有任何线索吗 已经尝试通过谷歌搜索它 但没有找到任何不独立的东西 虽然我需要将生成
  • 使用 Java Graphics2D API 在 TextLayout 中将文本右对齐

    因此 我正在使用 Java 教程中的代码来绘制一段文本 但我不知道如何将文本与右边距对齐 我刚刚包括attstring addAttribute TextAttribute RUN DIRECTION TextAttribute RUN D
  • 如何使用 Hibernate 测试表是否为空

    使用 Hibernate 确定表是否为空或非空的最有效方法是什么 换句话说 该表是否有 0 行或多于 0 行 我可以执行 HQL 查询select count from tablename然后检查结果是否为 0 或非 0 但这不是最佳选择
  • Mysql errno 150 尝试使用外键引用创建表

    我正在尝试在 mysql 中创建一个带有外键引用的表 如下所示 在数据库A中 CREATE TABLE replication id varchar 255 NOT NULL PRIMARY KEY uid varchar 255 NOT
  • RESTful servlet URL - web.xml 中的 servlet 映射

    我觉得这是一个常见问题 但我研究过的都还没有起作用 在我的 web xml 中 我有所有 REST 调用的映射
  • pip3 安装 pyautogui 失败,错误代码 1 Mac OS

    我尝试安装 autogui python 扩展 pip3 install pyautogui 此安装尝试会导致以下错误消息 Collecting pyautogui Using cached PyAutoGUI 0 9 33 zip Com
  • Blazor 继承 ChildContent RenderFragments?

    假设我们有一个基本组件ParentComponent razor div ChildContent div code Parameter public RenderFragment ChildContent get set 可以这样使用
  • IOS 将 URL 字符串转换为 NSString?

    我在转换时遇到问题URL string 我从 XML 文件中提取到NSString The URL string看起来像这样 看起来很奇怪 但确实如此URL format 3CTEXTFORMAT 20LEADING 3D 222 22 3
  • Xcode 多个静态库和重复符号

    我正在开发一个 iPad 应用程序 它依赖于两个静态实用程序库 libBFSDK 和 libBetfair Platform 这两个静态库都包含 AFNetworking 当我尝试在 iPad 应用程序中包含两个静态库时 我收到如下链接错误
  • Docker-Compose 挂载卷覆盖主机文件

    我正在从 CMS 装载一个目录 其中包含 Docker 容器内的内容文件 安装绝对有效 CMS 获得了一些基本文件 这些文件在构建过程中被复制到容器中的已安装文件夹中 然后它将被挂载到主机上的某个目录中 现在容器中的文件也位于主机上 我可以
  • HDBSCAN Python 选择簇数

    是否可以在Python中的HDBSCAN算法中选择簇的数量 或者唯一的方法是使用输入参数 例如 alpha min cluster size Thanks UPDATE 这是使用 fcluster 和 hdbscan 的代码 import
  • 角度过滤器:如何进行预过滤,以便角度过滤器仅考虑整个数据对象的一部分

    我有一个包含多个列的大型数据表 从 json api 获取数据 并且想要实现多个过滤器 执行以下操作 选择应考虑哪个数据列的选项 包含 thead 选项的下拉列表 my columnFilter 进而 用于过滤特定数据部分的输入字段 my
  • 如何在C# TBB中从类别名称中获取关键字?

    我正在尝试使用 C TBB 获取类别中存在的关键字 以使用以下 DWT TBB 中的输出 为此 我有一个带有类别字段的组件 我正在尝试编写以下 C TBB 来获取关键字值 try string className package GetVa