小编Cri*_*ina的帖子

在SDL Trdidion 2009中扩展到页面图标状态

我们正在使用SDL Tridion 2009 SP1.我们已经实现了一项新功能,即CMS中的扩展程序,它允许我们锁定页面.如果页面被锁定,则无法再发布(锁定页面的信息保存在为此扩展创建的数据库中).

我们想要添加一个新图标,该图标将通知用户页面的新状态.

现在有4个图标组合(没有动作,检查,发布,检查和发布)

由于我没有CMS接口的长期经验,我想找到一些帮助,找到一个对性能没有影响的解决方案,并且在不进行大量修改方面很容易实现.

以下是我对此的调查:

我注意到cms中图标的渲染方式并不是一个易于更新的简单机制.每次我们点击CMS左侧的项目时,为了从右侧呈现列表,对WebGUIResponder.aspx进行ajax调用(带有xml请求).页.

我们将得到的响应是一个包含属性字段Icon的xml

<tcm:ListItems xmlns:tcm="http://www.tridion.com/ContentManager/5.0" 
    ID="tcm:yyy-zzzz-4" Managed="68" ItemType="4">
    <tcm:Item ID="tcm:yyy-zzzzz-64" Type="64" Title="NotificationTest" 
        Modified="2011-05-09T09:42:27" FromPub="400 YYYY Website Master (EN-GB)" 
        IsNew="false" Icon="T64L0P1"/>
</tcm:ListItems>
Run Code Online (Sandbox Code Playgroud)

基于此字段图标属性(Icon ="T64L0P1),图像名称开始被处理.

  • T64 =表示它是一个页面
  • 未检查L0 =
  • P1 =它已经发布了

对于这样的字段,图像名称结果将是= T64.16x16.List.Published.gif

我找不到通过页面xml更新此字段的方法,不是保存在xml中的信息,而是在xml请求时在dll中构建.(某处基于已发布的其他字段以及其他此类图标字段的计算.)

因此,如果无法修改此字段,我们可能选择的选项是:为了在CMS中集成我们的更改而不修改其.dll(这与SDL Trdion的新版本的兼容性不好修改dlll)并且没有改变太多我正在考虑这种方法的逻辑.

我们可以对新页面WebGUICheckPageLocked.aspx进行新的Ajax调用(需要测试对性能有什么影响).在此页面后面的代码中,我们可以确定页面是否被锁定(使用我们的内部函数来确定页面是否已锁定,此功能是否已经完成).在页面中,我们将图标字段更改为T64L0P1E01(添加一些额外信息,以便我们确定页面的新状态).我们还将修改在GetPNGIconName javascript函数中,我们可以考虑新信息E01进行额外检查...)

如果有人对此有更好的想法,也许这是可以轻松完成的事情,也许这是我们可以更新Icon字段的方式.

亲切的问候,克里斯蒂娜

tridion

9
推荐指数
1
解决办法
184
查看次数

SDL Tridion 2009 - 无法创建事件系统对象

我们正在使用SDL Tridion 2009.

前段时间我们开始收到此错误"无法创建事件系统对象".我们开始偶尔发现这个错误.

它可能与我们的事件实现有关,但功能已超过2年,我们刚刚开始收到此错误.

万一有人得到类似的东西,它可以帮助.

非常感谢你

tridion

5
推荐指数
1
解决办法
224
查看次数

标签 统计

tridion ×2