- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我刚刚开始研究Sitecore,我想知道是否有人可以从开发人员的角度帮助我启迪什么。
我已经阅读了他们的大量文档以及SDN-对我而言,到目前为止,大多数人只是通过他们的界面(即通过他们的“Sitecore桌面”)在此处进行拖放操作,而实际编程却很少。
这是真的?还是他们实际的C#/ASP.Net编程在后台实现业务逻辑等等?
我遍历了他们的基本教程(为Product创建基本站点),就像我上面提到的那样,这大部分都是通过他们的界面完成的,没有任何实际的编程-与使用ASP.Net MVC3 Music Store教程相反,您可以在其中看到一些内容。 C#编程。
谢谢!
最佳答案
通常,Sitecore开发人员应该对Sitecore有最深刻和最深刻的了解。开发人员需要了解CMS用户的观点(即内容编辑者的POV),他们需要了解内容树中内容的体系结构,并且需要了解所构建的代码。开发人员应该最了解Sitecore解决方案,因为您需要了解架构才能知道如何进行编码。而且了解架构意味着您知道内容编辑器将如何与内容交互。
建筑学
Sitecore是一个强大的数据库。这样想吧。您可以按需要构建站点。但是,一旦您开始学习Sitecore架构的原理和最佳实践,就会发现一种模式。内容树中的所有内容都是一个项目。每个项目的模型(在Sitecore术语中称为模板)由架构师(通常是开发人员)定义。实际上,即使有一个单独的架构师角色,他们也可能拥有开发人员的知识,因为架构定义了事物的开发方式。实际上,体系结构是最重要的事情之一。
代码
代码分为多种类型,但最简单的形式有两件事:布局和子布局。
将布局视为ASP.NET应用程序使用MasterPage的常规方式。在Sitecore中,布局实际上是ASPX WebForm,但它充当母版页。您可以在网站上使用的布局示例包括:一栏布局,两栏布局,打印布局。这些将分别转换为具有一个主要内容区域的页眉和页脚,具有主列和侧栏的页眉和页脚以及可能带有徽标和仅包含主要内容的打印优化版式。
子布局是组成页面的所有小组件。例如:主导航,边栏中的促销框,5个近期新闻的 list ,促销的CTA,边栏幻灯片放映等。这些组件可以模块化,并由内容编辑器来回移动,或者可以固定在布局的位置,例如促销框可能始终作为代码中定义的业务规则出现在“两栏”布局的侧边栏中。
要回答您的问题,是否有实际的编码,是的。您使用针对Sitecore和Sitecore的C#API的ASP.NET控件编写代码,以访问填充到每个项目的模板中的数据。因此,如果您有一个页面的项目,该页面的标题标签具有页面标题,则您的代码将使用Sitecore API来访问模板中的“标题标签”字段(请记住,Sitecore中的模板是数据模型)在Sitecore中。
编码Sitecore
我想说有两种编码方法。我相信您确定了其中之一,这是使用Sitecore界面中的内部工具。 Sitecore有一个称为“开发人员中心”的部分,可让您创建布局和子布局。坦率地说,将其与始终在设计模式下使用Visual Studio进行比较。我从未使用过开发人员中心来进行编码。相反,我在Visual Studio中编码,这是人们为Sitecore编码的最常用技术(至少我认为是)。现在,如果您想知道,编码是如何连接到Sitecore的数据的呢……答案就在Sitecore中。树的一部分称为布局。这是布局和子布局的名称。每个布局和子布局项目都有一个路径,分别映射到ASPX WebForm或ASCX用户控件。这就是Sitecore实际使用在Visual Studio中编写的文件系统上的代码的方式。然后,通过“展示”>“详细信息”选项卡为Sitecore中的每个项目使用这些布局和子布局项目。
初学者
Sitecore最难的事情之一就是学习曲线。我已经使用Sitecore多年了,并且喜欢它。实际上,这是我真正要做的。到目前为止,它是我最喜欢的CMS,因为它完全可自定义且对开发人员非常友好。 Sitecore建议新的开发人员参加开发人员培训类(class),以便他们可以在实际的培训类(class)中基本解释我上面所解释的内容。在本培训中,您将学习架构,然后学习如何将代码连接到该架构。培训涉及内容树中的动手架构工作和动手编码。为新开发人员推荐的培训类(class)是:
关于从开发人员角度看Sitecore,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6072415/
是否有用于手动测试的代码覆盖工具?比如我新写了30行代码,编译,然后运行,有什么办法可以快速验证这30行都运行了吗? 另外,后来,在我将代码 checkin 正式版本后,有什么方法可以验证测试部门在进
老实说,这是一个家庭作业问题,但我已经浪费了好几个小时,而且无法正确解决。它返回错误数量的结果或错误的数据: 我需要选择参与指导电影和/或在电影中表演的每个人以及他们所做的次数,如果至少 5 次。 有
我正在尝试测试 MacOS 的应用内购买。输入测试用户凭据后,App Store 提示:“当前收据无效或 ds 人员 ID 不匹配。”并且购买失败。 最佳答案 我尝试了很多方法来解决这个问题。 Get
我正在为 Jenkins 使用 ActiveDirectory 插件,因此用户必须使用他们的凭据登录到 Jenkins。然后用户在 Jenkins 中被称为 joe.doe,这很完美。 当同一个人 c
如何从 Infopath 人员/组选取器检索电子邮件地址?当我将人员/组选取器添加到 infopath 表单时,我只得到 3 个字段 DisplayName、AccountId、AccountType
在 Snow Leopard 中,可以在 iCal 事件中显示空闲/忙碌时间。我搜索了 CalStore.framework 的 header ,但找不到任何描述该字段的属性。如何检索日历事件的忙/闲
是否有人成功地从专门针对 SharePoint 2013 的新建或编辑表单中获取用户(个人或组)字段的值? 我已经尝试了通过搜索互联网找到的所有解决方案以及我自己能想到的所有解决方案,所有结果都为空白
所以我需要将一个 Twitter 帐户添加到 ABRecordRef 中。然而,最快的方法似乎是获取社交资料属性的多值引用,创建它的可变版本,查找它是否有 Twitter 条目,如果已经有,则创建
我正在尝试将使用 Tomcat(最初是 5.5,但可以与 7 一起使用)在 MyEclipse 中开发的应用程序部署到我们的演示服务器 (Sun Java Web Server 7)。不幸的是,所有设
我是一名优秀的程序员,十分优秀!