在Orchard CMS Theme 用代码定义布局Widgets 配置
在上篇中主要详细的叙述了代码的编写,这一篇主要讲解配置。可能有人会有疑问,在上一篇的代码里只有对数据的展示部分的编写,并没有提供数据源。这就是Orchard的强大之处,数据源是通过在后台配置的,那有人又会问了数据存放在哪里呢?在这里我自己定义了ContentPart 和ContentType来存储放自己想要展示的数据,怎样才能让上一篇的布局代码展示自己存储的数据呢? 首先需要创建展示的数据,数据字段定义如下图:
因为这个布局比较简单只是展示一些新产品的图片,所以我把展示的产品图片都放在一条记录里面,现在要展示的记录已经准备好啦,接下来我需要定义Queries让Widgets能够知道如何展示我们的数据,Queries需要配置有三部分如下图:
第一个配置项Filters是用来限定数据的范围,第二个配置项Sort Criteria用来规定数据展示的排序,第三个配置项Layouts是来定义数据展示的形式,在这里需要注意的是在点击Add a new Layout 链接时系统会让你选择布局,这时就会出现我们在上篇文章里定义布局名称ProductsList,还记得他是在哪里定义的吗?是在ProductsListLayout类的 Describe方法中。
ProductsListLayoutForms表单具体配置如下图:
到此我们已经配置好了需要展示的数据源和怎样展示,接下来我们需要让其在首页显示,点击Orchard后台管理的左侧导航的Widgets,进入Widgets的配置界面,把当前布局定义调整到首页,在首页BeforeMain上新增一项Widget配置如下图:
到此配置部分也就结束了。Orchard中widgets是不是有些像asp.net webForm里的webpart。可它没有webpart使用起来方便,不过给我们更多的发挥空间,我也就是抛砖引玉,如果大家感觉文章对你有点帮助,请点击一下本站www.ubof.cn
在Orchard CMS Theme 用代码定义布局Widgets 配置的更多相关文章
- 在Orchard CMS Theme 用代码定义布局Widgets
因为公司业务需要,经过本人几个月尝试,使用Orchard CMS 开发一个简单的企业门户(地址是http://www.ubof.cn).在刚开始接触Orchard CMS,对于个性化的网页布局不知道怎 ...
- [Orchard CMS系列] 创建主题(Writing a new theme)
本文需要对Orchard CMS有基本了解. 开启模块 code generation 创建新的主题工程骨架 Codegen theme MyTheme 创建主题样式 src\Orchard.Web\ ...
- Orchard CMS中如何打包不带源码的模块
在Orchard CMS的官网已经提供了文档说明如何打包,但是如果使用它的打包方式,打好的nuget包是带源代码的.如果是为开源系统写模块,不需要关注源代码是否可见.但是如果是用Orchard CMS ...
- SharePoint 2013 图文开发系列之代码定义列表
在SharePoint的开发中,用Visual Studio自定义列表是经常会用到的,因为很多时候,我们并不会手动创建列表,而手动创建列表在测试服务器和正式机之间同步字段,也很麻烦,所以我们经常用代码 ...
- WPF中通过代码定义模板
WPF中可以再XAML中定义模板,也可以通过C#代码定义模板,通过代码可能更清楚的看清其逻辑,而且代码的好处就是可以随时动态的去操作,而在XAML中定义的一般都是静态的. //控件呈现的显示内容1(这 ...
- SharePoint 2013 设置自己定义布局页
在SharePoint中.我们常常须要自己定义登陆页面.错误页面.拒绝訪问等:不知道大家怎样操作,曾经自己常常在原来页面改或者跳转.事实上SharePoint为我们提供了PowerShell命令,来改 ...
- 在 Windows Azure 网站 (WAWS) 上对 Orchard CMS 使用 Azure 缓存
编辑人员注释: 本文章由 Windows Azure 网站团队的项目经理 Sunitha Muthukrishna 撰写. 如果您当前的 OrchardCMS 网站在 Windows Azure 网站 ...
- Orchard CMS -Migration文件更新后数据库不更新的问题 new properties not updating after migrationData migration is not working?
Orchard CMS - new properties not updating after migrationData migration is not working? If your mapp ...
- cucumber java从入门到精通(2)用代码定义步骤
cucumber java从入门到精通(2)用代码定义步骤 上一节里我们定义了feature文件,feature文件就是自然语言描述的用例文件,它有一定的章法,具体的潜规则是: 使用Feature关键 ...
随机推荐
- 【HDU 5934】Bomb(强连通缩点)
Problem Description There are N bombs needing exploding. Each bomb has three attributes: exploding r ...
- Oracle获取最近执行的SQL语句
注意:不是每次执行的语句都会记录(如果执行的语句是能在该表找到的则ORACLE不会再次记录,就是说本次执行的语句和上次或者说以前的语句一模一样则下面语句就查不出来的): select last_loa ...
- functools内置装饰器
def update_wrapper(wrapper, wrapped, assigned = WRAPPER_ASSIGNMENTS, updated = WRAPPER_UPDATES): def ...
- [Go]程序实体
Go语言中的程序实体包括变量.常量.函数.结构体.接口 1.常见声明变量的方式 package main import ( "flag" "fmt" ) fun ...
- idea添加虚拟参数
1. 2.
- 【POJ3311】Hie with the Pie(状压DP,最短路)
题意: 思路:状压DP入门题 #include<cstdio> #include<cstdlib> #include<algorithm> #include< ...
- msp430入门编程12
msp430中C语言的模块化头文件及库文件12 msp430入门学习 msp430入门编程
- 解决WordPress安装主题/插件提示输入FTP帐号的问题
有时比较着急想要安装一款主题或插件,却提示需要输入 FTP 帐号密码……这种情况蛮让人讨厌的,以下就是最完美的解决方法: 方法一:在 wp-config.php 文件加入代码 如果使用的是虚拟主机,可 ...
- HDU 5668 Circle
中国剩余定理. 可以手动模拟一下每一次开始的人的编号和结束的人的编号. 每次删掉一个人,对剩下的人重新编号. 这样一次模拟下来,可以得到n个方程 形如:(u[i]+k)%(n-i+1)=v[i] 化简 ...
- uva 10604
状态压缩 奇怪的是A与B混合 和 B与A 混合得到的热量可能不同 #include <cstdio> #include <cstdlib> #include <cmat ...