【问题标题】:Displaying single Fields for a custom ContenType in Orchard在 Orchard 中显示自定义 Content 类型的单个字段
【发布时间】:2011-07-20 12:53:14
【问题描述】:

我开始研究非常好的 CMS Orchard,在阅读了基本文档之后,我遇到了一个小障碍。 我创建了一个新的 DataType,'SpecialOffer',它有一些数据部分和一些文本数据字段:

ProductName
PhotoURL
Price
Description

我已经制作了一个列表,制作了一个小部件,自定义了 position.info 文件和 Views\Fields\Common.Text.cshtml 文件以更改字段的位置和呈现方式(照片的 img,在价格前加上 € 和依此类推),但这并没有为我提供对生成的 html 的适当定制量。

我已经安装了开发者形状跟踪模块并创建了一个备用Content-SpecialOffer.cshtml 文件。 这让我有机会轻松自定义 HTML 围绕内容,但我不知道如何访问单个 DataItem 字段以按我想要的方式显示它们。

我的意思是通过显示整个SpecialOffer对象

@Display(Model.Content )

并且,探索模型,我还没有找到一种方法来写一些东西,比如说(伪代码)

   <div>
    the 
   <span class="name"> @Model.Contentitem.Fields["ProductName"]</span>
     camera costs 
    @Model.Contentitem.Fields["Price"]
    euros
    </div>

我在 SO 上读过这篇文章 Custom View For RecentBlogPosts in Orchard

但它并没有解决我的问题,因为它使用了 blogpost 的标准属性。

另一个小问题:除了在项目果园的文档页面和b。 LeRoy 的http://weblogs.asp.net/bleroy/ 我在哪里可以学习果园?

谢谢!

编辑

我已经找到了一种方法:

@{
    dynamic offer =Model.ContentItem.SpecialOffer;

    }

     <div>
    the 
   <span class="name"> @offer.ProductName.Value</span>
     camera costs 
     @offer.Price.Value
    euros
    </div>

这是正确的方法吗?

【问题讨论】:

  • 嗯。闻起来很有趣,但我知道你在做什么,而且它确实有效!另一种方法是使用客户端脚本来实现,但这也很有趣。
  • 您实际上是在使用字段,还是通过内容部分访问字段(即针对部分记录的字段)?字段(如 ImageField、TextField 等)确实用于“非重要”数据(B. Leroy 一周左右发布了这个,如果你愿意,我可以为你挖掘链接)。
  • mdm,我认为字段用于重要的类型特定数据:“字段是特定于类型的东西;例如,产品类型可能具有 SKU 和价格字段。但是,一部分,是一种可重复使用的组件,可以附加到一种或多种类型。” orchardproject.net/docs/Creating-custom-content-types.ashx 但我想阅读您提到的博文,谢谢。

标签: c# model content-management-system customization orchardcms


【解决方案1】:

是的,没关系。 在 orchardproject.net 主页上的文档和 RSS 提要之后,一个主要的信息来源(比前两个更好)是应用程序和模块的源代码。

【讨论】:

  • 好的,谢谢,我会调查的。我的解决方案,用 DanielEli 的话来说,“闻起来很有趣”,我认为存在一种更清洁、更有条理的方式。无论如何,这看起来非常简单和强大,即使不能适应主题的变化。谢谢。
  • 它没有。这正是我们添加对内容项的动态访问的原因。它究竟是如何不适应主题变化的?
  • 好吧,如果我更改主题,则包含在原始主题文件夹中的 Views\Fields\Common.Text.cshtml 文件在新主题文件夹中丢失了......所以管理图形主题的人必须警告不要删除旧的,并复制修改后的视图。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-02-14
  • 1970-01-01
  • 1970-01-01
  • 2021-11-26
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多