我目前正在开发一个网站,允许用户搜索自定义产品目录.我一直在环顾四周,并希望利用Orchard CMS来帮助我开发这个网站.我目前在定制的Orchard Modules和Skywalker博客系列中经历了Ron Petersons youtube 系列.
我觉得我的目标是可能的,但我正在寻找一些关于我的策略是否可以在Orchard框架内工作的验证.
这是我目前的情况:
我有一个指向SQL DB的默认Orchard配置(名为Product-Orchard)
我有一个指向另一个SQL DB(名为Products)的自定义DAL.
产品由您的典型信息(产品名称,描述,价格等)组成.
自定义DAL具有名为Product(具有要与之交互的存储库)的POCO模型,其属性为Name,Description,Price.
现在,基于我读到的有关创建Orchard模块的信息,似乎创建具有自定义内容的自定义模块的方法是:
通过代码生成工具创建模块(我们称之为ProductModule)
创建自定义内容部件(ProductPart)
创建自定义内容部件记录(ProductPartRecord)以充当部件的数据模型.
创建一个自定义ContentPartHandler(ProductPartHandler)来处理内容部分的持久性.
创建自定义驱动程序,该驱动程序是用于准备用于呈现UI的形状的条目.
可能创建一个与驱动程序交互的服务?
这是事情开始变得混乱的地方,我不确定这是否可能.我想要做的是创建一个由我的自定义DAL支持的自定义内容类型,而不是通过Product-Orchard DB中的ContentPartRecord存储数据,但仍然允许它由Lucene模块索引以允许用于搜索产品目录.
是否可以创建由不同数据源支持并仍然利用Lucene搜索功能的自定义ContentType和/或ContentPart?
在高级术语中,我想要一个Product ContentType,其中ContentItems实际存储在我的辅助数据库中,而不是Orchard数据库中(并且仍然希望能够通过Projections利用Lucene搜索).