我们要求在页面发布时,我们需要:
- 查找具有基于特定模式的组件的组件表示。
- 从该组件中提取某些字段值并将它们存储在我们的 .NET 应用程序(在内容交付端)可用的自定义数据库表中。
我认为这是 Deployer 扩展或 Storage 扩展的一个很好的候选者——但我有点不清楚哪个以及为什么从来没有写过?
我已经排除了事件系统,因为这种代码将位于 CM 上,这对我来说似乎是错误的“一面”——我的重点是扩展页面发布后在 CD 端发生的事情。
阅读有关 Tridion World 的几篇文章(this、this、this和this),我认为存储扩展会是更好的选择?
Mihai 的文章似乎和我们需要的很接近,他使用了一个新的项目类型映射:
<ItemTypes defaultStorageId="brokerdb" cached="true">
<Item typeMapping="PublishAction" cached="false" storageId="searchdb" /></ItemTypes>
但是,当内容发布时,Tridion 如何“知道”使用这种新的项目类型(它不是定义的 TYPE_NAME之一,这是重点)?
我应该澄清一下,我是 .NET/C# 开发人员而不是 Java 开发人员,所以这对 Java 人来说可能真的很明显——如果是,请道歉!
干杯