gpt4 book ai didi

aem - 如何在组件对话框中过滤标签。 Adobe CQ

转载 作者:行者123 更新时间:2023-12-03 03:49:19 26 4
gpt4 key购买 nike

我正在尝试过滤组件对话框中的标签。我知道我可以按 namespace 过滤它,但这仅适用于根级别。我可以更深一层地过滤标签选择吗?

例如:

    • 标签
      • 命名空间
        • 文章类型
          • 博客
          • 新闻
        • Assets 类型
          • 图像
          • 视频

我想过滤组件对话框中的标签,以便用户只能选择“文章类型”下的标签。

谢谢

最佳答案

是和否。官方说你可以根据widget API进行更深入的研究,但是Widget JavaScript文件中存在一个“bug”,导致它无法工作。我遇到了同样的问题,我只是覆盖了这个 JavaScript 文件。

小部件定义:

<article jcr:primaryType="cq:Widget"
fieldLabel="Article Type"
name="./cq:tags"
tagsBasePath="/etc/tags/namespace"
xtype="tags">
<namespaces jcr:primaryType="cq:WidgetCollection">
<ns1 jcr:primaryType="nt:unstructured" maximum="1" name="article-type" />
</namespaces>
</article>
<asset jcr:primaryType="cq:Widget"
fieldLabel="Asset Type"
name="./cq:tags"
namespaces="[asset-type]"
tagsBasePath="/etc/tags/offering"
xtype="tags"/>

这种情况下只能选择article-type下面的一个Tag;您可以使用 maximum 属性限制数量。 Assets 类型没有限制。因此,请选择适合您需要的选项。

JavaScript 覆盖:

要实现此功能,您需要更改 /libs/cq/tagging/widgets/source/CQ.tagging.js 中的方法 CQ.tagging.parseTag :

// private - splits tagID into namespace and local (also works for title paths)
CQ.tagging.parseTag = function(tag, isPath) {
var tagInfo = {
namespace: null,
local: tag,
getTagID: function() {
return this.namespace + ":" + this.local;
}
};

var tagParts = tag.split(':');
if (tagParts[0] == 'article-type' || tagParts[0] == 'asset-type') {
var realTag = tagParts[1];
var pos = realTag.indexOf('/');
tagInfo.namespace = realTag.substring(0, pos).trim();
tagInfo.local = realTag.substring(pos + 1).trim();
}
else {
// parse tag pattern: namespace:local
var colonPos = tag.indexOf(isPath ? '/' : ':');
if (colonPos > 0) {
// the first colon ":" delimits a namespace
// don't forget to trim the strings (in case of title paths)
tagInfo.namespace = tag.substring(0, colonPos).trim();
tagInfo.local = tag.substring(colonPos + 1).trim();
}
}
return tagInfo;
};

关于aem - 如何在组件对话框中过滤标签。 Adobe CQ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32729078/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com