2016-08-22 82 views
0

我希望能够将内容编辑器的“我的工具栏”导出到包中,以便每当我在开发机器上恢复数据库时,我也可以恢复我的按钮。Sitecore - 导出“我的工具栏”至包

这些设置存储在哪里?我在核心数据库中查找了所有内容,但无法找到它。我最近来的是内容\文件和设置{用户名} ...但我的用户名不在那里列出。

Sitecore的6.6

回答

1

它被保存在Sitecore的 “注册表”:Sitecore.Web.UI.HtmlControls.Registry。它是用户配置文件实体下的包装。工具栏按钮分别由每个用户的“/ Current_User/Ribbon/My Strip”键保存。如果您想将这些数据从一台机器移动到另一台机器上:考虑用户的序列化(我不确定它是否会正确序列化),移动整个Core数据库或从aspnet_Profile表中复制值(因为值序列化不方便)。

示例代码,您如何访问这些值:

var key = "/Current_User/Ribbon/My Strip"; 
var username = Sitecore.Context.GetUserName(); 
key = key.Replace("Current_User", username); 
Response.Write("Key:" + key); 
Response.Write("Registry:" + Registry.GetString(key)); 
Response.Write("Profile:" + Sitecore.Context.User.Profile[key]); 

在引擎盖Registry.GetString(键)调用Sitecore.Context.User.Profile [键]。

对不起,您将无法在Core数据库中找到它,并将其放入包中....

+0

感谢安东。我正在做一些挖掘并试图理解。 'Current_User'与'System.Security.Principal.IPrincipal {Sitecore.Security.Accounts.User'相同吗? –

+0

我可以从'Sitecore.Security.Accounts.User.FromName(“gregory”,true)获得一些用户值;'但我没有看到任何'丝带' –

+0

另外,我正在寻找信息在访问注册表[链接](http://www.sitecore.net/learn/blogs/technical-blogs/john-west-sitecore-blog/posts/2015/01/optimize-performance-on-login-to-the -sitecore-aspnet-cms.aspx) –