【问题标题】:How to use Orchard CMS template module如何使用 Orchard CMS 模板模块
【发布时间】:2015-09-09 23:14:01
【问题描述】:

Orchard CMS 中有一个模块允许在仪表板中编辑模板,但不清楚如何正确利用输出。在 MVC 模块控制器中访问模板、将模板传递给模型、然后在 View cshtml 文件中呈现它的正确方法是什么?

【问题讨论】:

    标签: orchardcms


    【解决方案1】:

    您可以使用 shapefactory 构建任何形状:

    public MyController(IShapeFactory shapeFactory) {
        Shape = shapeFactory;
    }
    
    public dynamic Shape { get; set; }
    
    public ActionResult Index() {
        var someModel = new SomeModel();
    
        // You can build your shape here:
        var shape = Shape.TheTemplateShapeName(SomeData: someModel.SomeProperty);
    
        // or: Shape.New("TheTemplateShapeName").SomeData(someData); 
        // you can just chain on the dynamic shape
    
        var viewModel = Shape
            .ViewModel() // simple orchard method to build a viewmodel with chaining
            .MyShape(shape)
            .SomethingElse("Some string");
    
        return View(viewModel);
    }
    

    然后在你的 MyController/Index.cshtml 中:

    <h1>@Model.SomethingElse</h1>
    @Display(Model.MyShape)
    

    【讨论】:

    • 如果模板在数据库中而不是在视图文件夹中,ShapeFactory 是否足够智能以找到模板?我正在使用“模板”模块。我如何使用 Shape Factory 来渲染页面?
    • 不,它不会检查数据库,你的“模板”模块是指哪个模块?
    猜你喜欢
    • 1970-01-01
    • 2011-09-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多