【问题标题】:Umbraco and data from sql ServerUmbraco 和来自 sql Server 的数据
【发布时间】:2016-03-27 08:09:38
【问题描述】:

我在构建 Umbraco 7 网站时遇到了困难。我制作了我的主模板(页眉、页脚和渲染正文)和主页(包含链接到不同产品页面的自定义菜单)。我对控制器和模型有一些了解。

在 sql 数据库中,我有一个产品列表,每个产品都有成本、描述等属性。我怎样才能创建这个结构

  • 主模板
    • 主页
    • 产品1
      • 产品 1 描述
      • 产品 1 成本
      • 产品 1 运费
    • 产品 2
      • 产品 2 说明
      • 产品 2 成本
      • 产品 2 运费

每个产品都会有几个子页面(描述、成本、运费),它们看起来都一样(html 结构),但数据必须来自 sql server 数据库。我尝试在 umbraco 的后端创建文件夹并将视图放在那里,但是在尝试导航到该路径时收到错误消息(目录 url 在 web.config 中设置为 true)。

最后我需要这样的结构:

  • /(主页)
  • /product1/product1description(/product1/ 将重定向到此页面)
  • /product1/product1cost
  • /product2/product2description(/product2/ 将重定向到此页面)

我认为视图是自定义文件夹对我有好处,但我无法让它工作。有什么建议吗?

【问题讨论】:

  • 尝试导航到路径时收到的错误消息是什么?
  • 另一个观察结果,无论出于何种原因,结构似乎并不直观。如果这是一个电子商务项目,我会使用 Merchello 之类的东西。
  • 我得到一个简单的 404。找不到页面。我想要的是在 Visual Studio 中创建视图,并将它们分组到文件夹中。我需要这些文件夹来建立一个特定的 url 路径,以及能够使用 sql 查询的视图/模型。如果我将其保留在根级别,则该视图有效,但如果我将其移动到文件夹中,则会出现 404 错误

标签: .net model-view-controller umbraco


【解决方案1】:

在我看来,您首先需要对DocumentTypeContent有一个很好的了解;这将生成您的“站点地图”或内容结构;它与标准的 ASP.Net MVC 不太一样,因为 Umbraco 开箱即用地为您处理控制器和模型;您需要做的就是像您所做的那样创建视图(模板)。

除非您创建由您自己的控制器支持的局部视图(继承自 SurfaceController),否则您不需要物理创建任何进一步的文件夹结构。您上面概述的“文件夹”结构应该反映在您的内容树中。

其他说明:

  • @droidbot 提到使用 Merchello 处理产品数据 - 如果您正在建立在线商店,那么您可能需要考虑这一点;但是文档已过时,您可能会发现实施其他 Umbraco 电子商务插件之一更容易。
  • 如果您的产品数据已经在数据库表中结构化(并且取决于数据的复杂性和数量),那么您可能需要编写一些代码来查询它并将其直接显示在产品模板中,而不是将其“导出”到Umbraco 作为 Merchello 之类的内容或产品数据 - 在这种情况下,我建议您更深入地了解 SurfaceControllers。您可能希望使用一些自定义数据类型来扩展 Umbraco 后台。

底线 - 复习 Umbraco 文档。你会回答很多关于实施的问题。订阅和浏览视频教程也不会受到伤害:

【讨论】:

  • 我拥有的是 sql 数据库。我使用 Petapoco 连接到该数据库(我在 web.config 中添加了它的凭据)并定义了一个“公共静态 IList”以获取所有信息,并定义一个通过 id 查询。在视图中,我想使用 sql 查询从该模型和控制器传递数据(获取其中 id = xx 的数据),最后我将为该数据库中的每一行创建一个视图。每个视图都将使用它自己的 url 访问,使用一些文件夹结构构建,因为我需要重现某个 url 路径
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2023-03-18
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多