使用 Concrete5 v8.4.2,我为我的网站创建了一个自定义块,其中与图像滑块一样,它在编辑模式下显示占位符。在"缓存和速度设置"中启用块缓存时,将缓存块的公共视图,并且不再显示编辑模式视图。
图像滑块似乎通过使用$btCacheBlockOutputForRegisteredUsers = false
来解决此问题,但这是一个高流量站点,因此我真的只想在页面处于编辑模式时禁用缓存视图,而不是针对所有登录用户。
上一个问题 Concrete5 (5.7( - 不要在块错误上缓存页面或当前块接近我想要实现的目标,但我希望我不能在编辑模式下渲染缓存视图,而不是使缓存过期(在捕获错误上(。使缓存过期,然后最终缓存"编辑模式"视图对我来说是不好的。这个问题也是 18 个月前的,并且在 Concrete5 的先前版本上,所以我希望有更好的解决方案来解决我的问题。
与其在 php 中做出编辑模式/视图决策,不如在 JavaScript 中执行此操作。 在块 JavaScript 中,您可以测试CCM_EDIT_MODE并仅运行其他脚本,如果为假,则显示正常的块视图,如果为 true,则用编辑模式标记替换标记。