当前位置: 首页 > 知识库问答 >
问题:

如何更改AEM 6.3触摸屏用户界面中的parsys drop area文本?

卫阳炎
2023-03-14

我在AEM 6.1的经典UI中有一个项目,我可以将默认的拖动组件或资源标签覆盖为自定义标签,就像这样:

>

  • 我已经创建了一个定制的parsys组件。让我们把它命名为custom/parsys,我用sling:resourceSuperType指向foundation/components/parsys
  • 我分别创建了custom/parsys/new
  • 我已经覆盖了新的。通过添加以下行:

    String emptyText=currentStyle。获取(“cq:emptyText”,”);if(StringUtils.isNotBlank(emptyText)){editConfig.setEmpty(true);editConfig.setEmptyText(emptyText);}

    现在,我可以通过/etc/designs/custom structures设置每个parsys的drop area标签,从而轻松定制它。因此,每个帕西斯基本上都明确地告诉作者它接受了什么样的组件。除了parsys内部的传统组件的可用性之外,这为编辑处理包含许多不同段落的复杂页面结构增加了巨大的价值,这些段落通常相互嵌套

    现在我正在使用触控用户界面的AEM 6.3中工作,在某种程度上已经发生了很多变化,不允许我简单地移植上述解决方案。谷歌搜索这个问题并没有帮助不幸的是,6.3是非常新鲜的,有针对wcm/foundation/components/parsys和/或foundation/components/parsys的旧版本的解决方案,但不适用于最新版本。有人已经解决了这个问题吗?



  • 共有3个答案

    贝自怡
    2023-03-14

    通过结合TechNiks的建议和我之前的方法,我创建了一个可行的解决方案。它还不完美,因为它必须假设段落资源总是在适当的位置。此外,它会创建许多(可能是多余的)请求调用,但从表面上看,它以我希望的方式工作,在设计中进行简单的配置,它证明了这是可以做到的。为了优化,还需要更多的深入研究(我不会很快做,这就是为什么我已经发布了当前版本)。所以这些是我采取的主要步骤:

    1. 我使用自己的parsys覆盖组件
    2. 我为它提供了配置选择器,从它的设计中获取cq: emptyText,
    3. 我覆盖了检查表的函数,它有PlaceHolder来请求配置的值。

    要了解详细信息,只需检查功能代码,主要提交就是这一个。

    公冶高峯
    2023-03-14
    div[data-path='/content/aemarch13/home/jcr:content/NavbarNav/*']:before {
       content: 'Drop it here.'
    }
    

    祝你好运

    戚均
    2023-03-14

    上述方法不适用于触摸UI。Adobe在“新”部分的国际化文件中将其硬编码为“在此拖动组件”。

    替代解决方案:-

    • 找到覆盖帕西斯的方法
    • 使用选择器方法,修改其与可检查对象的交互。js,您可以在其中提供新的特定于组件的消息,同时包括parsys,可以通过使用选择器,例如
    <sly data-sly-resource="${@path='par1',resourceType='mysite/components/parsys',selectors='par-1'}"/>
     类似资料:
    • 我正在使用改型,对于我的应用程序,在基本界面中,我正在使用一个基本URL,就像改型页面所建议的那样,我希望能够从界面外部更改基本URL,以便有一个用于测试的基本URL和一个用于开发的基本URL,并且用户能够在它们之间切换。在java接口内部,所有变量都是最终的,不能更改,而且由于接口不能从封闭接口外部获取变量,我如何在改型中更改它? 这是我的改装界面:

    • 问题内容: 我正在开发一个android项目,当用户下载文件时该项目显示进度对话框。 但是,当用户触摸屏幕时,进度对话框将被关闭,而无需等待100%。我已经尝试使用此: 但这不起作用。 如何避免这种情况? 更新1: 似乎setCancelable(false)可以正常工作。非常感谢您的回答,但是当持久下载并用户决定放弃下载时,这将是不可能的,因为我已经停用了back keyCode: 我该如何解决

    • 问题内容: 在Javascript / jQuery中,如何检测客户端设备是否有鼠标? 我有一个网站,当用户将鼠标悬停在某个项目上时,该网站会在信息面板上向上滑动。我正在使用jQuery.hoverIntent来检测悬停,但这显然不适用于iPhone/ iPad / Android等触摸屏设备。因此,在这些设备上,我想还原为点按以显示信息面板。 问题答案: +1,两者兼而有之。另一种方法是使用CS

    • 问题内容: 我们已经建立了销售点系统,现在我们需要将其实施到 触摸屏上吗?我们是否需要依次更改任何代码以使其正常工作。 而且我们正在使用键盘输入值-假设数量- 当我关注 JTextField时,是否有Java方式弹出键盘(例如android)? 问题答案: 这是有关如何实现弹出式键盘的简单示例:

    • 问题内容: 用这样的HTML: 然后像这样的一些CSS: 如何允许在启用触摸的设备上进行长时间触摸来复制悬停?我可以更改标记/使用JS等,但是想不出一种简单的方法来做到这一点。 问题答案: 好的,我已经解决了!它涉及稍微更改CSS并添加一些JS。 使用jQuery使其变得容易: 用英语:当您开始或结束触摸时,请打开或关闭课程。 然后,在您的HTML中,将类悬停添加到您要与此一起使用的任何内容上。在

    • 问题内容: 拥有3m的microtouch显示器。它通过USB连接到我的debian系统,并重新识别为人机界面(hid)。我正在尝试访问和推送实时信息…如果被触摸,我想知道(x,y)的位置,并将其通过netcat通过管道传送到另一台主机。 不幸的是,我只能使用 要么 您会得到似乎无处可查的十六进制代码… 有人知道如何获取这些信息吗?必须有一种从十六进制代码中提取它的方法。不幸的是,我不知道如何解释