在上一篇(sitecore开发入门Sitecore的CRUD操作 - 第一部分)中我们讨论了如何使用Sitecore Item API,Glass,Fortis和Synthesis在Sitecore中创建项目...Sitecore Item API 使用Sitecore API从Sitecore中提取项目时,实际上有四种方法:Sitecore查询,快速查询,Lucene查询或ItemProvider中的直接GetItem...Sitecore查询 一般情况下,您现在希望避免使用Sitecore Query从Sitecore提取数据,但有时在Sitecore内容编辑器中它可能有意义,尤其是在将其用作Multilist或其他类型的...query:/sitecore/content//*[@@templateid='{guid}'] 在最后一个示例中,这将展示如何递归搜索当前内容文件夹的所有后代,并仅按具有与您传入的过滤器匹配的模板ID...Lucene与众不同,它实际上并不是Sitecore技术,只是Sitecore和Lucene之间的结合,它允许更快的方式从树中的任何地方获取项目(只要它们在索引中)。索引是从树中构建的文档集合。
将字典项存储在系统文件夹中也有明显的含义,例如标准内容编辑器很少对树的这一部分具有访问权限。在Sitecore 6.6版中,他们引入了具有域字典的功能。...这允许更大的灵活性,并允许内容创建者具有特定于站点的字典项(以及在内容树中存储这些字典项), 我相信较少人真正意识到的另一个特性是,在整个Sitecore CMS界面中使用了字典定义,尤其是在内容编辑器中...Sitecore模板字段。 首先,请确保您有Sitecore的副本,最好运行Sitecore 6.6或更高版本(我正在使用Sitecore 8.1)。运行Sitecore后,请进入内容编辑器。...此域字典的用途是针对您为内容项创建的模板字段。我将在这篇**帖子**中详细介绍Sitecore的这个隐藏功能。 创建域词典后,您的工作就不完整了。...下一步是指定回退字典域,如果在当前域中找不到您用作密钥的项目,则允许Sitecore回退到另一个域字典。因此,在您的站点特定域字典上,您可能希望指定全局域字典。
什么是标准字段? 标准字段是字段及其字段组的集合,用于包含有关Sitecore中项目的可配置元数据。Sitecore中继承自“标准模板”模板的任何项目都将包含这些字段。...可以在“标准模板”模板项找到/sitecore/templates/System/Templates/Standard template,但字段组来自模板/sitecore/templates/System...这些字段主要用于内容编辑器中,以配置帮助文本,图标和发布设置等内容。 标准字段在哪里? 默认情况下,只有自定义模板中的字段组(也称为“模板部分”)才会显示在内容编辑器中。...Sitecore 8显示自定义字段组 Sitecore 6和7显示自定义字段组 要查看标准字段,请选择要查看其字段的项目。...选择功能区中的“查看”选项卡,然后选中“视图”功能区中的“标准字段”复选框。 Sitecore 8显示所有字段组 Sitecore 6和7显示所有字段组 “标准字段”中的字段组显示在自定义字段组下方。
介绍 Sitecore的开放式架构和众多API意味着在Sitecore中实施网站可能会在很多方向上发生偏差。架构的一个特别重要的方面涉及页面构建 - 如何构建Sitecore中的网页?...模板包含页面显示内容所需的所有字段,无论是标题,子标题,图像等: 此模板包含页面所需的所有字段... ...并且内容按预期显示在页面上。 该架构的设计和实现非常简单。...每个模板都有一个相应的表示组件(Sitecore术语中的子布局或渲染),只需在页面上的适当位置呈现每个模板字段。由于这种简单的实现,可以非常快速地构建基于模板的网站。 然而,这种方法有许多缺点。...每个表示组件通常通过数据源引用内容项。 内容与表示的分离是使Sitecore作为CMS脱颖而出的核心概念之一。通过在两者之间创建多对多关系,内容不仅仅与一个表示布局相关联。...摘要 尽管这是对页面体系结构的简化概述,但显然Sitecore的优势在于其基于组件的体系结构。内容重用,演示灵活性和个性化功能可以轻松证明在Sitecore中开发组件所花费的时间。
如何在Sitecore CMS中命名项目,以及配置命名限制,“显示名称”是什么以及如何使用它。 任何其他名称的项目 当创建Sitecore的项目,内容编辑器要求制作者为新建项目提供名称。...重命名项目 Sitecore中的项目重命名非常简单。因为在Sitecore中重命名项目非常容易,所以强烈建议不要在代码中按名称引用项目。需要引用特定项的代码应通过ID执行,或使用中间链接字段。...可以通过三种不同方式在内容编辑器中重命名项目。 从功能区 在内容树中选择您要重命名的项目。在功能区的“主页”选项卡上,单击“重命名”部分中的“重命名”按钮。...Sitecore 8在内容编辑器中显示可编辑的名称 Sitecore 6和7在内容编辑器中显示可编辑的名称 将打开一个简单的提示,询问该项目的新名称。...Sitecore 8显示“显示名称”字段 Sitecore 6和7显示“显示名称”字段 关于显示名称的注释 项目的显示名称更改后,Sitecore将在列出项目的任何位置的内容编辑器中显示显示名称,其中包括内容树
由于Sitecore使用Core数据库中的项来定义其用户界面,因此您可以对该数据库中的项应用访问权限,以控制对CMS功能的访问。...最常见的是,将用户置于预定义的Sitecore客户端角色中 Sitecore使用Web.config文件中的/ configuration / sitecore / accessRights / rights...Sitecore应用字段:以类似于字段描述的方式写入:read。如果编写访问字段值的代码,则该代码应强制执行以下字段:写访问权限。 item:read(读取):控制用户是否可以访问项目。...language:read(语言读取):应用于/ sitecore / system / Languages项下的语言定义项,控制用户是否可以读取该语言中任何项的版本。...insert:show(在Insert中显示):应用于插入选项的定义项,例如数据模板,分支模板或命令模板,控制是否为CMS用户显示该插入选项。
Sitecore中的所有内容都是一个项目。模板也是如此。Sitecore中的模板是一个项目,它定义了其他项目的结构和行为。Sitecore中的每个项目都是某个模板的实例。...模板位于/ sitecore / templates中 基本类型的模板 可以在内容编辑器/模板编辑器中定义三种基本类型的模板。 数据模板 基本模板类型。它可以包含字段,可以由编辑器使用插入页面实例化。...此模板不包含任何字段,但它继承了许多其他模板,因此我们可以在项目上定义显示名称,布局详细信息,发布限制和工作流程等。继承到标准模板的所有字段都以_开头。...各个语言的后备层次结构在/ sitecore / system / Languages中定义。 有必要在单个项目字段上定义字段的详细设置。模板上的“构建器”选项卡上只提供基本设置。...Sitecore在设计和实施名为Sitecore Helix的 Sitecore解决方案时准备了一份推荐原则的文档。我建议你阅读它。它可能会帮助您设计Sitecore中遇到的所有字段。
平台相关注意事项:该漏洞特定于运行在 .NET 框架上的 Sitecore XM/XP 平台。研究或复现行为必须在得到授权的隔离环境(如实验室、沙箱)中进行,任何针对未授权系统的攻击均属非法。...强烈建议所有 Sitecore 用户立即查看并应用 Sitecore 安全公告 SC2025-005 中的官方补丁。...使用说明该项目代码内容主要围绕技术分析,以下为基础概念和场景说明:典型攻击场景攻击者通过互联网访问一个未打补丁且配置了暴露机器密钥的 Sitecore 应用程序。...技术关键点(API/概念概览):ViewState:ASP.NET Web Forms 中用于在回发间保持页面状态的一种机制,通常经过序列化并存储在隐藏字段中。...反序列化:将字节流或字符串等序列化数据转换回对象的过程。如果序列化数据被篡改且反序列化过程未作严格验证,就可能执行恶意代码。核心代码项目核心内容侧重于技术描述,未直接提供完整的可执行代码。
这是关于学习如何使用和开发Sitecore CMS的系列文章中的第一篇。 在使用Sitecore CMS之前,必须先登录。新Sitecore开发人员常见的一个问题是“我该在哪里登录?”...安装任何版本的Sitecore后,导航到/sitecore/login或/sitecore/shell。您将被带到Sitecore登录页面。...单击“登录”按钮将转到Sitecore内容编辑器。 选项 登录页面上的登录字段下方是一个标题为“选项”的链接,该链接会在登录时展开以显示其他界面选项。...默认选项将带您进入内容编辑器界面。 内容编辑器界面对于直接管理Sitecore项目以更改网站内容非常有用。 选择桌面界面将带您进入Sitecore的桌面模式。...它包括一个页面编辑器功能区,它提供了直接从页面管理内容所需的许多功能。 哎呀我登录了错误的界面! 如果您忘记更改“用户界面”选项,则可以通过导航到快速进入桌面模式/sitecore/shell。
体验数据库(xDB)是Sitecore平台的关键元素,特别是当您希望将解决方案提升到简单的内容管理要求之外时。它用于跟踪您的用户(即联系人,访客,客户)与您网站的互动方式。...无论哪种方式,它都将使用以下Sitecore API: // identify the user Sitecore.Analytics.Tracker.Current.Session.Identify(...identifier) 这里标识符可以是用户唯一的任何字符串。...这不是营销人员在“识别”客户时所期望的。用户已被识别为Sitecore,但Sitecore不会让Sitecore后端用户知道这一点。...要在体验资料访问者列表中显示的电子邮件地址,我们必须将首选电子邮件设置为此相同标签。 现在我们得到了我们想要的! 我创建了一个测试页面,以便您可以在自己的网站上使用此代码。
Sitecore xConnect 采用非 .NET 平台(如 Salesforce),并建立在它们与 Microsoft Dynamics CRM 的连接之上,允许来自 Sitecore 和 CRM...它通过收集第三方数据捕获(包括来自可穿戴设备和物联网设备的数据)以及客户全渠道旅程中的任何位置,助力企业持续深入的个性化体验的生成。...4.Sitecore革新表格施用方法,让营销人员工作更轻松 Sitecore引入了革新的表单创建和管理解决方案,它创建了一个易于使用的自定义拖放构建器,该构建器支持跨多个设备门户的多个页面表单,实现了给予营销人员更多便宜的权限的同时保持了生态系统中的所有内容...,其工作方式是为使用 JavaScript 库和框架(例如 Vue.js、React.js 和 Angular.js)的开发人员提供支持,使他们可以构建将内容呈现在任何设备或浏览器上的应用程序。...同时它还附带一个连接到 Sitecore 情境内容发布服务器的 API,它使用来自 Sitecore Experience Database™ 的信息,支持设备和浏览器实时解读内容和个性化规则。
它提供了一个API,用于跨所有设备收集客户数据。 xConnect允许ERP,CRM,移动应用程序,商业智能工具和信标技术直接参与创建和共享客户视图。 在第9版之前,Sitecore是中间人。...由于没有对客户数据的直接API访问,因此与客户配置文件相关的所有内容都必须通过Sitecore Web应用程序。现在,每个系统都可以直接访问客户数据。...在Sitecore 9之前,权限基本上会同步到Sitecore成员资格数据库中,并由Sitecore在本地管理。您的组织中有12,000名用户?...这提供了一个难以置信的机会,再次赋予营销人员权力并保持生态系统中的所有内容。 增强的个人隐私控制 在处理Sitecore 9中的联系人时,我们现在可以获得GDPR和PII投诉的工具。...包含敏感信息或个人信息的任何字段都可以使用简单的复选框进行标记,并在通过Sitecore和xConnect访问时进行适当限制。
项目是Sitecore网站的基本构建块。项目可以表示构成网页的任何类型的信息,例如,一段文本,媒体文件,布局等。 项目始终具有名称,唯一标识项目的ID,并且它基于定义项目包含的字段的模板。...您可以使用内容编辑器或体验编辑器来编辑,创建和插入项目。 在内容编辑器中,网站上的所有项目都存储在内容树中,您可以在其中导航到层次结构中的特定项目。...注意 您可以在Sitecore中创建和编辑项目的方式因安全设置和网站设置方式而异。 在内容编辑器和体验编辑器中,项目必须处于编辑状态才能进行编辑。...在文章结尾处再谈一下一类特殊ITEM-媒体项目(Media items) 媒体项由多个字段组成,并且它始终具有附加到“ 媒体”字段的文件。媒体项可以是图像,文档,视频或音频文件。...在Sitecore中,媒体文件和媒体项之间存在差异。存储在计算机上的图像或视频文件称为媒体文件。将媒体文件上载到Sitecore媒体库时,该文件将附加到媒体项目,然后从此处称为媒体项目。
在我之前关于Sitecore体验资料的帖子中,我们看到了我们如何了解访问者的一切,包括访问他们在访问期间触发的事件。...Sitecore的API提供了各种方法来识别访问者并将有关访问者的各种详细信息与联系人记录联系起来。 如何识别匿名访客?...我们将使用Personal facet 将当前访问者的个人信息存储到当前联系人记录中.Sitecore允许您使用任何名称属性(如FirstName,LastName,Surname)搜索体验配置文件中的联系人...此方法接受一个字符串变量,该变量是访问者的电子邮件地址。...(“访客的电子邮件地址”); } [/ sourcecode] 摘要 使用Sitecore的新API,开发人员现在可以更轻松地关联访问者的各种信息并将其与联系人卡片联系起来,这将极大地帮助营销人员更好地了解访问者
当你开始任何项目,你需要首先要做的是了解当前页面的信息向网站用户显示相关页面数据。在今天的教程中,我将介绍一些基本的API调用的实现。...API从Sitecore获得当前页面的URL 使用Sitecore上下文结合LinkManager获取当前页面的URL: var currentUrl = Sitecore.Links.LinkManager.GetItemUrl...(Sitecore.Context.Item); Sitecore MVC的助手 在我们的Razor 视图,我们可能想得到的Sitecore信息。...虽然通过使用这些辅助类你可以在视图添加你想要的业务逻辑但有一个更好的方法就是把你所有这些内容写在的Sitecore的逻辑视图模型并通过他们联系视图来展现。...页面上下文 在绘制当前的请求,你可能想看看页面上下文,在渲染的背景下,网页将呈现;你可以使用PageContext来获取信息 var page = PageContext.Current.Item;
在仅发布项目的场景中,在Sitecore中创建自定义工作流可能很有用。在我的例子中,我需要发布一个子项,然后发布它的父实体,最后在初始子项上发布一个相关项。...分步指南 在中创建一个新的工作流程项目 location / sitecore / system / Workflows / 模板/ sitecore / templates /系统/工作流程/工作流程...(这是最终的工作流程状态) 使用在步骤1中创建的工作流程,设置初始状态。 初始状态应指向在步骤2.1中创建的草稿状态。 在步骤2.2中创建的草稿状态项下,添加工作流命令。...template / sitecore / templates / System / Workflow / Command 将Next状态字段设置为在步骤2.3中创建的Publish状态。 ...请注意,Type字符串设置为网站项目中包含的类。 下面的代码获取正在发布的项目,然后它找到其父项并发布它。
根据我一直在研究的内容,我发现了两种可以免费提供Geo IP查找的服务: http://freegeoip.net http://ip-api.com Helpfulcore.GeoIp 我尝试使用两者并分享...Sitecore模块,该模块可以简单地作为nuget包集成到Sitecore解决方案中。...ILoggingService logger) { // ... } } 因此原理很简单,GeoIpLookupProvider调用IGeoIpLocationRetriever从您实现的任何服务中获取数据...将附上一些截图: 正如你所看到的,仍有未被发现的地区和国家......但这是一项免费服务 将区域与可读值匹配 Hovewer,在使用这些服务之后,我意识到在体验分析中总是存在未被认可的区域。...在默认配置中,有一个注释管道处理器,您可以在开发环境中取消注释以进行测试和调试: sitecore.net/xmlconfig
假设您的Sitecore解决方案需要一些API服务。显而易见的是使用.net Web API实现它们。有时,在构建消费应用程序时,理解API的各种方法对开发人员来说可能是一项挑战。...假设您的Sitecore解决方案需要一些API服务。显而易见的是使用.net Web API实现它们。有时,在构建消费应用程序时,理解API的各种方法对开发人员来说可能是一项挑战。...所以我实现了一个Web API控制器,我希望在我的Sitecore实例中托管它并以某种方式记录它: namespace Feature.WebApi.Controllers { using System.Web.Http...Swagger UI仍然有效,但我们真的不想看到任何错误消息吗?...()); 现在我们已成功将Swagger安装到Sitecore解决方案中。
Sitecore 9使用个性化和机器学习来帮助客户提高数字营销对数字投资的回报 Sitecore 9比以往任何时候都更加智能。...在Sitecore 9中,一个新的表单功能加入了营销人员的Web窗体(WFFM),虽然Sitecore 9完全支持WFFM,允许现有用户升级并仍然保持当前表单的全部功能,使表单处理更快,更精简。...使用SXA节省时间和金钱 在我们最近关于 Sitecore体验加速器(SXA)的文章中,我们从一开始就强调了其循环过程如何让项目中的开发人员,设计人员和内容编辑人员参与其中。...Sitecore SXA专注于统一开发和设计,可消除随意的项目变更,缩短截止日期,提高工作效率,让您的生产团队满意。 在Sitecore 9中,此功能改变了项目计划的方式。...通过Sitecore 9的Headless功能获取超出范围的内容,吸引更多客户 使用Sitecore的 无头CMS 功能,您可以在Sitecore中创建内容,但可以在其他地方发布。
SITECORE体验编辑器 - 多站点实施站点解析 我们使用其中一个多站点实现遇到了Sitecore体验编辑器的问题。...从内容编辑器中选择并尝试在体验编辑器中打开时属于某个站点的任何页面将始终解析为“网站”站点。我们期望查询字符串参数sc_site应该具有所选站点的站点名称而不是sc_site =“website”。...您认为网站定义中语言属性的值可能是问题吗?...令人惊讶的是,与Exp Editor中的加拿大站点相比,墨西哥和美国站点正确解析。因此,加拿大站点解析为sc_site = website的原因是语言名称属性的区分大小写错误。...在将language =“fr- ca ” 更正为language =“fr- CA ”后,Experiene编辑器开始根据需要解析网站。真的很小,但我们花了几天时间才弄明白这个问题。