关于在 Orchard CMS 中映射网络模板的详细文档

Detailed documentation about mapping a web templete inside Orchard CMS

我在网上找到了一个网页模板 link,我想允许最终用户使用 CMS 编辑网站。我找到了基于 ASP.Net MVC 的 Orchad CMS。但我面临的问题是,我没有找到关于如何映射一个类似于我提供的在 CMS(如 Orchard)中进行管理的 Web 模板的完整文档,以便最终用户(非技术用户) ) 可以添加新图片、更改主页消息、添加新项目等

这基本上归结为“writing a new theme”和实现功能:)。

您所指的特定页面在作为 CMS 的 Orchard 中实现起来相当简单,具有广泛的内容定义编辑可能性.

不过你可能想先试试这个:

  1. 暂时忘记 template/theme
  2. 在 Visual Studio
  3. 下载并 运行 Orchard
  4. 尝试使用默认主题
  5. 构建您的功能
  6. 配置它,以便其他用户(创建测试用户)可以根据需要使用它(创建新项目并更改names/images)。

让您在#3 中抢先一步(无需编码):

  • 您的功能是 'recent projects'
  • 的列表
  • 在 Orchard 中,'recent project' 可以实现为 ContentType(其中用户可以 'create instances' 也称为 ContentItem(s))

    One way of defining contenttypes is by using the admin interface behind "Content Definition". Make sure the module "Content Types" is enabled.

  • 您的 'recent project' contenttype 基本上有两个属性,即 "name/title" 和 "image"。这些可以通过多种方式实现,我不会全部提及,但最简单的方法是将 Fields 添加到内容类型定义中(TextField 用于 name/title 和图像的 ImageField)。

    tip: You can also implement the name/title by adding the TitlePart to the RecentProject contenttype instead of using a TextField. Parts are one of the concepts which make Orchard a very powerful CMS and this one is the easiest to understand. The result is more or less the same, you will get a way to add a title to the contentitem instances.

到目前为止,您基本上可以创建 "RecentProject" 个内容项。您现在需要创建一种方法来在前端呈现您的内容项。同样,有多种方法可以做到这一点。我将继续您无需创建任何代码的路径。

  • ContainablePart 添加到您最近的项目内容类型。
  • 创建一个名为 'Recent projects' 的列表(可选择将可包含的项目限制为 'RecentProject',在将容器部分添加到您的内容类型后应列出该列表

    A list also has the AutoroutePart attached which is the mechanism for proving a frontend url to display contentitems. By default a url is created based on your title to this would result in a page /recent-projects Make sure the Lists module is enabled

  • 仔细阅读:不要使用管理员左上角的link创建你的RecentProject内容项("New > RecentProject"),而是去你的'Recent projects' 您刚刚创建的列表。有一个选项可以在该特定列表中创建新项目,它会自动将项目连接到列表(这一切都是使用 ContainerPart 完成的)。

此时您可以转到 /recent-projects 并查看您的 Recent Projects 列表以 Detail 模式显示。 ListDetail 显示基本上以 Summary 模式(以及可选的寻呼机)呈现其每个 Contained 项目。不要介意它现在的样子。如果你已经掌握了这里的所有内容,那么你可以从我提到的关于编写新主题的第一个 link 开始,但更重要的是你应该尝试理解“Accessing and rendering shapes" and "Understanding placement info”,这两个都是用来管理这些主题的显示模式如 "Detail" 和 "Summary"。

Enable the Shape Tracing module to help you with this. It is gold!