问题标签 [tridion2009]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
4 回答
895 浏览

tridion - SDL Tridion 2009:通过 TOM API(通过互操作)创建组件失败

在使用 .NET/COM 互操作通过 TOM API 创建组件时遇到问题。

实际问题:

我有 550 个组件要通过自定义页面创建。我能够创建 400 - 470 个组件,但之后它会失败并通过一条错误消息说

任何想法/建议,为什么它会失败?

或者

Tridion 2009 有什么限制吗?

更新 1:

根据@user978511 请求,以下是Application事件日志中的错误:-

更新 2:

@Chris:这是我的常用函数,通过传递参数列表在循环中调用。这里使用的是互操作 dll。

提前致谢。

0 投票
3 回答
1382 浏览

tridion - Tridion:批量发布时不会部署二进制组件

我正在使用 Tridion 5.3。

我的网页附有 100 多个 pdf 链接。当我发布该页面时,即使我得到每个 pdf 的 URL,也不是所有的 pdf 都被发布,例如"/pdf/xyzpdfname_tcm8-912.pdf". 当我单击这些链接时,我收到 404 错误。对于我收到错误的相同 pdf 组件,如果我通过一次附加 5 到 10 个 pdf 来发布它们,并且没有 404 错误并且一切正常。但这不是我需要的功能。如果我批量发布它们,有谁知道为什么 Tridion 无法部署二进制内容?

engine.PublishingContext.RenderedItem.AddBinary(pdfComponent).Url用来获取pdf url。

0 投票
3 回答
1002 浏览

.net - Tridion:发布时无法加载 .Net dll

我正在使用 .Net dllNewtonsoft.Json in my C# TBB来处理组件并生成 Json 数据。我已经在 中添加了这个 dll GAC[Global Assembly Cache],它也可以正常工作。但有时它不起作用,我在发布时收到以下错误:

JScriptException: Expression 'RenderComponentPresentation()' had error 'Could not load file or assembly 'Newtonsoft.Json, Version=4.0.5.0, Culture=neutral, PublicKeyToken=30ad4fe6b2a6aeed' or one of its dependencies. The system cannot find the file specified.'

但是当我在 Tridion 中预览页面时,它工作正常。为了解决这个问题,我们重新启动了Tridion Services,重新启动后我们发布了它可以正常工作的页面。但是这个问题不断地一次又一次地出现。有没有办法永久解决这个问题?

最近,当我再次发布同一页面时,当它已经在发布过程中时,我可以重现问题。第二次发布尝试返回上述错误,但第一次发布尝试在第二次发布尝试失败后完成并返回Success。知道为什么会出现这种奇怪的行为。

0 投票
2 回答
197 浏览

tridion - Tridion 2009 SP1 TcmUploadAssembly 无法覆盖现有的 TBB

我在构建后事件中使用 TcmUploadAssembly 实用程序,但从该工具收到以下错误。

错误 1 ​​名称对于以下类型的项目必须是唯一的:此文件夹中的模板构建块及其蓝图上下文。冲突的来源或来源:tcm:5-200-2048。C:\Projects\Project1\src\Tridion\TBBs\EXEC 复合模板

给定的 TcmId 指的是存储在 Tridion 中的程序集,我期望这是因为那是我要覆盖的。在过去,这“刚刚奏效”。我错过了什么吗?

笔记:

  1. 我的用户是管理员
  2. Tridion 实例在我的网络上,所以我在上下文中使用凭据。
  3. 我已经通过命令行指定了所有设置(没有使用 config.xml)

有任何想法吗?

0 投票
3 回答
979 浏览

tridion - TDSE.GetObject 无法解析带有点的 WebDAV URL

有人使用以下功能遇到异常吗?

似乎 webdav 的最后一段是否包含一个点,那么该方法会抛出异常。

例如

tmpFolderWebDavURL = "/webdav/test_publication/2.2 folder name"-失败抛出异常

tmpFolderWebDavURL = "/webdav/test_publication/22 folder name"-作品

tmpFolderWebDavURL = "/webdav/test_publication/2.2 folder name/sub_folder"-作品

例外

0 投票
2 回答
288 浏览

c# - Tridion 2009 - 使用互操作 - 是否有可能为同名添加多个 setConditions

我被小问题困住了。

我想为PublicationTarget的同名添加多个 setConditions 。这是使用互操作 dll。

为此PublicationTarget,我想使用暂存和实时目标进行过滤,我尝试了所有方法但没有用。

请建议,
1.通过 xis 可能,最好的实现方法是什么?

我尝试了这种方法,但没有运气;-

List<string>

0 投票
3 回答
149 浏览

tridion - Tridion 2009 - 在自定义页面上使用互操作 - 用户应该充当类似管理员的角色

我有一个关于使用 Interops dll 处理自定义页面上的用户访问的说明。

以下是场景:-

  1. ABC user没有任何访问权限CM (注意:ABC 用户是 tridion 用户)
  2. 如果 ABC 用户访问自定义页面,用户应该被模拟为管理员用户
  3. 现在 ABC 用户将创建/更新组件/页面并发布组件/页面
  4. 但问题是组件/页面的历史显示名称的admin user名称,但我想用名称记录更改ABC user

我怎样才能做到这一点?
或者
在不使用模拟的情况下,有没有最好的方法来实现这一点?

0 投票
2 回答
366 浏览

tridion - 如何在 SDL Tridion 2011 SP1 中将嵌入模式作为内容模式的下拉列表传递

我正在尝试在 SDL Tridion 中创建一个模式来满足这些要求。

我有两个主要领域:

  1. ABCD,它有一个子字段为“XYZ”
  2. AAAA,它有两个子字段,即“名称”和“值”

两个主要字段都是可重复的,并且应该是可移动的。

示例模式可能看起来符合要求:

主要字段 AAAA 和 ABCD 应该从一个移到另一个。

假设我使用创建的架构创建一个组件,第一个主要字段为“AAAA”,第二个字段为“ABCD”,那么我应该能够将 ABCD 移动到 AAAA 上方。

我尝试创建一个包含两个字段的嵌入式模式:

  1. 选择主字段:作为列表,我选择 ABCD 和 AAAA 作为 TEXT 类型。

  2. 文字:输入文字。

将此模式作为内容模式的一部分添加为多值,允许“重新发布和重复”。

面临的问题:

  • 由于两个主要字段的字段不通用,我无法为其输入数据,并且两个主要字段的公共子字段不能满足需要..

需要的解决方案:

  • 如果我使用必填字段创建两个名为“ABCD”和“AAAA”的嵌入式架构,我可以将这些架构添加为主要内容架构中下拉列表的一部分吗?

  • 如果用户选择嵌入模式“ABCD”,它应该只显示“XYZ”字段。如果用户选择“AAAA”,我应该将其子字段显示为“名称”和“值”。

如果这不可行,您能否建议满足要求的最佳解决方案?

我将 DWT TBB 和 XSLT TBB 用于再现部分。

谢谢你。

0 投票
1 回答
113 浏览

tridion2009 - 是否可以将功能区工具栏按钮的值返回到简单的文本字段?

我添加了一个按钮来将弹出页面中的值返回到 RTF 字段。但我目前的要求是将值添加到简单的文本字段中。谁能给我建议一种方法,如何将值返回到简单的文本字段?

0 投票
2 回答
272 浏览

tridion2009 - Tridion 2009 在代理中嵌入元数据存储格式

我对 Tridion 还很陌生,我必须实现允许内容编辑器创建组件并为其分配多个日期范围(可用日期)的功能。这些将需要从代理查询以提供搜索功能。

最初,这只需要一个开始和结束日期,因此被实现为单独的元数据字段。

我建议在架构的“可用日期”元数据字段中使用嵌入式架构,以允许分配多个开始和结束日期。

但是,由于该字段现在允许多个值,因此数据在代理中存储为“KEY_STRING_VALUE”列中的逗号分隔值,而不是“KEY_DATE_VALUE”列中的日期值,因为它只允许单个开始值和结束值。

例如。
KEY_NAME | KEY_STRING_VALUE
结束日期 | 2012-04-30T13:41:00、2012-06-30T13:41:00
开始日期 | 2012-04-21T13:41:00, 2012-06-01T13:41:00

这现在导致我的代理查询出现问题,因为我不能再使用简单的查询逻辑来检索基于日期进行搜索所需的项目。

在我开始编写 C# 逻辑来解析这些逗号分隔的日期并根据这些日期进行搜索之前,我想知道是否有人过去有类似的要求/经验并以不同的方式实现了这一点,以减少所需的代码解析量和使用代理查询来完成搜索。

我正在 Tridion 2009 上开发它,但使用 5.3 Broker(出于遗留原因),因此查询当前看起来像这样(对于单个开始/结束日期):

任何帮助是极大的赞赏。