原文链接: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 界面:

添加新层信息:层名称、描述,以及层规则,完成后点击保存

层规则的值是一个可以解析为truefalse的表达式。如果解析为 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入门——部件管理的更多相关文章

  1. [译]:Orchard入门——Orchard控制面板概览

    原文链接:Getting Around the Dashboard 文章内容基于Orchard 1.8版本 Orchard控制面板用于管理网站.改变外观.添加内容以及控制Orchard功能可用性.成功 ...

  2. [译]:Orchard入门——构建你的第一个Orchard网站

    原文链接:Building Your First Orchard Site 文章内容基于Orchard 1.8版本 本文将逐步简要介绍Orchard提供的功能.如果你是第一次使用Orchard,本文将 ...

  3. [译]:Orchard入门——手动安装Orchard

    原文链接:Manually Installing Orchard 文章内容基于Orchard 1.8版本 本文将演示通过zip安装包安装Orchard所需要的步骤. 本文包括如下三种不同的Orchar ...

  4. [译]:Orchard入门——安装Orchard

    原文链接:Installing Orchard 文章内容基于Orchard 1.8版本 安装Orchard的方式 主要有以下四种方式安装Orchard: 利用Microsoft Web Platfor ...

  5. CSharpGL(56)[译]Vulkan入门

    CSharpGL(56)[译]Vulkan入门 本文是对(http://ogldev.atspace.co.uk/www/tutorial50/tutorial50.html)的翻译,作为学习Vulk ...

  6. python学习笔记--Django入门四 管理站点--二

    接上一节  python学习笔记--Django入门四 管理站点 设置字段可选 编辑Book模块在email字段上加上blank=True,指定email字段为可选,代码如下: class Autho ...

  7. 6)Linux程序设计入门--消息管理

    )Linux程序设计入门--消息管理 前言:Linux下的进程通信(IPC) Linux下的进程通信(IPC) POSIX无名信号量 System V信号量 System V消息队列 System V ...

  8. [译]:Orchard入门——使用标签管理内容

    原文链接:Organizing Content Using Tags 在Orchard中,内容项可以使用标签来分类,同时,通过格式为 ~/tags/tag-name 的url可以直接查看包含对应标签关 ...

  9. [译]:Orchard入门——媒体文件的添加与管理

    原文链接:Adding and Managing Media Content 注:此文内容相对较老,实际操作指导性不强,仅适合做研究 当你利用富文本编辑器上传图片时(或者使用XML-RPC客户端,例如 ...

随机推荐

  1. 私有项目免费使用Git

    GitHub,私有项目是要收费了,如果想建立私有项目可以选择GitLab. GitLab注册地址:https://gitlab.com/users/sign_in 本机需要安装git,图形化的工具使用 ...

  2. MySQL的insert语句的区别

    SQL Server: insert into tb_articleType (articleType_name,articleType_info) values ("test", ...

  3. Bzoj2850 巧克力王国

    Time Limit: 60 Sec  Memory Limit: 512 MBSubmit: 505  Solved: 204 Description 巧克力王国里的巧克力都是由牛奶和可可做成的.但 ...

  4. 团队博客作业- Week3

    成员介绍 韩青长  测试 我是韩青长,技术小白,抱着对软工的好奇和对未来工作的憧憬选了这门课.暂时选择了测试的工作,也对开发和UI有一定兴趣.从前上帝创造了我们,现在轮到我们来创造自己的软件了~ 陈彦 ...

  5. java 获取文件列表,并按照文件名称排序

    需求:获取全部的日志文件,并按照文件名称倒序排列,把最新的文件放在最前1.获取全部的日志文件:(方法:public List<String> ergodic(File file,List& ...

  6. zend studio汉化

    在help菜单中选择Install New Software,在 work with栏中添加上这样的地址 http://archive.eclipse.org/technology/babel/upd ...

  7. golang笔记——struct

    1.定义一个结构体 type User struct { userid int username string password string } 2.初始化一个结构体 有两种情况,一是得到结构体的对 ...

  8. 布局之按钮的图片分辨率--Android Studio

    在布局页面,想把取消按钮和确认钮大小一致,刚开始想法是错的,不用在控制层设置,也不用在布局层压缩图片,有两个方法法: 1.直接用美图秀秀“尺寸”功能,修改成另一按钮一样的分辨率. 2.设置按钮相同高度 ...

  9. 转 C# 只允许运行一个实例

    来源:http://blog.csdn.net/jin20000/article/details/3136791 互斥进程(程序), 简单点说,就是在系统中只能有该程序的一个实例运行. 现在很多软件都 ...

  10. CentOS6.3编译安装Memcached的PHP客户端memcache

    在安装Memcached的PHP客户端memcache之前,可先看下先前的工作笔记: PHP5不重新编译,如何安装自带的未安装过的扩展,如soap扩展? 安装PHP的memcache扩展 cd /us ...