我有一个自定义媒体项目模板,允许用户向上传的文件添加类别过滤器。媒体项目保存在媒体库中。过滤器将从内容树中相关站点的主页项下的文件夹中选择。它们是使用树列表控件选择的。我们有多个站点,每个站点都有自己的主页项和过滤器文件夹。我需要将 treelist 控件的源设置为指向每个站点的相对过滤器文件夹。
如果媒体项目在锄头项目下,我可以使用这个:
query:ancestor-or-self::*[@@templatename='Home']/item[@key='filters']
但是当然媒体项目不会找到ancestor-or-self::*[@@templatename='Home']
,因为它不在那个分支上,它是平行的。
我怀疑我们的命名标准是否足够强大以确保任何相对路径完全基于项目名称,我宁愿避免必须连接媒体文件夹的名称来找到主项目的正确名称。
有什么方法可以优雅地解决这个问题吗?
我当然可以将过滤器文件夹放在其他地方,或者放在媒体库中(宁愿避免这种情况,因为它对我们的业务用户来说不直观)或全局部分(他们必须在下面找到自己的特定站点文件夹 -或向内容树添加另一个安全配置)。