欢迎各位兄弟 发布技术文章

这里的技术是共享的

You are here

Drupal7 基础(上) 宁皓网 有大用

shiping1 的头像

Drupal 7 的字段,视图,还有内容关系。
准备

下载与安装 Acquia Dev Desktop
       使用 Acquia 的 Dev Desktop ,我们可以快速的在自己的电脑上运行 Drupal,它集成了运行 Drupal 的所有软件,Apache ,Mysql,PHP 等等。另外它还包含 Drupal 本身。

下面我们一起去下载并且安装这个软件。

打开 http://www.acquia.com/downloads

在这个页面上,我们找到 Dev Desktop,这个软件支持 Windows 系统,还有 Mac 系统。 Windows 用户就下载 Windows 版本的 ,Mac 用户就去下载 Mac 版本的。

因为 Dev Desktop 里面集成了 Drupal,所以我们还要选择想要的 Drupal 版本,你可以选择 Drupal 7 ,或者是 Drupal 6,这里我们选择 Drupal7。然后点击 Drupal 7 下面的这个下拉菜单,后面带 Windows 字样的就是在 Windows 系统下运行的 Dev Desktop,后面有 Mac 字样的就是在 Mac 系统下运行的 Dev Desktop,这里我们选择 Mac 版本的 Dev Desktop。

然后点击后面的 Download 下载按钮。

提示我们输入一些个人的信息,不想输入的话,我们可以直接点击下面的这个下载链接。

这里我事先下载好了,下面我们直接去安装它。找到下载之后的 Dev Desktop,双击打开…

然后再双击打开 Acquia Dev Desktop Stack Installer… 进行安装

点击 Next 继续…

这里为我们显示一个安装的预览,告诉我们即将安装的都有哪些东西。点击 Next…

这一步提示我们是否同意许可的协议。点击 Next 继续安装…

在这一步我们可以选择软件安装的地址,还有 Drupal 网站的地址。

Mac 版本的 Dev Desktop 会把软件放在 Applications 目录下面的 acquia-drupal 这里。Drupal 网站的默认的位置是在当前用户下面的 sites 目录下面的 acquia-drupal 这里。

点击 Next ,提示我们选择 Apache 和 Mysql 的端口号。我们可以使用默认的端口号,然后点击 Next 下一步。

在这一步我们可以输入 Drupal 网站的名称,还可以创建一个网站的管理员。

输入想要创建的管理员的用户名,密码,再输入一次密码,然后是 E-mail 地址…

点击 Next…

预览一下安装和配置的信息,然后点击 Next,再次点击 Next 进行安装…

点击 Finish 完成安装,Dev Desktop 会自动启动…

然后点击 Dev Desktop 控制页面上的 Go to my site ,可以打开我们的 Drupal 网站。

要注意的是,这里你看到的 Drupal 并不是我们在 Drupal 官方网站下载的 Drupal,Dev Desktop 里集成的是 Acquia Drupal,相比 Drupal 的官方版本,Acquia Drupal 里面安装了一些额外的经常使用的一些模块。

在下面的视频里,我们再来看一下如何在 Dev Desktop 上运行 Drupal 的官方版本。

来自 http://ninghao.net/video/547#toc
 

 
在 Acquia Dev Desktop 上安装官方版本的 Drupal

Acquia Dev Desktop 默认集成了 Acquia Drupal ,这个视频里我们来看一下,在 Dev Desktop 上运行官方版本的 Drupal。

我们先去下载 Drupal,打开 drupal.org… 点击右上角的 Download & Extend,在 Core,也就是 Drupal 的核心这里,当前最新的版本的是 7.17,点击 Download Drupal 这个大按钮,打开下载 Drupal 核心的页面。

在推荐的版本这里,选择下载最新的 Drupal 7.17…(下面是drupal7的安装)(中文安装 有大用)

找到下载下来的 Drupal ,把它移动到你想要的位置上,然后解压缩… 重命名一下,我们叫他 movietalk

下面我们可以启动 Dev Desktop 的控制面板… 然后点击 Settings,来设置一下。

打开 Sites 选项卡,在这里我们可以管理 Drupal 站点。点击 New ,可以再去新建一个 Acquia Drupal。这里我们点击 Import 导入…

点击 Site path,也就是站点路径后面的 Browse 浏览… 找到桌面上的 movietalk ,选中以后,点击 Open …

下面我们可以给即将要安装的 Drupal 创建一个数据库,选择 Create new database,创建新的数据库。在 New DB name 这里,输入想要创建的数据库的名称… movietalk

然后我们再来设置一下网站的域名,默认是 localhost,这里我们改成 movietalk,下面的 Subdomain 子域名,还有 URL path 路径我们都留为空白…

点击 Import 导入…

Dev Desktop 会自动打开 Drupal 的安装界面…

这一步提示我们选择安装的配置档案,不同的配置档案决定了我们安装和启用 Drupal 的哪一些模块,Standard 是标准的安装配置, Minimal 是精简的安装配置,这里我们选择默认的 Standard…

点击 Save and continue 保存并继续

这一步让我们选择语言,这里只有默认的英文,我们可以去 localize.drupal.org 下载其它的语言包,下面我们去下载一个简体中文的语言包,打开 localize.drupal.org

在左边栏这里,选择一种语言,这里我们选择 Chinese, Simplified,简体中文… 然后点击 Go there

在这个页面找到 Drupal 核心的翻译文件…

按住 Alt 键,点击 Download …

这里我们会下载到一个 .po 格式的文件,这个文件里的内容就是 Drupal 界面上的字符串的简体中文翻译。

找到这个文件… 我们把它放在 Drupal 安装配置档案里面的 translations 这个文件夹里。 打开 movietalk,找到 profiles ,这里你可以看到有一个 minimal,还有一个 standard,我们之前选择的是 standard 这个安装配置档案,所以,打开这个文件夹,在里面有一个 translations 文件夹,我们把下载下来的简体中文翻译文件,移到到这个文件夹里面

然后回到 Drupal 的安装界面,刷新…

你会看到这里多了一个简体中文的选项,选择简体中文,然后点击 Save and continue,保存并继续。

这个时候安装界面上的文字也会变成简体中文,因为我们刚才下载的翻译文件里面,也包含安装界面上的这些字符串的翻译。另外 Dev Desktop 会自动为我们填好网站的数据库的相关信息,所以在安装过程中会跳过配置网站数据库的步骤。

在这一步我们要填写一些网站和管理员的相关信息。

输入网站的电子邮箱… movietalk@ninghao.net

在下面,我们再为网站创建一个管理员,输入管理员的名称,phoenix,邮件地址,然后是 密码… 再选择默认的国家…

然后 保存并继续,完成 Drupal 的安装…

点击 访问新网站,可以打开我们刚才安装的网站。

来自 http://ninghao.net/video/548#info



转移 Drupal 网站

如果你想把创建的 Drupal 网站转移到另一台电脑,我们可以使用 Dev Desktop,导出和导入的功能。下面我们一起来看一下。

在导出之前,我们要确保 settings.php 这个文件在 sites下面的 default 目录里。打开之前安装的 Drupal 所在的目录… 打开 sites … 我们把这里的 movietalk 目录下面的 settings.php 复制一份到 default 目录里面。

启动 Dev Desktop 的控制面板,然后点击 Settings ,再打开 Sites 选项卡。在这里我们可以选择想要转移的 Drupal 网站,假设我们要导出这个 movietalk,选中以后,点击 Export 按钮。

我们可以直接把这个网站导出到 Acquia 的 Dev Cloud 里面,也可以选择 to file,也就是把网站导出到一个压缩包里。

给这个网站的压缩包指定一个保存的位置,我们把它放在桌面上… 然后点击 Save 保存。

在桌面上我们可以找到这个网站的压缩包,这里面包含了网站的文件还有数据库,你可以把它分享给别人,也可以做为网站的备份。

我们可以通过 Dev Desktop ,随时把这个压缩包再恢复成一个 Drupal 网站。

下面我们来看一下如何操作,先解压一下这个压缩包…

打开,里面有 .sql 格式的数据库文件,还有一个 .ini 的配置信息的文件, movietalk 这个文件夹里就是网站的文件。

回到 Dev Desktop 的控制面板,在 Sites 选项卡这里,点击 Import ,导入。

浏览到 Drupal 网站文件所在的目录… 下面的 Database 数据库这里,我们选择 I have a Mysql database dump file for my site,我有网站的 Mysql 数据库文件,也就是那个 .sql 格式的文件,点击 Browse ,浏览到这个数据库文件…

在 New DB name 后面,输入新的数据库的名称,movietalk2,Dev Desktop 会把我们之前导出的 .sql 格式的文件导入到这个数据库里面。

再修改一下 Server,movietalk2 ,最后点击 Import 按钮…

成功以后,Dev Desktop 会自动在浏览器中打开我们新导入的 Drupal 网站,这个网站会跟你导出的时候一模一样。

来自  http://ninghao.net/video/549#info

内容类型
创建内容类型

  使用 Drupal 管理内容的时候,我们可以根据内容的特性来创建不同的内容类型,不同的内容类型可以拥有自己的设置和字段,比如我们要创建的电影网站,网站里的内容可以分成电影,人物,或者其它的内容类型。

电影内容上可能会出现导演,演员,产地,分类这些字段,人物内容里可能会有人物的姓名,生日,头像等等这些字段。

在创建网站之前,先确定网站可能会有的内容类型,然后再分别去创建这些内容类型。

下面我们一起来看一下如何创建内容类型。首先用管理员的身份登录到网站,然后点击 结构 内容类型 ,默认 Drupal 会为我们创建两个内容类型,文章 和 基本页面,我们可以先把他们删除掉,然后再去创建自己的内容类型。

点击 添加内容类型,输入内容类型的名称,在这里我们需要定义两个名称,一个是显示给用户的内容类型的名称,另外,我们还要定义一个 Drupal 内部使用的机读名称,这个内部名称只能使用字母、数字或者下划线。

在这个文本框里我们先输入一个用字母,数字或者下划线定义的机读名称,movie,点击后面的 编辑,这样我们就可以分别去定义显示给用户的内容类型的名称,还有内容类型的机读名称。

我们把名称修改成 电影。

在下面这个文本区域里我们可以输入一小段关于这个内容类型的描述,电影资料库。

在页面的最下方是配置内容类型的几个选项卡,在 提交表单设置 这里,我们可以修改标题字段的标签,默认是 Title,也就是标题的意思,这个内容类型存储的是电影资料,电影资料的标题的标签可以是电影的名称,如果你愿意,可以修改一下这个字段标签。

我们在看一下 发布选项 这个选项卡。这里,我们可以设置这个内容类型里的内容的默认的发布状态。在这里勾选了 已发表 和 推荐到首页。

这也就是在我们创建内容的时候,点击保存以后,这个内容的发布状态就会是 已发表,这个状态的内容默认情况下所有的用户都可以看到,如果你想让用户发布的内容需要通过管理员审核一下,我们可以去掉这个 已发表 的状态。

推荐到首页 就是内容会自动显示在网站的首页上。

下面还有一个 置顶 和 创建新的修订版本的选项,我们在以后使用视图模块创建内容列表的时候,可以利用这些选项作为筛选内容的条件。比如,列出所有推荐到首页上的电影内容,或者列出所有 置顶 的电影内容。

再打开 展示设置 这个选项卡看一下,这里只有一个选项,显示作者和日期信息,勾选这个选项会在内容里显示内容的创建者还有创建的日期,这里我们不想让大家看到电影资料内容的作者和创建日期,所以,可以取消这个选项。

再看一下 评论设置,在这里我们可以设置是否允许用户可以评论这个内容类型的内容。

最后是 菜单设置… 在创建内容的时候 Drupal 允许我们为内容创建一个菜单项,用户可以点击这个菜单项打开这个内容,在这里你可以设置默认允许用户把内容的菜单项放在哪一个菜单里面。

都设置好以后,点击 保存内容类型,这样我们就成功的创建了一个内容类型。

来自  http://ninghao.net/video/550
 

为内容类型添加字段
上一视频我们一起创建了一个新的内容类型,叫电影,下面我们要考虑的就是为这个内容类型去添加不同的字段了,默认情况下只有两个字段,Title 和 Body,我们可以先来看一下。

点击在快捷栏上的添加内容,因为我们目前只有一种内容类型,所以直接会打开创建电影内容的界面。

我们可以在 Title 字段里输入电影的名称,在 Body 字段里输入电影的相关介绍。

除了这些,我们还需要添加一些额外的字段,比如电影的片长,上映日期,分类,导演,演员等等。每个字段就相当于是内容的一个小片断,把一个内容分成多个字段来管理,这样做会带来更多的灵活性,你可以控制不同的字段的显示,你可以重新组织这些字段。

下面我们一起为 电影 这个内容类型添加一个简单的 文本 字段。

点击 结构 内容类型,点击 电影 后面的 管理字段

在这里显示的就是电影这个内容类型里面的所有的字段,现在只有两个,Title 和 Body。

我们来添加一个新的字段,在 添加新字段 这里,输入字段的标签,这个标签可以显示给用户,另外,我们还要定义字段的机读名称,也就是 Drupal 内部使用的名称,这个机读名称只能使用字母,数字或者下划线来定义。

我们先在这里输入字段的机读名称,这里我们添加一个电影片长的字段,输入 runtime … 然后点击 机读名称 后面的 编辑,这样我们就可以分别定义字段的标签和机读名称了。我们把字段的标签改成 片长…

然后为字段选择一个类型。要注意内容的字段拥有很多类型,不同类型的字段可以使用不同的方法来收集不同的内容。点开这个类型的列表,选择 文本,后面的 控件 这里,选择 文字字段,这样会提供给用户一个文本框,用户可以直接在文本框里输入相应的文字内容。

点击 保存…

在字段设置这里,我们可以设置这个字段允许输入的最大的字符数,默认是 255 个字符。

点击 保存字段设置

在字段的编辑界面,我们可以重新定义字段的标签文字,如果你想让用户在创建内容的时候,必须输入这个字段的内容,你可以勾选一下 必填字段 这个选项。

在 帮助文本 这里,可以输入一些提示的信息,它会显示在文本框的下面,提示用户应该输入什么样的内容。

输入电影的片长,例如:90 分钟。

文本栏尺寸 就是文本框的长度。

文本处理 这里默认选择的是纯文本,Drupal 会自动过滤掉用户在文本框里输入的特殊的标签,只会保存纯文字内容。

你也可以选择 过滤的文本,也就是文本格式,Drupal 允许我们创建过滤的规则,你可以把这些过滤规则分配给拥有权限的用户使用,在后面的视频里,我们会介绍文本格式的使用。

再往下看,值的数量,这里默认的设置是 1,就是用户只能输入一个 片长 的内容,假设我们创建的是一个演员字段,在这里你可以设置允许用户输入多少字段的值,因为每部电影都会有很多个演员。

设置好以后,点击 保存设置。

在 管理字段 这个界面,我们可以调整一下字段的顺序,把鼠标放在字段标签前面的这个十字型的图标上,按住鼠标,然后把字段拖动到你想要的位置上,再松开鼠标,我们让 片长 这个字段,在 Title 字段的下面…

点击 保存

回到创建电影内容的界面…

在 Title 字段的下面,你会看到刚才创建的 片长 这个字段。

来自   http://ninghao.net/video/551#info


理解字段的显示
 

这个视频我们来理解一下字段的显示,我们可以先输入点内容,打开资料包 02-03 里的文本文件… 先复制标题 … 片长 …

然后是电影的剧情介绍。 注意这里有一个 编辑摘要,打开以后,会把文本区域分成两块,在 摘要 这里,我们可以输入内容的摘要,摘要里的文字会显示在内容的摘要模式下。

下面这块是内容的正文,在这里我们可以输入内容的全文,这里的内容会显示在内容的全文模式下。

我们其实也可以不用单独去设置内容的摘要,默认情况下,Drupal 会自动截取正文的前 600 个字符作为内容的摘要。

点击 保存…

这样我们就创建了一个电影内容。现在你看到的就是内容的全文模式,会显示内容的标题,正文,还有 片长 这个字段。

下面我们打开首页看一下,在首页上也会显示出我们刚才创建的电影内容,因为我们在创建电影内容类型的时候,勾选了 推荐到首页 这个选项。

在这里你看到的就是内容的摘要模式,这里并没有显示 片长 这个字段的内容。

Drupal 允许我们设置内容在不同模式下的显示。下面我们来看一下。

打开 结构,内容类型,点击 电影 这个内容类型后面的 管理显示。

在这里我们可以设置内容的字段在不同模式下的显示,在这个界面的右上角,有一个 默认 和 摘要,点击这些小标签,我们可以分别设置不同的模式。

默认 模式相当于一个全局模式,在这个模式下的设置会应用到所有的模式下。我们也可以单独去配置不同模式下的显示,这些设置会覆盖在默认模式下的配置。

在 自定义显示设置 这里,我们可以勾选想要单独设置的其它的模式。

下面我们打开 摘要 模式去看一下…

先看一下 Body 这个字段在摘要模式下的显示,标签 设置的是 隐藏,也就是不会显示 Body 这个标签。格式 这里 选择的是 总结摘要。

点开看一下… 除了 总结摘要 这种格式以外,我们还可以选择 默认,也就是跟在默认的模式下一样的格式。还有 纯文本,就是 Drupal 会过滤掉字段里的部分内容,只显示纯文字的内容。

下面还有一个 切边,这种格式允许我们指定一个内容的最大显示的字符数。最后还有一个 隐藏,就是在内容的摘要模式下不显示 Body 这个字段的内容。

这里我们留为默认的 总结摘要,在这个字段的最后,你会看到一个齿轮图标,点击这个齿轮图标,我们可以再设置一个这个字段的显示。这里允许我们设置的是这个字段的内容的显示长度,默认是 600 个字符,大概可以显示 300 个汉字。我们把它设置成 300 … 更新

然后 保存…

回到前台页面,打开首页,你会看到电影内容的 Body 字段,只会显示其中的一部分内容,内容的长度就是我们在摘要模式下给 Body 字段设置的长度。

再回到管理显示界面,在这里,隐藏下面的这些字段就是没有显示的字段,我们可以把这里的字段拖到上面来,把它放在 Body 字段的上面。

这样这个字段就会在当前选中的模式下显示出来,并且字段的内容会显示在 Body 字段的上方,我们可以修改一个这个字段的标签的显示,现在是 位于上方,就是片长这个标签显示在一行,然后另起一行显示字段的内容。

这里我们改成 行内,然后点击 保存。

回到前台页面… 刷新… 现在,在内容的摘要模式下,会显示出 片长 这个字段的内容,因为我们设置了在行内显示字段的标签,所以你会看到 片长 这个字段的标签和内容会显示在同一行。

来自  http://ninghao.net/video/552#info


为图像字段创建图像样式 
 

Drupal 可以很好的处理图像,我们可以为内容类型添加图像字段,允许用户上传图像,我们还可以设计图像的显示样式,比如你可以让 Drupal 按照一定比例缩放用户上传的图像,然后再裁切一下,再把图像显示出来。

你还可以把不同的图像样式分配到不同的内容模式里在去使用。

下面我们就先来设计一种图像样式,然后再为电影内容添加一个可以上传电影海报的图像字段。

打开 配置,图像样式,Drupal 默认已经为我们创建了三种图像样式,thumbnail,medium,还有 large,不同样式都会按照设计好的去处理图像。

下面我们来添加一个新的图像样式,点击 添加样式。

输入 样式名称,注意这个名称不能用汉字,只能使用小写的字母、下划线还有连字符。

我们用海报的英文做为图像样式的名称,输入 poster,点击 创建新样式。

点击 效果 这里的下拉列表,在这里我们可以选择处理图像的方式,裁切,就是按照我们指定的宽度、高度还有位置去裁切图像。

去色 就是把图像变成黑白的。

改变尺寸 会按照我们设定的宽度和高度改变图像的尺寸,旋转 可以按照一定角度旋转图像,缩放 就是把图像按照我们设定的宽度或者高度并且会按照原图的比例去生成新的图像。

比例缩放并裁切,这种效果会按照我们设置的宽度或者高度并且保持图像原有的比例进行缩放,然后再按照设置的宽度和高度再裁切一下图像。

你可以任意组合使用这些效果。这里我们选择 比例缩放并裁切,然后点击 添加。

输入图像的宽度和高度,宽度是 150,高度是 200,这个宽度和高度的比例差不多就是一般的电影海报的比例。点击 添加效果。

在这里我们可以预览一下这个图像样式生成的图像。左边是原始图像,右边是按照我们设置的效果生成的图像。

现在我们就可以把这个新创建的图像样式去处理图像了。下面我们可以再设置一下生成的图像的质量。

打开 配置,图像工具包,在这里我们可以指定生成的图像的品质,75% 表示的就是生成的图像的质量是原图的 75%,百比分越大,生成的图像质量也就越好,同时图片文件的体积也会越大。

这里我们改成 100%,然后点击 保存设置。

来自  http://ninghao.net/video/553#info

使用图像字段上传图像 
 

下面我们一起为电影内容添加一个上传电影海报的图像字段,打开 结构,内容类型,点击电影后面的 管理字段。

在添加新字段这里输入新的字段的标签,我们可以先输入一个英文的机读名称,输入 poster,点击 机读名称 后面的 编辑,然后再重新设置一下字段的标签,输入 海报。

字段类型 选择 图像,后面的 控件 选择默认的 图像。点击 保存。

这里我们可以设置这个图像字段文件的保存位置 ,默认是 公共文件,如果我们设置了私有文件系统的话,我们还可以选择 私有文件。公共文件存储的目录位于 Drupal 目录里面,用户可以直接通过浏览器访问到这些文件,私有文件 的存储位置一般在 Drupal 目录以外,用户不能直接访问到这些文件。

只有通过 Drupal 才能访问到这些文件,所以,你可以设置用户的权限,允许什么角色的用户才能够查看到这些私有文件。

在下面我们还可以为这个字段指定一个默认的图片。

点击 保存字段设置 。

在这个字段的编辑界面,我们可以输入一小段帮助文本…

在 允许的文件后缀名 这里,我们可以指定允许上传的图像格式,这里已经为我们列出来常用的图像格式。

在下面的 文件目录 这里可以定义一个使用这个字段上传的图像的存储目录。

我们还可以限制上传的图像的最大尺寸和最小尺寸。还有,可以指定允许上传的图像文件的最大尺寸,比如你不想让用户上传大于 10M 的图像,在这里你可以输入 10MB。

这里的设置跟服务器的设置相关,这里我们并没有做任何的设置,在后面,显示的是当前的限制为 8MB,这个 8 兆就是当前服务器设置的最大上传文件的尺寸。 php.ini 这个文件里的 upload_max_filesize 还有 post_max_size 这两个配置的值,就是服务器允许上传的文件尺寸,你可以把这两个配置的值改的大一些,然后重新启动 Apache 就可以了。

下面的 启用 Alt 字段 和 Title 字段,可以为上传的图像添加 alt 属性 和 title 属性的值,这两个属性可以增加网站的可用性,而且有利于搜索引擎优化。

勾选一下

在 预览图像样式 这里,用户上传图像以后会在内容的编辑界面直接显示上传的图像,这个图像的显示样式,我们可以在这里设置,选择之前创建的 poster 这个图像样式。它可以把图像缩放并裁切到150px宽,200px高。

进度指示器就是显示图像上传的进度,默认是 throbber,它会在上传的时候显示一个转悠的圆圈动画图片,并不能真正显示图片上传的进度。

下面的 进度条 可以显示出上传的进度。如果你想使用这个 进度条 功能,你的服务器环境的 PHP 要启用一个 PECL uploadprogress 的扩展,因为我们的环境里已经启用了这个扩展,所以你可以直接选择这个选项…

在字段设置这个区域里,我们可以设置允许用户上传的图片的数量,上传的目标,还有可以为字段指定一个默认的图片。

都确认好以后,点击 保存设置。

调整一下在内容编辑界面的字段的显示顺序,我们把 海报 放在 Title 字段的下面。 点击 保存。

来自  http://ninghao.net/video/554#info

创建分类字段 
 

Drupal 使用标签的方法为内容进行分类,也就是我们可以为内容打上不同的标签,用户点击这些标签的时候可以列出所有包含这个标签的内容。

首先我们要创建一个分类的词汇表,在这个词汇表里添加一些分类的词汇,也就是我们刚才说的标签。然后我们可以为内容类型创建一个添加分类的字段。这样在创建或编辑内容的时候,用户可以为内容选择相应的分类词汇。

下面我们为电影内容添加一个可以选择电影类型的字段。

我们先去创建一个分类词汇表。打开 结构,分类,点击 添加词汇表, 输入分类词汇表的名称,先输入一个机读名称,genre,点击 机读名称 后面的 编辑,再把名称修改为 电影类型。 点击 保存。

点击 电影类型 后面的 添加术语,这里的提到的术语其实就是内容的不同的分类的名称。在这里我们把跟电影类型相关的分类术语都添加进来。

( # 动作,冒险,恐怖,剧情,传记,喜剧,动画,犯罪,科幻,历史,音乐,记录,爱情,战争,运动,奇幻 )

下面我们去为内容类型创建一个可以选择电影类型的字段。点击 结构,内容类型,点击电影后面的 管理字段。

在 添加新字段 这里先输入字段的机读名称,也就是 Drupal 内部使用的名称,genre,点击 机读名称 后面的 编辑,再重新输入字段的标签,类型。

字段类型 选择 术语来源,控件 选择 复选框/单选按钮。

点击 保存。

在 词汇表 这里,选择我们之前创建的 电影类型,然后点击 保存字段设置。

在字段的编辑界面,找到 值的数量,这里我们选择 不限,因为一部电影可能属于多个电影类型。点击 保存设置。

然后我们可以修改一下字段的显示,点击字段显示 ….

下面我们回到前台页面。找到一个电影内容,然后使用这个字段去为内容添加电影类型..

蝙蝠侠这部电影属于,动作 … 还有 犯罪 …

点击 保存 …

在内容的全文模式下,你可以看到分类字段的内容,这里会显示我们为这部电影选择的分类 …

来自  http://ninghao.net/video/555#info


用 Fivestar 模块为内容添加投票字段 
 

前面我们给内容添加了一些字段,这些字段可以用不同的方式存储不同的内容。我们还可以安装来自 Drupal 社区贡献的模块,来扩展字段的类型和功能。

在 Drupal 的官方网站,专门设置了一个跟字段相关的模块的下载区域,打开:http://drupal.org/project/modules/categories,点击 Fields 区域下面的 More Fields,可以查看所有跟字段相关的模块。

这个视频我们为电影内容添加一个投票字段,用户可以根据自己的想法为内容进行投票。

我们可以使用 fivestar 模块。在这个地址你可以下载到 fivestar 模块:http://drupal.org/project/fivestar 。找到 drupal 7 版本的 fivestar 模块的下载地址,然后复制一下 … 回到我们的 drupal 网站,点击模块,安装新模块 ...

另外这个模块还需要用到一个 votingapi 模块,在这里你可以下载到:http://drupal.org/project/votingapi 。

这里我已经下载好了这两个模块,点击 模块,找到 fivestar 模块,勾选一下,点击 保存设置,提示我们还要启用 votingapi 模块,点击 继续 …

启用以后,点击 配置,在 内容写作 区域这里,有一个 五星,五星 就是 fivestar 的中文名儿,点击打开,在这里,你可以配置一下投票的标签,也就是投票的分类。

如果你想让用户对内容的不同特性进行投票,比如让用户根据电影的剧情,音效,摄影,服装等等进行投票。这样,你就需要为这些不同的特性创建投票的标签。

默认只有一个 vote,如果你想添加其它的分类,用英文状态下的 逗号 分隔开不同的分类。这里我们先留为默认。

下面我们一起为电影内容添加一个五星投票字段,点击 结构,内容类型,点击 电影 后面的 管理字段。

在 添加新字段 下面先定义一下字段的机读名称,vote ,点击 机读名称 后面的 编辑… 再修改一下字段的标签,投票。

选择字段的类型… 在安装了 fivestar 模块以后,这里会多出一个可用的字段类型,就是这个 五星投票 …

然后选择字段的控件… 这里有三个选项 … 星星(在浏览时投票),这个选项允许有权限的用户在浏览内容的时候就可以直接点击星星对内容进行投票。星星(在编辑时投票),这个选项只允许在内容的编辑界面进行投票,另外还有一个 选择列表(在编辑时投票),也就是在编辑内容的时候,通过选择列表里的值对内容进行投票。

这里我们选择第一个选项… 点击 保存

提示我们选择 Voting Tag ,投票标签,也就是我们在五星模块的全局配置界面里定义的投票的分类。默认只有一个 vote … 点击 保存字段设置 。

在五星字段的编辑界面,我们可以修改一下 星星的数量,默认是五颗星…

下面回到网站的前台页面,打开一个电影内容… 在这里你会看到五星投票字段。

因为我们选择的是可以在浏览内容的时候直接投票,所以有权限的用户,把鼠标放在星星上面,选择自己想要的星星数量,然后点击一下,这样就可以对内容进行投票了。

在这里的小星星的图标是默认的样式,五星模块还提供了一些其它的样式。在字段显示里,我们可以修改一下,结构,内容类型,管理显示。

点击 投票 字段后面的齿轮图标,点开 星星的显示选项,在这里,你可以选择其它的样式。

在下面我们还可以配置一下星星还有在星星下面显示的值。默认都是平均分,也就是所有用户投票算出来的平均值。除此以外,你还可以选择 当前用户的投票值,或者同时显示 平均分和用户的投票。

来自  http://ninghao.net/video/556#info

评论时为内容投票 
 

用户在为内容添加评论的时候可以选择一个投票,这个投票的结果会同步到评论所属的内容上。这里我们需要用到的是 Fivestar 模块。

首先我们要为内容添加一个投票字段,在上一个视频里我们已经做了,然后我们需要再为内容的评论添加一个投票的字段。

打开 结构,内容类型,我们为 电影 的评论添加投票字段,点击 编辑,然后打开 评论的字段 这个选项卡。

在这里我们可以管理电影这个内容类型的评论的字段,在 添加已有的字段 这里,选择之前我们为电影内容添加的投票字段,就是 这个 filed_vote 这个字段,然后再选择这个字段的控件类型,我们一定要选择 在编辑时投票,用户在编辑评论的时候可以选择投票… 星星(在编辑时投票)

点击 保存。

在字段的编辑界面,我们需要设置一下投票目标,这个设置非常重要。选择 父内容 … 这样用户在评论里的投票就相当于是直接对内容的投票。

点击 保存设置

调整一下字段的顺序,我们把这个投票字段放在投票标题字段的下面… 保存一下…

然后再去设置一下评论内容的显示,打开 评论显示 选项卡,先把隐藏投票字段的标签… 然后把 投票 字段的内容,放在评论内容的上面显示 … 再设置一下投票字段的显示,点击后面的齿轮图标。

去掉显示在星星下面的文字 … 打开这个下拉菜单,选择 无文字… 点击 更新 ...

保存一下所做的修改…

下面我们可以使用一个其它的用户登录到网站。这里我们打开一个新的浏览器… 我们用小雪登录到网站...

然后,打开一个电影内容,(!蝙蝠侠),浏览到内容的评论区域 …

你会看到多了一个 投票 字段,用户在评论的时候,可以选择一个投票… 因为我们设置了评论里的投票字段的投票目标为父内容,所以这个投票跟用户直接投票内容是一样的, 然后输入评论的内容… 很好看,推荐!

点击 保存 …

来自  http://ninghao.net/video/557#info

视图

    使用视图模块 
 

Views 模块,也就是视图模块,是在 Drupal 社区里最受欢迎的模块之一,你可以使用它来创建内容的列表页面,区块,还有很多其它的东西。

下面我们来看一下,在 views 模块的页面里,复制一下 views 模块的下载链接 … 回到我们的 Drupal 网站 … 点击 模块,安装新模块 …

想要使用 views ,我们还要安装一个 ctools 模块 … 打开 ctools 模块的页面 … 复制下载的链接 …

然后在模块的列表页面里… 勾选一下 views 还有 views ui ,点击 保存设置,继续 …

下面我们可以导入视图模块的中文翻译… 点击配置… 翻译…. 导入 … 在课程资料包的 03-01 里面,找到 视图模块的中文翻译文件…

下面我们打开视图的配置界面去看一下… 点击 结构,视图...

我们来创建一个新的视图,点击 添加视图 ,输入 视图名称,我们可以先输入一个视图的机读名称,movie ,点击 机读名称 后面的 编辑,然后再重新定义一下视图的名称,输入 电影 。

勾选下面的 描述,可以输入一小段文字来描述一下想要创建的这个视图。

在下面我们要选择这个视图要显示的东西,点击 显示 后面的 下拉菜单,你可以选择 内容,评论,用户等等,我们要创建一个显示文章内容的视图,所以这里选择 内容。

在 类型 这里,会列出所有的内容类型,我们选择 电影 这个内容类型。

后面还可以选择排序的标准…

在下面,默认勾选了 生成一个页面,使用这个选项,我们可以快速的设置并生成一个与内容相关的页面。

最后,还有一个 生成一个区块 的选项,勾选之后,可以快速的设置并生成一个内容的区块。

这些设置我们可以通过视图的详细设置界面去修改,这里我们先去掉 生成一个页面 这个选项,然后到视图的详细设置界面去看一下。

点击 继续编辑

视图的详细设置

现在你会看到视图的详细界面设置界面,在这里,你可以修改视图的显示,也可以创建新的显示,在一个视图里可以包含多个显示。

视图的显示有不同的类型,比如,页面,区块等等,我们还可以安装模块来扩展视图的显示类型。

下面我们来创建一个页面类型的视图显示,先找找感觉。

当前我们正在修改的是视图的 主 显示,它相当于是当前这个视图里面包含的所有显示的默认设置。你可以先修改它的设置,然后我们可以再去创建新的显示,在新的显示里,会继承 主 显示里的设置,也可以覆盖 主 显示里的设置。

点击 添加,选择想要添加的视图显示的类型,这里我们选择 添加页面,注意当我们添加了自己的显示以后,视图的主显示就会自动隐藏起来,新添加的这个页面显示会使用我们在主显示里的设置。

我们先来修改一个新创建的这个显示的名称,点击 显示名称 后面的链接,在 名称 的下面,输入显示的名称,电影页面,在 描述 这里,我们再具体的描述一下这个显示的作用, 显示所有电影内容的页面。

点击 应用

在 字段 这里,我们可以决定在这个内容列表页面都显示内容的哪一些字段。

目前这里只有一个标题字段,也就是在这我们创建的这个视图页面里,只会显示出内容的标题。

下面我们可以给这个页面一个路径,然后去预览一下这个页面。

在 页面设置 这里,点击 路径 后面的链接,输入这个页面的路径,这个路径就是访问这个电影内容列表页面的地址。

输入 movie,点击 应用

我们可以再把这个页面添加到一个菜单里,这样网站的用户可以通过这个菜单项,方便的浏览这个页面。

还是在 页面设置 这里,点击 菜单 后面的链接。这里有几种类型可以选择,我们先看一下 普通菜单条目, 输入菜单的 标题。

一小段描述 显示电影列表的页面。

往下浏览,在 菜单 这里,为这个即将创建的菜单项指定一个菜单,我们选择 主菜单。点击 应用 。然后再修改下这个菜单项的重量,默认是 0,这里我们输入 1,目前主菜单里只有一个 首页 菜单项,这个菜单项的重量是 0 ,设置 电影 这个菜单项的重量为 1 ,可以让 电影 这个菜单项在 首页 的右边显示。

注意 电影页面 这个显示的旁边有一个星号,表示,我们对它进行了修改,但是还没有保存,点击页面右上角的 保存 按钮。

然后点击 查看电影页面 这个按钮… Mac 上按住 command ,Windows 上按住 Ctrl 键,然后再去点击链接,这样可以在新的标签里面打开链接的内容。

这里你会看到,主菜单上多了一个电影菜单项,点击打开 … 这里显示的,就是我们使用视图模块创建的一个简单的电影内容列表的页面,目前在这个页面上只显示出电影内容的标题。

在下面视频里,我们一起来改造一下这个页面的显示。

来自 http://ninghao.net/video/558#info


创建页面 
 

这个视频我们来改选一下之前创建的电影内容页面。我们可以先修改一下主菜单上面的菜单项的顺序 …. 点击结构,菜单,打开主菜单,我们把电影这个菜单项,放在首页菜单项的下面 … 然后点击保存。

下面我们再去修改视频 … 点击 结构,视图,找到之前创建的电影这个视图 ...

点击 字段 右边的 添加 按钮,在这里我们可以选择想要添加的字段类型,除了内容的标题以外,我们想在这个电影列表里显示电影的年代,投票,还有电影的海报。

选中 内容:年代,在这个字段下面的描述里,你会看到这个字段是在 movie 内容类型里定义的。再选中 内容:投票,另外再找到 内容:海报。

然后点击 应用 按钮,注意这个按钮的括号里提示我们,这会应用到所有显示,目前我们这个电影视图里,只有 电影页面 这个显示,如果我们添加了其它的显示,那么,点击 应用 按钮也会影响到其它的显示,也就是把刚才我们选中的字段也会添加到其它的显示里面。

我们可以单独为这个显示添加这些字段,点击这个设置界面最上面的下拉菜单,目前选择的是 所有显示,你可以选择下面的 当前 page ,这样我们在这里所做的设置只会影响到当前的 电影页面 这个显示。

点击 应用 按钮。

这里我们需要分别设置一下刚才添加的三个字段。

设置界面最上面会显示出设置的字段的名称,现在我们设置的是 内容:年代 这个字段。

在这里,勾选了 生成标签,标签的内容是 年代 这两个字,也就是 年代 这两个字,会显示在 内容:年代 这个字段的值的旁边。

这里我们不想在 内容:年代 字段里显示任何的标签,所以,去掉 生成标签 这个选项。

然后点击 应用。

现在我们要设置的是 内容:投票 这个字段。

不同的字段类型的设置界面可能不一样,去掉 生成标签,然后在 格式化器 这里,选择 投票,这个形式来显示投票这个字段。

点击 应用

最后我们还要设置一下 内容:海报 这个字段,先去掉 生成标签 选项。

然后 格式化器 这里,选择 图像,图像样式 我们选择之前创建的 poster 这个样式。图像链接到,选择 内容,这样用户点击电影海报可以打开海报所属的电影内容。

点击 应用 ... 然后点击 保存 ... 我们再预览一下... 点击 查看电影页面

现在我们的电影列表页面里不但显示电影的内容的标题,还有电影的海报,年代和投票。

我们可以再调整一下字段显示的顺序,回到视图编辑页面。

点击字段右边的 添加 按钮右边的向下的小三角形。然后点击 重新整理。这样会打开为字段的排序的界面。

我们可以用鼠标拖拽的方式来改变这些字段的显示顺序。

把 海报 放在最上面,然后是 标题,年代 和 投票。

点击 应用 。然后 保存 刚才的修改… 再回到这个电影列表页面… 刷新… 你会看到内容的字段会按照我们设计的顺序显示。

来自 http://ninghao.net/video/559#info

视图行内容的样式 
 

前面我们创建了一个显示电影内容的列表页面,这个视频我们来看一下如何控制视图的样式。

要想控制视图的样式,我们需要知道视图都输出了哪一些 HTML 标签,还有在这些标签上都定义了哪一些 CSS 类。通过这些类,我们就可以在主题的样式表里添加一些CSS 样式来改变视图的样式。

这里我们需要用到一些 CSS 的知识,如果你不知道什么是 CSS,可以先看一下宁皓网的 CSS 基础教程。

下面我们可以查看一下在这个视图页面上输出的元素,把鼠标放在视图输出的某个字段上,点击右键,选择 审查元素,这里我们用的是 Chrome 浏览器内置的开发者工具。

你会发现,视图在包装内容的元素上定义了很多个类…

在第一行内容的包装元素上定义了一个 .views-row-1 ,第二行内容里会有一个 .views-row-2,第三行里是 .views-row-3,视图会为每一行内容添加一个特别的类,使用这些特别的类我们可以让每一行内容都拥有不同的样式。

另外在奇数行的内容上会定义一个 .views-row-odd ,在偶数行的内容上会定义一个 .views-row-even。

.views-row-odd 这个类可以让我们统一为所有在奇数行的内容定义样式。.views-row-even 这个类可以为所有在偶数行的内容定义样式。

视图还会在第一个内容上添加一个 .views-row-first 类,在最后一个内容上添加一个 .views-row-last 类。你可以使用它们分别针对第一个内容和最后一个内容去定义一些样式。

样式

其实很多时候我们并不需要这么复杂的设计,为了保持输出的代码的整洁,如果你不到这些 CSS 类,可以去掉它们。你也可以为包装行内容的元素定义自己的类。

回到视图的编辑界面,确定我们编辑的是 电影 视图里的 电影页面 这个视图显示。

然后点击 格式 后面的 设置。

这里勾选了 添加视图的行类,就是前面我们看到的 .views-row-1 ,.views-row-2 这些类。

还勾选了 添加条纹,就是 odd 或 even 类,还有 first 或 last 这些类的选项。

我们先取消这两个选项。

然后在上面的 行类 这个文本框里,定义自己的类名,输入 movie-page-list,这样会在包装行内容的元素上统一添加这个类。

再调整一下这个设置的应用范围… 目前是应用到所有显示上… 我们选择 当前 page,这样我们做的设置只会影响这个 电影页面 显示。

点击应用… 保存...

回到前台页面,刷新…

再查看一下行内容的元素…

你会发现元素上的 .views-row,还有 .views-row-odd , .views-row-eve 这些类已经不见了。这里只会使用我们自己定义的 .movie-page-list 这个类。

下面我们可以打开主题使用的样式表,然后为 .movie-page-list 这个类添加点样式。

Drupal 默认的主题是 Bartik ,我们不要直接修改这个主题,因为在以后升级 Drupal 的时候,会覆盖掉我们的修改。

所以,我复制了一下这个主题,修改了主题的名称,然后放在了 sites/all/themes 这个目录下 … 具体的方法你可以看一下宁皓网的 Drupal 7 的主题课程。

打开 movietalk ,在根目录下的 themes ,就是默认的主题所在的位置 。找到 sites , all ,打开 themes ,这里的 ninghaobartik 就是我复制并修改的主题。

打开 css 这个文件夹,打开 styls.css 这个样式表…

浏览到这个样式表的最下方,先添加一小段注释… 电影内容列表页面…

然后输入 .movie-page-list{width:150px;float:left;margin-right:20px;margin-bottom:20px}

先设置下每行内容的宽度,设置为 150 像素,然后让行内容向左边浮动显示,float:left,再添加点外边距,先添加一个右边的外边距 margin-right:20px,再添加一个下边的外边距 margin-bottom:20px。

保存一下这个样式表。

回到前台页面,刷新…

现在这个电影内容列表, 就会按照我们预期的显示了。

来自  http://ninghao.net/video/560#info

控制视图输出的包装字段内容的 HTML 标签 

视图允许我们为分别定义用来包装字段内容,字段标签,还有字段内容和字段标签的 HTML 标签。

这里我们先来看一下电影的标题字段,可以使用 Chrome 浏览器的开发者工具查看一下,鼠标放在其中的一个电影标题内容上,点击右键,审查元素。

在这里,你可以看到,包装这个电影标题字段内容的是 <span> 标签。下面我们修改一下,打开视图的编辑界面…

把鼠标放在这个内容列表上,在列表的右上角会显示一个齿轮图标,点击这个齿轮图标,然后选择 编辑视图,这样可以直接打开这个视图的设置界面。

我们要设置的是 内容:标题 字段,点击打开这个字段。 然后点击 样式设定 …

这里已经勾选了 添加默认类,(! 去掉)它会在包装字段的 HTML 标签上定义一些 CSS 类,如果你不想使用这些默认的类,或者想添加自己定义的类,可以取消这个选项。

除了这个选项,另外还有三个选项,它们可以控制包装字段使用的 HTML 标签,还有在上面定义的 CSS 类。

我们要修改的是包装字段内容的 HTML 标签,勾选一下 定制字段的 HTML,然后在 HTML 元素 下面的下拉菜单里,我们可以重新为字段内容选择包装的 HTML 标签,选择 h3 。

如果你想在这个 HTML 标签上添加一个 CSS 类,可以勾选下面的 生成一个CSS类 这个选项,然后输入自己定义的类名…

点击 应用 ,保存…

回到电影列表页面…

再查看一下电影标题字段的元素… 你会看到,这里会使用我们选择的 h3 这个元素来标记标题内容。

在这个 <h3> 元素的外面,还有一个 <div> 标签,这个标签就是用来包装字段标签和字段内容的标签。你可以利用这个标签为字段添加一样复杂的样式… 如果用不到,我们可以去掉这个 HTML 标签。

把鼠标放在内容列表上,点击右上角的齿轮图标,编辑视图,点击 内容:标题 这个字段,打开 样式设定。

勾选一下 定制包装字段和标签的 HTML,点击 HTML 元素 下面的下拉菜单,选择 无。

点击 应用 ,保存…

回到电影内容列表页面…

再查看一下标题字段的元素… 这里视图不再输出同时包装字段和标签的 HTML 元素了。

用同样的方法,你可以处理一下包装其它字段使用的 HTML 元素。尽量保存代码的简洁,去掉那些不需要的 HTML 标签。

来自 http://ninghao.net/video/561#info

筛选内容 
 

在这个电影内容列表页面里,之所以没有显示其它内容类型的内容,是因为我们在这个视图显示里添加了一个只显示电影内容的过滤条件。

视图允许我们添加各种形式的过滤条件筛选出用户想要的内容。比如,找出所有在 2012 年上映的电影。

过滤条件还可以叠加,比如找出所有在 2012 年上映的喜剧电影。

你还可以为过滤条件分组。然后决定内容必须满足所有群组的过滤条件才显示,还是只需要满足其中一个群组里的过滤条件就可以显示。

下面我们来演示一下。

打开这个页面视图的配置界面… 在 过滤条件 这里,已经有了两个条件,一个是必须是已经发布的内容,第二个是内容所属的内容类型必须是 电影。 点击 添加 按钮后面的小三角形,选择 重新整理 …

在这里,我们可以重新排列过滤条件,或者对过滤条件进行分组等等。注意 操作符 这里,目前选择的是 和… 这就表示内容要想在这个视图里显示出来,必须要满足内容状态是发表还有内容的类型是电影这两个条件。

如果我们把操作符设置为 或者,那么内容只需要满足其中的一个过滤条件就可以显示出来。

点击 取消,下面我们添加一件新的过滤条件,点击 添加。

假设我们只想让这个视图页面显示在 2013 年发布的电影,我们先修改一下设置的范围,选择 当前 page … 然后选择 内容:年代 这个字段。

点击 应用 ,在 选项 这里会列出 年代 这个字段里的值… 点击选中 2013,然后再选择一个 操作符,默认是 其中之一, 意思就是,如果我们在选项里选择了多个值,只需要满足符合其中的一个值就可以了。

点击 应用 ,这样我们就为这个视图显示添加了一个新的过滤条件,网站里的内容只有同时符合这里面设置的这三个条件的时候才能显示出来。

点击 保存 … 查看 电影页面 …

你会看到这个电影页面只显示一个内容,因为目前在我们网站里已经发布的电影内容,只有这个内容的 年代 字段的值设置成了 2013。

http://drupal.org/project/better_exposed_filters

来自 http://ninghao.net/video/562#info

把筛选条件公开给用户
 
 

我们可以把内容的筛选条件公开给用户,用户可以自己决定想看到的内容。

打开这个视图页面的编辑界面… 结构,视图,找到 电影 视图 … 点击 编辑… 确定我们当前选择的是 电影页面 这个显示 ...

我们先去掉之前添加的过滤条件… 浏览到 过滤条件 这个区域 … 点击 添加 右边的小三角形,选择 重新整理 … 去掉这个年代的过滤条件 … 应用 ...

下面我们为这个视图显示添加一个按照电影的类型来筛选条件。然后把这个条件显示给用户 …

点击 添加 … 在这里找到 内容:类型 …

注意这个 内容:类型 是我们在电影内容类型里定义的电影类型的分类字段.. 在下面的注释里会显示出这个字段的出处。点击 应用 …

选择 下拉… 然后点击 应用并继续…

在这里你可以选择分类词汇,然后选择 操作符 来决定如何去筛选内容… 在它们的上面,有一个 把这个过滤条件显示给网站的访问者… 这个选项,我们可以勾选一下。

修改一下 标签,选择电影类型 … 点击 应用 ,然后 保存 一下。 查看电影页面 …

在这个视图页面的上方,会显示一个下拉菜单… 这个下拉菜单里的值就是 电影类型 这个分类词汇表里的分类词汇。

用户可以使用它,按照电影的类型,来过滤这个电影列表的内容。

比如我们选择 动画 ... 然后点击后面的 应用 按钮。 这样在这个电影列表里,只会为我们显示出所有包含 动画 这个分类词汇的电影内容。

来自 http://ninghao.net/video/563#info


筛选内容的表单 
 

这个视频我们继续来编辑这个公开显示给用户的过滤器… 目前用户只能通过这个下拉菜单,选择一个电影类型来过滤内容。下面我们改造一下这个过滤器,让用户可以选择多个电影类型,而且不需要点击 应用 按钮。

打开这个视图的编辑界面…

点击这个电影内容类型的过滤条件… 在这里,我们勾选一下 允许多项选择,点击 应用 …

然后我们再点开这个视图显示的高级设置 …

我们可以设置一下暴露表单的样式,点击 设置...

然后勾选一下 自动提交 这个选项… 如果你想仍然显示应用按钮,可以去掉 隐藏提交按钮 这个选项。

另外我们可以再勾选一下上面的这个 包括重设按钮 … 在它的下面,我们可以再设置下按钮上的文本。

选择一下这些设置的应用范围… 应用在 当前page 上。

点击 应用 … 再点击 保存 … 回到视图页面…

这里之前的下拉菜单就会变成一个选择列表,用鼠标点击想要选择的电影类型… 比如 动画…

这里不需要我们再点击应用按钮,视图会自动提交用户的请求 …

如果想要再选择其它类型的电影的话,Mac 上可以按住 command ,Windows 上按住 ctrl 键,找到电影类型,比如 喜剧,用鼠标再点击一下。

这样我们就可以同时选中 动画 和 喜剧 这两个电影类型。视图会为我们筛选出包含这两个分类词汇的电影内容…

不过这里会重复显示一些电影内容,这是因为这些电影内容里同时拥有 动画 和 喜剧 这两个分类词汇。

回到视图的配置界面,我们去解决一下这个重复问题…

打开电影类型这个过滤条件 … 然后我们需要勾选一下 减少重复 这个选项。

查看电影页面 … 刷新… 现在就不会重复显示内容了。

来自  http://ninghao.net/video/564#info


在区块里显示过滤器 
 

下面我们再来看一下改变这个过滤表单位置的方法。视图可以把这个表单放在一个区块里,你可以把这个区块放在页面中的任何的位置上。

打开这个视图的编辑界面…

浏览到视图的高级设置的区域… 点击 在区块中暴露表单 这个选项后面的链接。

我们把它设置为 是。 然后点击 应用 ...

这样视图会生成一个区块,区块的内容就是过滤器表单。

点击 保存。

下面我们可以找到这个区块,然后把它放在某个区域上显示,点击 结构,区块。

在禁用的区块这里,你可以找到视图为我们生成的区块…

就是这个 暴露的表单:movie-page_1 , movie 是视图的名称,page_1 是 movie 视图里,电影页面这个显示的机读名称。

我们为这个区块指定一个显示的区域,把它放在 边栏第二 这个区域上。然后点击 保存区块。

再配置一下这个区块,点击 配置,我们让这个区块只显示在 movie 这个页面上… 在特定页面显示区块 这里,选择 只在下列页面,然后输入页面的名称, movie ,保存区块 …

调整一下区块的顺序,再次点击 保存区块… 然后回到电影页面…

在这个电影页面的右边,也就是边栏第二这个区域上,会显示出我们的这个筛选内容的表单。

来自 http://ninghao.net/video/565#info

用 Better Exposed Filters 提高过滤器的用户体验 
 

我们可以让用户在筛选内容的时候拥有更好的体验,目前我们使用的是选择列表,用鼠标点击可以选中筛选条件,想要多选的话,Mac 上需要按住 command 键,Windows 上要按住 ctrl 键,再点击其它的筛选条件。

很可能有的用户不懂如何使用这个选择列表,这里我们可以安装一个叫做 Better Exposed Filters 模块,然后使用复选框来代替这个选择列表。

在这个页面,你可以下载到这个模块:http://drupal.org/project/better_exposed_filters

复制一下模块的下载链接 … 回到我们的 drupal 网站.. 点击 模块 .. 安装新模块… 把模块的下载地址粘贴过来 … 点击安装 …

回到模块的列表… 在 Views 区域里,勾选 Better Exposed Filters 模块。点击 保存设置。

我们可以再导入这个模块的中文翻译… 点击 配置 , 翻译 … 导入 … 点击浏览 … 打开课程资料包 03-09 这个目录,找到这个模块的中文翻译文件… 点击 导入 ….

打开 结构,视图,找到想要编辑的视图,点击 编辑,然后选中想要修改的视图显示,这里我们选中 电影页面 这个显示。

浏览到这个视图显示的高级设置,点击 暴露表单的样式 后面的 基本 这个链接。这里我们重新选择表单的类型...

选择 Better Exposed Filters.. 注意设置的应用范围 … 点击 应用 ..

进入到表单的设置界面..

安装 BEF 也就是 Better Exposed Filters 模块以后,这里会多出一些选项。

我们可以分别设置所有公开给用户的过滤器的类型,field_genre_tid 就是电影类型的过滤器,这里使用的是默认的选择列表.. 我们可以修改一下,点击这个下拉菜单,这里还有几个其它选项,比如 复选框/单选按钮,嵌套的 复选框/单选按钮,还有链接。

如果你选择链接的话,那么所有的筛选条件都会是一个链接,用户点击链接就相当于是选中了这个筛选条件。

并且会在选中的筛选条件的链接上添加一个 .selected 类,你可以使用这个类为选中的筛选条件的链接去添加一些样式。让用户可以更清楚的知道他们都选择了哪一些筛选条件。

这里我们选择 复选框/单选按钮… 然后再勾选一下 包括重设按钮,还有 自动提交。 点击 应用 ,然后 保存 ...

回到电影内容列表页面,你会看到.. 过滤内容的表单会使用一些复选框,用户可以直接点击选中不同的条件来筛选内容。

来自 http://ninghao.net/video/566#info


用视图模块创建电影排行区块 
 

在这个视频里我们用视图模块来创建一个电影排行榜的区块,区块会显示投票分数排名前十的电影。

打开 结构,视图,打开 电影 这个视图...

在这个视图里已经有了一个页面类型的视图显示,下面我们再添加一个区块类型的显示.. 点击 添加 ,选择 添加区块…

修改一下这个显示的名称 … 电影排行区块 …

再修改一下标题… 电影排行榜,这个标题会作为区块的标题显示出来.. 注意设置的应用范围,选择 当前 block ,也就是当前这个区块 .. 点击 应用 …

再来设置一下 区块名 .. 电影排行区块.. 区块名会显示在管理区块的界面上。

下面我们为这个显示添加几个字段,默认已经为我们添加一个 内容:标题 字段,我们再添加一个投票字段,用来显示内容投票的分数。

点击 添加,找到 内容: 投票 … 勾选一下 … 修改一下设置的应用范围,选择 当前 block ,点击 应用 。

去掉字段的标签 …

格式化 这里选择 百分比。也就是用百分比的形式显示投票的结构。点击 应用。

过滤条件这里已经默认为我们添加了两个,一个是内容的状态是已发表,另一个是内容的类型是电影。

在这个电影排行区块里,我们要让内容按照投票的分数进行排序 .. 所以,我们需要添加一个新的 排序标准…

不过在这之前,我们要去创建一个关联… 在高级设置的区域里… 点击 关联 右边的 添加 按钮 … 这里我们创建投票结果的关联… 选择 内容: Vote results

修改一下应用的范围 … 点击应用… 值的类型,选择 Percent ,也就是百分比 … Vote Tag 选择 Vote …

Aggregation function 这里,我们选择 平均分 … 然后再点击 应用 ...

我们再看一下排序标准 … 这里有一个按发布日期排列内容的标准,我们可以先去掉它.. 点击这个 添加 按钮旁边的小三角形,选择 重新整理 … 修改一下应用范围 … 选择 当前 block… 然后 点击 移除 …

再点击 添加 ,添加一个新的 排序标准, 找到 Vote results: 值,也就是 投票结果的值 … 勾选一下 … 选择 降序排序,这样分数高的内容会显示最上面。 点击 保存 。

下面我们找到这个区块,然后把它放在某个区域上显示出来…

在新的标签中,打开 结构,区块,在这里找到 电影排行区块 ,显示的区域选择 边栏第二,点击 保存区块。

打开前台页面,在页面的右侧,你会看到我们刚才用视图模块创建的电影排行区块。

在这个区块里会显示一个分页器,我们可以去掉它,回到视图的编辑界面…

点击 使用分页器 后面的 完整这个链接… 当前选择的是 使用完整分页器,这里我们选择 指定显示的项目数,修改设置的应用范围…

然后点击 应用 。

在 要显示的条目 这里,输入想要显示的内容的数量,我们只想显示 10 个内容,所以这里输入 10,然后点击 应用 。

下面我们可以再修改一下这个视图显示的格式,目前选择的是 没有格式化的列表,点一下这个链接,然后选择 HTML 列表,设置下应用范围… 点击 应用 。

列表的类型 我们选择 有序列表,这样区块里的内容会放在有序列表元素里,内容的前面会显示一个序号。

点击 应用 。然后点击 保存。 回到前台页面,刷新 … 现在,电影排行榜这个区块就只会显示出排名前十的电影内容了,而且内容的前面会显示一个序号。

来自 http://ninghao.net/video/567#info

普通分类: