是否可以为 Orchard 中的 List 创建替代方案?

发布于 2024-12-07 14:49:36 字数 71 浏览 1 评论 0原文

我只想自定义列表视图。

是否可以?我想是的。如何?

如何命名内容类型列表的替代名称,例如“问题”

I just want to customize List view.

is it possible? I think yes. How?

How to name alternative for List of Content types, let say, "Question"

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

贩梦商人 2024-12-14 14:49:36

当然。由于问题的背景有点模糊,我会做出假设。我假设您有一个构建列表的控制器操作(类似于博客正在做的事情)。从操作中,您通常会使用如下所示的代码构建一个列表形状:

var pager = new Pager(_siteService.GetSiteSettings(), pagerParameters);
var things = _someServiceClass.GetThings(something)
    .Skip(pager.GetStartIndex()).Take(pager.PageSize))
    .Select(p => Shape.Thing_Summary(
        Thing: p,
        SomethingElseThatIsRelevantToTheTemplate: foo));

Shape list = Shape.List(Pager: pager);
list.AddRange(things);
list.Metadata.Alternates.Add("list_things");

return new ShapeResult(this, list);

看到末尾附近的那一行了吗?它添加了替代方案,以便您可以通过在主题的视图文件夹中创建名为 list.things.cshtml 的文件来为该特定列表构建特定模板。

Sure. As the question is a little vague about context, I'll make assumptions. I'll assume that you have a controller action building the list (similar to what the blog is doing). From the action, you are usually building a list shape with code looking something like this:

var pager = new Pager(_siteService.GetSiteSettings(), pagerParameters);
var things = _someServiceClass.GetThings(something)
    .Skip(pager.GetStartIndex()).Take(pager.PageSize))
    .Select(p => Shape.Thing_Summary(
        Thing: p,
        SomethingElseThatIsRelevantToTheTemplate: foo));

Shape list = Shape.List(Pager: pager);
list.AddRange(things);
list.Metadata.Alternates.Add("list_things");

return new ShapeResult(this, list);

See that line near the end? It's adding the alternate, so that you can build a specific template for that particular list by creating a file named list.things.cshtml in the views folder of your theme.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文