[译]:Orchard入门——部件管理
原文链接:Managing Widgets
在Orchard中,部件是可以加入到当前当前主题任何位置或区域(如侧栏sidebar或底部区域footer)的UI块(如:HTML)或代码部分(如:内容部分)。常见部件示例包括:导航菜单navigation menus, 图片库image galleries, 广告ads, 视频videos, 以及标记云图tag clouds
本文介绍部件的基础知识,以及如何管理部件。
层Layers, 区域Zones, 和部件Widgets
在Orchard控制面板中,点击 部件Widgets 菜单进入部件管理界面。Widgets 界面列出了可用的部件列表,以及可以添加部件的层_layer_和区域_zone_。
你可以将层 layer 理解为展示一个部件(或一组部件)的一系列规则。例如:一个层可以控制页面上某一部件只对登录用户可见。区域_zone_控制部件显示在页面的哪一个位置。
下图为部件Widgets 页面:
可用的部件
一旦部件设置可用 (通常是在控制面板-模块-功能下面启用了一个功能后引起), Orchard会自动将部件添加到当前主题区域可用部件列表当中。要查看区域可用部件列表,点击部件界面中区域列表中某一区域后面的添加按钮。
例如:在部件界面中点击 Header 区域后的添加按钮。网站将展示可以添加到区域的可用部件列表。
下面表格描述了Orchard中默认可用的部件:
部件Widget | 描述Description |
---|---|
Blog Archives | 显示指定博客的博文条目列表 |
Container Widget | 显示内容项容器,例如一个列表 |
Html Widget | 显示HTML内容——需要通过部件编辑器添加内容 |
Recent Blog Posts | 显示指定博客的最近更新博文 |
层的列表
Orchard内置提供了一些层。你也可以按照自己的需要定义层,稍后将详述添加层。在部件页面,你可以通过当前层下拉菜单改变当前编辑的层,也可以点击添加一个新层来来添加新层。
下面列表列举了默认层的显示规则,以及层的作用。
层Layer | 规则Rule | 描述Description |
---|---|---|
Default | true | 在所有页面都显示 |
Authenticated | authenticated | 用户已认证——即对登录用户可见 |
Anonymous | not authenticated | 匿名用户可见 |
Disabled | false | 不显示。可用于保存当前不需要显示的部件配置 |
TheHomepage | url("~/") | 首页显示 |
区域列表
Orchard中,网页被分成许多个区域。可用区域被定义在网站主题之中。在部件界面,你可以看到当前选中层所有可用区域的列表。界面上也包含当前选中层的每个区域包含的部件。
关于更多默认主题(TheThemeMachine)的可用区域信息,参见:原文:Customizing the Default Theme。
添加层
点击控制面板-部件-添加一个新层来添加一个层,下图为 Add Layer 界面:
添加新层信息:层名称、描述,以及层规则,完成后点击保存。
层规则的值是一个可以解析为true 或 false的表达式。如果解析为 true, 则部件显示,否则部件不显示。
下表简述了建立层的语法规则:
语法规则Rule Syntax | 描述Description |
---|---|
url("<url path>") | 当当前url地址符合指定的路径,则为true。如果在路径最后加了星号(*),所有此路径下的子链都被认为是true(如:url("~/home*") )。 |
authenticated | 用户已登录则为true。 |
ContentType("<Type>") | 浏览内容类型与特定的类型匹配,则为true。如:内容类型(“Page”) |
not | 逻辑非 |
and | 逻辑与 |
or | 逻辑或 |
表达式可以使用括号。
例如,下面表达式定义的规则表示对于未登录用户可以在About页面查看到部件,登录用户在任何页面都可以看到部件。
(not authenticated and url("~/about")) or authenticated
如 允许多个url值,可以使用如下语法:
url("~/foo") or url("~/bar")
为区域添加部件
点击要添加部件的区域后的添加按钮,然后选择要添加的部件,以此给一个区域添加部件。
例如:点击Header区域后的添加按钮,然后在 Choose A Widget 页面点击 Html Widget。然后网站将展示 Add A Widget 页面
要配置哪些字段取决于你配置的部件类型。所有部件都包含区域Zone, 层Layer, 标题Title, 和 位置Position 字段。位置字段确认区域内部所有部件的相对位置(事实上就是z-order)。需要注意的是区域内的部件可以来自多个层。例如:两个完全不同的层中可能在统一区域都含有部件。
位置字段可以是整数,也可以是由点分隔的整数序列。例如:以下值都是有效的:5, 10.1, 7.5.3.1。位置值小的部件将显示在位置值大的部件之前。
设置完所有字段后,点击保存。
编辑或删除部件
要编辑或删除部件,在部件页面的当前层下拉框中选择部件所在的层。然后在层所含的区域列表中,点击要更改的部件。之后会自动进入编辑部件界面:
编辑你想修改的字段,然后点击保存。要从区域中移除部件,点击后面的移除按钮。
译:奇葩史
[译]:Orchard入门——部件管理的更多相关文章
- [译]:Orchard入门——Orchard控制面板概览
原文链接:Getting Around the Dashboard 文章内容基于Orchard 1.8版本 Orchard控制面板用于管理网站.改变外观.添加内容以及控制Orchard功能可用性.成功 ...
- [译]:Orchard入门——构建你的第一个Orchard网站
原文链接:Building Your First Orchard Site 文章内容基于Orchard 1.8版本 本文将逐步简要介绍Orchard提供的功能.如果你是第一次使用Orchard,本文将 ...
- [译]:Orchard入门——手动安装Orchard
原文链接:Manually Installing Orchard 文章内容基于Orchard 1.8版本 本文将演示通过zip安装包安装Orchard所需要的步骤. 本文包括如下三种不同的Orchar ...
- [译]:Orchard入门——安装Orchard
原文链接:Installing Orchard 文章内容基于Orchard 1.8版本 安装Orchard的方式 主要有以下四种方式安装Orchard: 利用Microsoft Web Platfor ...
- CSharpGL(56)[译]Vulkan入门
CSharpGL(56)[译]Vulkan入门 本文是对(http://ogldev.atspace.co.uk/www/tutorial50/tutorial50.html)的翻译,作为学习Vulk ...
- python学习笔记--Django入门四 管理站点--二
接上一节 python学习笔记--Django入门四 管理站点 设置字段可选 编辑Book模块在email字段上加上blank=True,指定email字段为可选,代码如下: class Autho ...
- 6)Linux程序设计入门--消息管理
)Linux程序设计入门--消息管理 前言:Linux下的进程通信(IPC) Linux下的进程通信(IPC) POSIX无名信号量 System V信号量 System V消息队列 System V ...
- [译]:Orchard入门——使用标签管理内容
原文链接:Organizing Content Using Tags 在Orchard中,内容项可以使用标签来分类,同时,通过格式为 ~/tags/tag-name 的url可以直接查看包含对应标签关 ...
- [译]:Orchard入门——媒体文件的添加与管理
原文链接:Adding and Managing Media Content 注:此文内容相对较老,实际操作指导性不强,仅适合做研究 当你利用富文本编辑器上传图片时(或者使用XML-RPC客户端,例如 ...
随机推荐
- 数据结构图文解析之:哈夫曼树与哈夫曼编码详解及C++模板实现
0. 数据结构图文解析系列 数据结构系列文章 数据结构图文解析之:数组.单链表.双链表介绍及C++模板实现 数据结构图文解析之:栈的简介及C++模板实现 数据结构图文解析之:队列详解与C++模板实现 ...
- infragistics-webdatagrid
infragistics-webdatagrid DataRow DataTable DataSet DataColumn stringBuilder append appendFormat 存储过程 ...
- fedora 24 使用扇贝网页版没有声音
(扇贝的官方答疑:https://www.shanbay.com/help/faq/no_voice/) 第4步下载MP3测试文件没办法使用: 似乎因为MP3格式的文件是的版权问题. 打算安装能处理M ...
- 三列等高 css实现
实现这个三列等高 布局需要最外层的一个div wrap容器 里面有三个div容器 这个最外层div 需要移除隐藏 overflow:hidden; 关键点就是三列div 同时margin-botto ...
- Unicode文件读取 出现隐藏字符 (大坑)
C#读取文件..分析时发现应该15位的.. str.Lenght 却 16位.. 字符串复制出来一位位的数..就是15位.. 纳闷中突然想起来会不会是隐藏字符.. 输出 str[0].ToBytes( ...
- FireBug提示:本页面不包含 JavaScript,明明是包含js的。
本页面不包含 JavaScript 如果 <script> 标签有 "type" 属性, 其值应为 "text/javascript" 或者 &qu ...
- sql 比模糊查询速度快的查询方法
INSTR方法: 1:查询TM不包括大学的所有结果集 SELECT TM, ID FROM X_1459307704859 WHERE instr(TM, '大学') = 0; 2:查询TM所有包含大 ...
- SQLite的时候判断语句是否纯在:出现RuntimeException
写SQLite的时候判断语句是否纯在: public boolean exist(long id) { String filter = FRIEND_KEY_ID + "=" + ...
- PAT MOOC dataStructure 4-1
数据结构练习 4-1 AVL 树 1. 题目: Input Specification: Each input file contains one test case. For each case, ...
- 关于Azure带宽的测试
以前见客户经常会碰到一些客户问我们你们Azure的带宽是多少,每次回答这个问题我们只能含糊地告诉客户一个大概数值,这样就会留给客户一个认为我们很不专业的印象,其实站在客户的角度我们也能理解,连这样的一 ...