Tridion 2009 TBB:如何确定页面是否已发布到特定发布目标?

2024-01-29

在使用 TOM.NET API 的 TBB 中,我想获取已发布页面的列表 - 基本上我正在构建站点地图。我正在尝试确定 Tridion.ContentManager.CommunicationManagement.Page 是否已发布。

似乎没有一个IsPublished财产或IsPublishedTo method.

我可以添加过滤条件吗?例如。

pageFilter.Conditions["Published"] = "true";

回应评论:

我正在使用 TOM.NET API,我想获取已发布页面的列表 - 基本上我正在构建站点地图。

如果页面发布到 BluePrint 层次结构中任何位置的给定目标,则 PublicationEngine.IsPublished 方法似乎返回“true”。这似乎不是预期的行为。


在这种情况下,您在 BluePrint 中有多个出版物,您可以对您所在的页面使用 PublishEngine.GetPublishInfo() 方法,并检查您要发布的出版物是否存在于从该方法返回的出版物中:

IList<RepositoryLocalObject> rlos = structuregroup.GetItems(pageFilter);
List<Page> pages = new List<Page>(rlos.Count);    
foreach (RepositoryLocalObject o in rlos)
{  
    Page p = (Page) o;
    bool isPublished = false;
    ICollection<PublishInfo> publishInfo = PublishEngine.GetPublishInfo(p);
    foreach (PublishInfo info in publishInfo)
    {
        if (info.Publication.Id.ItemId == p.Id.PublicationId)
        {
            isPublished = true;
        }
    }

    if(p != null && isPublished)
    {
        pages.Add(p);
    }
}

您必须意识到此方法中存在一个错误,它将始终返回您正在发布的当前出版物。此问题已在修补程序 CM_2009.1.74835 中修复。您需要应用它,否则上面的代码将无法正常工作。

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

Tridion 2009 TBB:如何确定页面是否已发布到特定发布目标? 的相关文章

随机推荐

  • 使用 jQuery 提取 XML 中的 CDATA 以用作 HTML 内容

    我正在检索 Google Earth kml xml 文件并使用该内容在 Google 地图中放置标记 我感兴趣的特定 XML 标签如下所示
  • 量角器测试未在 Firefox 上启动

    我有一组在 chrome 上运行良好的测试 但是当我将功能 browserName 从 chrome 更改为 firefox 时 甚至没有收到错误信息 Before capabilities browserName chrome chrom
  • 位置服务 onProviderEnabled 从未被调用

    我有一项可以在我的应用程序中更新位置的服务 当我在禁用 GPS 的情况下启动应用程序 返回 Android 菜单并启用 GPS 最后返回我的应用程序 服务尚未被销毁 时 永远不会调用 onProviderEnabled 有人可以帮忙吗 UP
  • 空列表布尔值

    这可能很愚蠢 但对我来说有点令人困惑 In 697 l In 698 bool l Out 698 False In 699 l True Out 699 False In 700 l False Out 700 False In 701
  • 为什么 CORS 默认禁用?

    好吧 首先 我绝对知道我们对此有很多答案 并且有大量关于该主题的文章 在输入以下内容之前 我刚刚阅读了这些答案 为什么没有凭据的 CORS 被禁止 https stackoverflow com questions 26306080 why
  • Zurb Foundation 5 - 行填充/边距

    我正在尝试为我的行创建背景颜色 但是当我设置背景颜色时 它会扩展到列的常规宽度 然后我尝试使用填充来缩小行 这有效 但使列更小 我需要以某种方式删除粉红色区域 仅保留红色背景 并保持列均匀 有任何想法吗 div class row styl
  • Apache Bench 和 POST 数据

    我正在尝试使用 apache bench 在我的 Rails 应用程序中加载测试创建操作 但 ab 似乎没有发送 POST 数据 尽管它确实正确提交了 POST 而不是 GET 请求 这是我运行的命令 ab n 1 p post v 4 h
  • 如何通过 Meteor.call() 访问服务器端变量?

    我认为在 Meteor 中定义服务器端类来存储有关系统的信息是明智的做法 该信息应由选定的用户访问 它不存储在 MongoDB 中 所以据我了解 订阅和发布不是一个选项 这是我的简化方法 if Meteor isServer serverV
  • 如何检查Paramiko是否成功将文件上传到SFTP服务器?

    我使用 Paramiko 将文件放入 SFTP 服务器 import paramiko transport paramiko Transport host port transport connect username username p
  • 禁用 HTML 中的 GIF 动画

    在 HTML 中 有没有办法在 标签中包含动画 GIF 但自动告诉 GIF 不要动画 我意识到用户可以通过按 ESC 或单击 停止 来停止动画 但我希望 GIF 根本不动画 我只想在一个特定页面上执行此操作 并且制作 1500 GIF 的单
  • Xcode 4.3.3 iPhone 5.1 模拟器经常挂起

    我最近一直在四处寻找是否有人遇到类似的问题 但找不到太多信息 大多数时候在模拟器中启动应用程序效果很好 但是模拟器每天都会挂起一两次 我必须强制退出它 XCode 说 在模拟器上运行 xyz 当您尝试在 XCode 中 停止 时 什么也不会
  • ng-bootstrap crash:如何应用动画?

    我正在使用折叠 https ng bootstrap github io components collapse https ng bootstrap github io components collapse 然而 它并没有动画 即使不在
  • Laravel sql server 更改架构的表名称

    我正在开发一个项目 我试图在 SQL Server 数据库上设置一些具有架构的表 因此我手动将表名称更改为迁移文件上的 schema name table name 并且它起作用了 所以这里是例子 Schema create elector
  • 如何在 Django Rest Framework 中过滤具有权限的用户相关记录

    我需要知道如何限制对经过身份验证的用户的访问 以便可以为以管理员身份登录的用户完整列出用户记录 而对于以用户身份登录的用户 只能列出 更新和创建他们的记录 目前我正在使用serializers ModelSerializer viewset
  • Knockout.js 嵌套可排序绑定

    我正在使用 knockout js 可排序插件 然而 我遇到了一个至今无法解决的问题 我有两个可排序的绑定 一个用于存储桶 另一个用于存储桶项目 我能够在存储桶之间重新排序存储桶项目 但是 我无法重新排序存储桶 你知道为什么会这样吗 我也使
  • Postgres 中动态基数的累积添加

    我在 Postgres 中有以下场景 我正在使用9 4 1 我有一个这种格式的表 create table test id serial val numeric not null created timestamp not null def
  • 合并从不同表投影到一个实体的两个 iqueryable

    我努力了这个答案 https stackoverflow com questions 4003813 how to merge two iqueryable lists This one https stackoverflow com qu
  • Golang 比较和更新来自两个不同映射字符串接口的键

    将两个 yaml 文件解组到两个不同的映射后 我想比较两个映射的键 外部键和内部键 因为它是嵌套映射 以及第一个映射 configMap 中是否存在任何键 外部或内部键 和第二张地图 userconfigMap 中不存在 我想将该密钥附加到
  • BoxLayout:无法设置子组件大小

    我有一个JFrame SuperTest and JPanel SuperLogin 登录面板具有用户名和密码输入字段以及登录按钮 我希望它看起来像这样 但如下图所示 输入字段的高度和宽度太大 超级测试 java import javax
  • Tridion 2009 TBB:如何确定页面是否已发布到特定发布目标?

    在使用 TOM NET API 的 TBB 中 我想获取已发布页面的列表 基本上我正在构建站点地图 我正在尝试确定 Tridion ContentManager CommunicationManagement Page 是否已发布 似乎没有