【问题标题】:Sitecore from Developer perspective从开发人员的角度来看 Sitecore
【发布时间】:2011-05-20 13:12:59
【问题描述】:

我刚开始研究 Sitecore,我想知道是否有人可以帮助我从开发人员的角度了解它究竟是什么/如何。

我已经浏览了他们的大量文档以及他们的 SDN - 在我看来,到目前为止,他们中的大多数只是通过他们的界面(即通过他们的“Sitecore 桌面”)拖放点击这里和那里,非常少实际编程。

这是真的吗?还是他们在幕后进行实际的 C#/ASP.Net 编程来实现业务逻辑等?

我浏览了他们的基本教程(为产品创建基本站点),就像我上面提到的,这一切都是通过他们的界面完成的,没有任何真正的编程 - 而不是使用 ASP.Net MVC3 音乐商店教程可以看一些C#编程。

谢谢!

【问题讨论】:

    标签: sitecore sitecore6


    【解决方案1】:

    总体而言,Sitecore 开发人员应该对 Sitecore 有最深入和最深入的了解。开发人员需要了解 CMS 用户的观点(即内容编辑器的 POV),他们需要了解内容树中的内容架构,并且需要了解他们构建的代码。开发人员应该对 Sitecore 解决方案有最深入的了解,因为您需要了解架构才能知道如何编码。了解架构意味着您知道内容编辑器将如何与内容交互。

    架构

    Sitecore 是一个增强型数据库。这样想吧。您可以根据需要构建网站。但是,一旦您开始学习 Sitecore 架构的原则和最佳实践,您就会注意到一种模式。内容树中的所有内容都是一个项目。每个项目的模型(在 Sitecore 术语中称为模板)由架构师(通常是开发人员)定义。事实上,即使有一个单独的人担任架构师角色,他们也可能具有开发人员知识,因为架构定义了事物的开发方式。事实上,架构是最重要的事情之一。

    代码

    代码分为多种类型,但最简单的形式主要有两种:布局子布局

    布局想象为普通的 ASP.NET 应用程序使用 MasterPage 的目的。在 Sitecore 中,布局实际上是 ASPX WebForm,但它充当母版页。您可以在您的网站上使用的一些布局示例包括:一列布局、两列布局、打印布局。这些将分别转换为具有一个主要内容区域的页眉和页脚,具有主列和侧栏的页眉和页脚,以及可能带有徽标和仅主要内容的打印优化布局。

    子布局是构成页面的所有小组件。示例包括:主导航、侧边栏中的促销框、5 条最新新闻列表、促销 CTA、侧边栏幻灯片等。这些组件可以模块化并由内容编辑器移动,或者它们可以固定在布局的位置,例如促销框始终可以作为代码中定义的业务规则出现在两列布局的侧边栏中。

    要回答您关于是否有实际编码的问题,是的。您使用 ASP.NET 控件为 Sitecore 和 Sitecore 的 C# API 编写代码,以访问填充到每个项目的模板中的数据。因此,如果您有一个页面项目的页面标题作为标题标签,您的代码将使用 Sitecore API 从模板访问“标题标签”字段(请记住,Sitecore 中的模板是一个数据模型)在 Sitecore 中。

    Sitecore 编码

    我想说有两种编码方法。我相信您发现了其中之一,它使用的是 Sitecore 界面中的内部工具。 Sitecore 有一个名为 Developer Center 的部分,可让您创建布局和子布局。坦率地说,将此与一直在设计模式下使用 Visual Studio 进行比较。我从未使用过开发人员中心进行编码。相反,我在 Visual Studio 中编写代码,这是人们为 Sitecore 编写代码的最常用技术(至少我认为是这样)。现在,如果您想知道,编码如何连接到 Sitecore 的数据……那么答案就在 Sitecore 内部。树中有一个称为布局的部分。这里是您的布局和子布局的名称。每个布局和子布局项都有一个分别映射到 ASPX WebForm 或 ASCX 用户控件的路径。这就是您在 Visual Studio 中编写的文件系统上的代码实际被 Sitecore 使用的方式。然后通过 Sitecore 中每个项目的 Presentation > Details 选项卡使用这些布局和子布局项目。

    初学者

    使用 Sitecore 最困难的事情之一就是学习曲线。我已经使用 Sitecore 多年了,我很喜欢它。事实上,这就是我真正所做的一切。到目前为止,它是我最喜欢的 CMS,因为它完全可定制且对开发人员非常友好。 Sitecore 建议新开发人员参加开发人员培训课程,这样他们就可以在实际培训课程中基本解释我上面解释的内容。在本次培训中,您将学习架构,以及代码如何连接到它。培训涉及内容树中的动手架构工作和动手编码。为新开发人员推荐的培训课程是:

    【讨论】:

    • 很好的答案。我接受了培训,我可以保证。我相信如果没有它,有些事情我不会很快理解。标准值和插入选项之类的东西。
    【解决方案2】:

    Sitecore 是一个 ASP.NET 应用程序。这意味着您可以编写任何您喜欢的代码。我们的团队自己在 Visual Studio 中创建所有子布局(ASCX 文件)和布局(ASPX 文件),而不是 Sitecore 内置的编辑器。

    我见过的一些 Sitecore 安装几乎不依赖 CMS 进行渲染。相反,值是通过代码隐藏提取的,就好像 Sitecore 只是一个数据库一样。这在某些情况下可以正常工作。

    最令人印象深刻的 Sitecore 实例使用了开发人员可以访问的所有可用工具。使用 Sitecore 工具的设计使用方式,可以为(通常是非技术性的)内容编辑器提供一些令人印象深刻的编辑选项。

    例如:使用 Sitecore Fieldrenderer 而不仅仅是占位符或标签不仅会自动适当地呈现内容(无论是图像还是富文本),而且它会允许内容编辑器直接编辑内容网页,而不是所有 CMS 系统都拥有的唯一后端。

    工作流是另一个杀手级功能,对于规模合适的客户来说,他们可以负担得起 Sitecore。它允许您为树中的项目构建审批流程。这样,法律、营销和图形团队都会在新页面上线之前在新页面上签名。然后,当所有批准完成后,网站会自动发布。

    总结一下:Sitecore 是一个 .NET 应用程序,您可以编写任何您想要的代码。这意味着您应该专注于 CMS 功能,并确保从内容编辑器和财务角度来看它非常适合您。

    【讨论】:

      【解决方案3】:

      Sitecore 在大多数情况下只是拖放,正如您在内容创作方面所描述的那样,但要将这些内容实际转换为您需要实现布局、子布局等的网页。

      布局是通用的 ASP.NET 页面 (aspx),子布局只是 Web 控件 (ascx),如果您愿意,也可以使用 XSLT 生成 HTML,但它仅对基础有用(Sitecore 目前仅支持 XSLT 1) .这些 ASP.NET 控件与带有代码等的标准 Web 表单控件不太相同。不同之处在于 Sitecore 是您的数据源,它为您提供了访问所有相关应用程序的 API。

      但 Sitecore API 也超越了这一点,允许您以编程方式访问框架的几乎任何组件。这些 API 有很好的文档记录并且非常容易理解,它们可以用于更复杂的场景。

      如果您不太喜欢 Web 表单,最新版本的 Sitecore (6.4) 还允许您使用 MVC 框架来创建布局/子布局。

      【讨论】:

        【解决方案4】:

        从编码的角度来看,布局和子布局是进行任何自定义的好方法,但这里没有提到第三种方法。我们称之为站点核心扩展。我经常发现要满足客户要求,为工作流操作或模板命令创建自定义程序集是唯一的方法。 例如,进入工作流状态时的标准电子邮件通知仅允许您将服务器、收件人、描述等应用于操作项字段。在我们的案例中,这些值不断变化,因此我们需要更加动态。应用于动作的自定义程序集使我们能够灵活地执行标准动作不会做的许多事情。另一个例子是我们需要让一个项目中的树列表滚动到并突出显示当前项目。这样做的方法是用我们的自定义程序集覆盖核心树列表操作。 请记住,向布局添加大量代码(可能是大量页面的母版页)会增加运行时开销。

        【讨论】:

          【解决方案5】:

          从用户体验的角度来看,Sitecore 不切实际、过于强大且过于复杂,无法有效地用于拥有典型内容贡献者和编辑者的团队。没有考虑简化内容创建或简单的页面模板维护。如果没有以下情况,我绝不会向团队推荐 Sitecore:

          • HTML 创作/编辑技能
          • FTP 概念和站点树理解
          • 数据管理技能

          该系统是为开发人员而构建的,用户是一个非常遥远的事后想法。以我的经验,它提供了大量的好处——作为一个可供日常内容作者使用的系统并不是这些好处之一。该系统是如此模块化和过度管理,它迫使各个级别的用户做出只会使原本简单的操作复杂化的决策。内容发布是高度模块化的,对开发人员来说是一个很大的好处;这对日常用户来说是一场灾难。

          如果您是开发人员,Sitecore 是一个很棒的构建环境。它功能强大且灵活。

          如果您是用户,Sitecore 任务繁重,并且提供了我在使用 CMS 时遇到的最陡峭的学习曲线。 UAT 一直是一场噩梦。

          【讨论】:

            猜你喜欢
            • 2011-08-22
            • 1970-01-01
            • 1970-01-01
            • 2010-11-10
            • 1970-01-01
            • 2022-10-17
            • 1970-01-01
            • 1970-01-01
            • 2012-02-07
            相关资源
            最近更新 更多