Orchard CMS以自定义形式下载内容类型

时间:2014-12-18 09:39:55

标签: orchardcms

我是orchardCMS的新手,并使用Orchard v.1.8.1.0。我有一个名为" Event"的自定义内容类型。我正在创建自定义表单,使匿名用户可以注册任何特定事件。

我无法在自定义表单中显示事件列表。我尝试使用内容选择器字段,但即使允许匿名用户角色查看所有事件,我也会被拒绝访问。

有人能引导我朝正确的方向前进吗?我将非常感谢你。

由于

1 个答案:

答案 0 :(得分:0)

关于安全性,您可以在“用户”下的管理员中指定哪些角色可以访问特定的内容类型。

关于数据加载,您始终可以创建一个服务类来加载数据(实现IDependency,以便您可以将其注入其他类,如控制器或处理程序)。

public class EventService : IEventService {
    private IContentManager _contentManager;
    public EventService(IContentManager contentManager) {
        _contentManager = contentManager;
    }

    public IEnumerable<IContent> GetEvents() {
        return _contentManager.Query("Event").List();
    }
}

public interface IEventService : IDependency {
    IEnumerable<IContent> GetEvents();
}

现在您可以加载数据了。你打算如何使用或展示它?了解这一点对于找到要加载数据的位置的解决方案至关重要。这可能是ControllerContentPartDriver实现中的某个地方,前者需要“手动”显示/存储数据,后者需要创建内容部分,驱动程序,处理程序和位置。但正确的实现会处理数据的显示和存储。