首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >DriverResult编辑器在果园中呈现自定义模板

DriverResult编辑器在果园中呈现自定义模板
EN

Stack Overflow用户
提问于 2012-08-14 04:21:46
回答 1查看 353关注 0票数 0

我正在研究这个模块(Extended Registration)。此模块提供了一种在注册中显示自定义用户字段的简单方法。覆盖AccountController窗体用户并在注册模板中加载编辑器模板

AccountController

代码语言:javascript
复制
        var shape = _orchardServices.New.Register();
        
        var user = _orchardServices.ContentManager.New("User");
        if (user != null) {
            shape.UserProfile= _contentManager.BuildEditor(user);
        }
        
        return new ShapeResult(this, shape);

Register.cshtml

代码语言:javascript
复制
    </div>
    @if (Model.OERegister != null) {
        <fieldset>
            @Display(Model.UserProfile)
        </fieldset>
    }
    <div>

此处的形状是编辑器模板(编辑器模板/部件/模板)

它工作得很好,但我需要在注册表中隐藏一些字段。

我在这里有点迷茫,我想用最原始的方式来做。

提前谢谢。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-08-14 17:22:33

据我所知,这里的问题是如何在表单中隐藏一些字段。

根据表单代码的作者是如何设计它的,或者您是否是开发人员,有多种方法:

  • 具有不同形状的表单部分,并在驱动程序的组合驱动程序结果中返回它们的工厂。这意味着,您的驱动程序通过为部件编辑器提供形状来构建表单的部件将注册多个形状(这类似于BodyPartDriver.Display()所做的事情:它返回三个单独的形状注册)。
  • 如果你不能很好地控制表单的构建方式,你仍然可以覆盖包含你想要隐藏的字段的形状模板。然后,在覆盖中,您可以自由地自定义窗体的外观。请注意,与第一种解决方案不同,这不会自动阻止用户将隐藏字段的数据发布到服务器,从而将其保存。

顺便说一句,我不认为ContentManager.New()会返回null。即使内容类型不是静态定义的(例如,通过迁移或通过ContentDefinitionManager创建),它也会返回一个内容项。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/11941696

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档