我是 Sitecore 的新手,如果答案很明显,请原谅我。有没有办法在所有用户登录到 Sitecore 的内容编辑器后为他们启动弹出窗口或警告栏?我为一个拥有数百名活跃编辑的大型组织工作,我希望在我们对工具栏和其他功能进行更改时通知他们,或者提醒他们在发布内容之前查看我们的样式指南。如果它不是开箱即用的功能,是否有人实施了类似的解决方案?
5 回答
据我所知,没有这方面的功能。但是,您可以更改 Sitecore 来执行此操作。
您可以做的最简单的事情是在以下文件中添加一些内容:
\sitecore\shell\Applications\Content Manager\Default.aspx
这是内容编辑器。
还有更优雅的选择,但由于您是 Sitecore 的新手,您可能希望从这个开始 - 但请谨慎行事。
您可以将一些自定义Javascript 添加到内容编辑器中,您可以通过自定义 Web 服务调用或使用Sitecore Web Item API从中提取一些内容。
每次加载页面时都会触发。内容编辑器是使用 AJAX 调用刷新的,因此它应该只有一次,但您可能希望在您的 JS 中放置一些逻辑以避免在多次访问时重新显示消息,也许通过设置一个带有日期值的 cookie ,这样您就可以以后可以添加更多消息。
(function($){
$(document).ready(function(event) {
$.get("/services/messages.svc", function(data) {
// if cookie is not set, or value set in cookie is older than returned value
$("body").append(data);
alert("Data was loaded: " + data);
// set cookie that messages where shown
});
});
})(jQuery);
这将避免对默认 Sitecore 文件进行任何更改。
您希望如何向用户显示内容我将留给您,只需检查开发工具中内容编辑器的标记即可。在 JS 中构建标记或从您的 Web 服务返回它,您还可以添加自己的 CSS 文件以轻松设置消息样式。
您还可以查看这篇关于如何将警告消息添加到内容编辑器的博客文章,这可能有点令人困惑,我通常会将该方法用于特定模板类型而不是通用消息。您也仅限于特定样式。
如果您想在登录后立即生成弹出窗口,则覆盖它位于 sitecore.client dll 中的 LOGgedin 管道。或在 sitecore 节点下的 login.aspx 上编写代码。
自定义登录默认页面非常常见。我认为一种更快、更简单的 UX 方法是简单地修改登录页面(\sitecore\login\default.aspx、default.js、default.css),而不是在登录到内容编辑器时对代码进行一些繁重的工作。如果您需要的是一个弹出窗口,那么只需在登录之前在一些新功能的登录页面的页面加载时显示弹出窗口。然后他们可以点击弹出窗口,然后登录到内容编辑器。快乐编码!