我使用的是 SDL Tridion 2011 SP1 版本。
- 系统中启用了工作流程。
- 添加到编辑器的上下文菜单按钮,它利用了页面元数据。
- 事件系统将在保存事件的页面元数据中更新当前页面路径。
但是由于系统中启用了工作流,每当我将页面从一个 SG 复制到另一个 SG 并明确单击保存按钮时,都会触发工作流。
在工作流完成之前,我无法在上下文菜单 JS 代码中获取修改后的元数据(事件系统将更新元数据中修改后的当前页面路径)。
怀疑原因:无法获取次要版本的元数据。
当前代码:
var itemId = selection.getItem(0);
var item = $models.getItem(itemId);
var contentXml = item.getStaticXmlDocument();
var currentPath = $xml.getInnerText(contentXml, "//*[local-name()='current_path']");
请建议我如何处理 Java 脚本中的场景。尽早回应表示赞赏。提前致谢。
最佳答案
您似乎假设该项目已加载。这种情况不会经常出现。
您应该检查 isLoaded() 方法,如果它返回 false,则调用带有回调的 load() 方法。然后检查回调中的处理情况,因为项目是异步加载的。
关于tridion - 如何在 Tridion 中为上下文菜单项获取页面(次要版本)的元数据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14999823/