切换按钮未在 CMS 中显示真实状态 - Umbraco 9
Posted
技术标签:
【中文标题】切换按钮未在 CMS 中显示真实状态 - Umbraco 9【英文标题】:Toggle buttons not displaying true state in CMS - Umbraco 9 【发布时间】:2021-12-20 01:56:57 【问题描述】:在 CMS 中,对于切换按钮,当值为 true 时,不会将 aria-checked 设置为 true,并且不会将类“umb-toggle--checked”应用于按钮。我已经成功地将我们的 Umbraco 8 构建移植到 Umbraco 9,直到现在在本地运行,并作为本地主机运行,这个问题还没有发生,但现在我在开发和测试(https)中运行,问题正在发生,你无法判断是否按钮处于打开或关闭状态。
请看下图,切换按钮没有正确渲染,下面的按钮设置为 on(true)。我可以更改/显示内容,但您无法直观地看到 CMS 中的任何更改。没有控制台错误,但我想知道是否需要设置任何我不知道的权限。我还将静态内容 mimeMaps 添加到 IIS Web 配置中。
Umbraco 9 或 Umbraco 8 设置区域中宏中的相同按钮
在 IIS 中切换 Umbraco 9 上的按钮代码
<button role="checkbox" aria-checked="" ng-click="click()" type="button" class="umb-toggle ng-scope ng-isolate-scope" ng-disabled="disabled" ng-class="'umb-toggle--checked': checked, 'umb-toggle--disabled': disabled" id="umb-toggle_b4defe77-f89c-4573-a2f9-02d27627f731" checked="checked" on-click="model.toggle('useInEditor')">
Umbraco 9 中的切换按钮代码在 Visual Studio 中作为 Localhost 运行
<button role="checkbox" aria-checked="true" ng-click="click()" type="button" class="umb-toggle ng-scope ng-isolate-scope umb-toggle--checked" ng-disabled="disabled" ng-class="'umb-toggle--checked': checked, 'umb-toggle--disabled': disabled" id="umb-toggle_d4e9f676-a371-4e31-8185-190125aaf92e" checked="checked" on-click="model.toggle('useInEditor')">
在 IIS 中的 Umbraco 8 中切换按钮代码
<button role="checkbox" aria-checked="true" ng-click="click()" type="button" class="umb-toggle umb-toggle--checked" ng-disabled="disabled" ng-class="'umb-toggle--checked': checked, 'umb-toggle--disabled': disabled" id="umb-toggle_2a994d42-c01b-46f8-a8e8-3b3a7ea5a901" checked="checked" on-click="model.toggle('useInEditor')">
改变切换按钮状态的 Angular javascript 是什么?我从哪里开始寻找或有人遇到过同样的问题?
提前感谢您在解决此问题方面提供的任何帮助,在解决此问题之前,我无法将 Umbraco 9 作为 Umbraco 8 的完全替代品投入生产。
亲切的问候 皮特
【问题讨论】:
【参考方案1】:我认为这里可能存在一些缓存问题,如果缓存中有 Umbraco 8 的残留物,它可能会造成混淆。如果不是这样,那么我建议在https://github.com/umbraco/Umbraco-CMS/issues 上创建一个问题:-/
【讨论】:
您好 Jannik,感谢您的反馈。我也尝试了一个新的空数据库,因为我和你的想法一样,但是发生了同样的问题。我当然会考虑按照您的建议提出问题。亲切的问候,皮特【参考方案2】:发现此问题是由 WebMarkUpMin 中针对 .NET CORE 的设置在 startup.cs 选项中不存在引起的:
options.MinificationSettings.AttributeQuotesRemovalMode = htmlAttributeQuotesRemovalMode.KeepQuotes;
此设置在添加后解决了此问题,现在可以看到任何切换按钮的所有开启状态
【讨论】:
以上是关于切换按钮未在 CMS 中显示真实状态 - Umbraco 9的主要内容,如果未能解决你的问题,请参考以下文章