我正在使用Sitecore Intranet Portal。我正在使用CD数据库。
如果用户更改了其电子邮件ID。我如何将其发布到master数据库。
我正在使用此代码将项目从web发布到master db。
// The publishOptions determine the source and target database,
// the publish mode and language, and the publish date
var publishOptions =
new PublishOptions(Database.GetDatabase("web"), Database.GetDatabase("master"),
PublishMode.SingleItem,
item.Language,
DateTime.Now);
var publisher = new Publisher(publishOptions);
// Choose where to publish from
publisher.Options.RootItem = item;
// Publish children as well?
publisher.Options.Deep = true;
// Do the publish!
publisher.Publish();
知道正确的程序会很高兴。
答案 0 :(得分:2)
从网络发布到掌握是一种不好的做法。
此类内容被命名为User Generated Content。我建议使用这种方法:
https://sitecore.unic.com/2015/07/16/user-generated-content-in-a-security-hardened-environment
或者您可以使用网络服务。这允许在CM实例中创作所有内容(甚至是用户生成的)。这使您可以利用平台的功能进行工作流程,发布等。
答案 1 :(得分:0)
使用外部数据库或将Sitecore用户用于特定域并将所有内容存储在核心数据库中。核心数据库通常在所有环境之间共享
答案 2 :(得分:0)
将用户信息存储在Core数据库中的最佳做法。 Sitecore使用ASP.NET成员身份来管理用户帐户。我建议您将所有用户信息存储在核心数据库中。
Sitecore不提供将数据从Web发布到主数据库的任何选项,但是,它为您提供了将数据从Web数据库传输到主数据库的选项。
查看我的博客Transfer Items from Web to Master Database,了解有关将数据从一个数据库传输到另一个数据库的详细信息
第1步:登录Sitecore桌面模式。
第2步:选择您需要转移项目的源数据库。如果要从Web传输到Master,请在右下角选择Web Database。
第3步:打开内容编辑器,然后选择您要转移的项目。
第4步:右键点击该项目,然后选择复制>>转移,然后点击转移按钮
步骤5:在“转移”窗口中,验证是否正确选择了源项目。
第6步:点击“下一步”继续。在此窗口中,首先要选择需要传输的目标数据库。第二件事是选择您需要放置此项目的父项目或目标文件夹。在我的例子中,我需要选择Layout,因为布局项中存在子布局。
第7步:点击下一步,您将在此处获得一个包含子项目的选项。如果您需要恢复子项,请选中该复选框,否则取消选中该框以仅传输所选项目。
步骤8:点击转移按钮,它将开始转移过程。传输完成后关闭对话框。
答案 3 :(得分:0)
您可以使用包将您的商品从网络转移到主网页。您可以按照以下步骤操作:
从网上创建您的商品包。
使用我开发的工具转换项目的目的地。也就是说,从web变为master。该工具位于Sitecore package modifier的市场上。
在master数据库上安装修改后的软件包。
另一个解决方案是创建一个计划作业,从Web创建包,修改它并将其安装在master数据库中。因此,无需人工干预。
我更喜欢使用此方法而不是sitecore传输方法,因为如果要传输大量项目,传输方法会导致超时或导致错误。