你需要实现一个流水线处理器。 您可以通过将以下内容添加到App_Code/Include文件夹中的.config文件中来完成此操作。
<processors>
<saveUI>
<processor mode="on" type="Namespace.ClassName, Your.Assembly" patch:after="processor[last()]" />
</saveUI>
</processor
您还需要实现这个类 - 有什么特别的地方,除了它必须有一个Sitecore.Pipelines.Save.SaveArgs参数公开的工艺方法。
namespace CustomFunctions
{
public class SaveAction
{
public void Process(SaveArgs args)
{
// There's a collection of items
// I'm not sure what the situation where there's more than one item is though.
var items = args.SavedItems;
var bucket = SomeFunctionToGetParent(items);
BucketManager.Sync(items);
}
}
}
我从来没有真正实现这一点,但我觉得我的代码应该给你如何开始一个想法 - 尽管这条管道处理器将被称为每一个项目节省了时间,所以你需要高效的检查以确保该项目需要使用您的存储桶同步处理器。
f我明白你的意思,你希望你的存储桶项目路径基于日期**更新**而不是创建?我对吗? –
是的..只有这个日期是一个桶项目的领域.. –