Druapl7权威指南
第一部分
入门
第一章
■■■
建立一个drup al7站点
本杰明梅兰肯丹哈基姆扎德达妮诺丁著
―好吧我们能用艰难的方法完成这事或者我们可以用Drupal的方法完成这事。 ‖弗莱斯特玛斯红茶菌
本书通过介绍使用Drupal 7创建网站的所有各个方面的内容将会使你在Drupal的学习中少走弯路它将会涉及结构和配置模块开发前台开发持续运行项目 以及贡献Drup al的代码文档还有社区等等。
在第一章中还有什么比创建一个完整的站点更好的方法开始呢在27页中你要每小时从零点走到60英里或每小时100公里视情况而定。在后面的章节中你要使用View s 【视图】的动态页面添加涡轮增压器主题化赛车的条纹 以及Jquery奖杯的获得者你还要执行一些商业方面花哨的练习等等。
在整本书中我们将设法引导你以Drupal的方法做事。从来就没有只有一种方法能达到目地但是有些方法忽视乃至反对Drup al的产品。相比之下 Drup al的方式在Drup al的优点基础上是任何方式无法相比的。 第8章讲述了其中的优点之--一个活跃的在课程中能够持续给你提供帮助的社区。
在本章中你要创建的这个站点会允许用户轻松地创建和分类内容。方案不是假设的。本书需要一个网站而你正在创建它你将要
•使用基本方法规划一个站点。
•安装Drupal 7。
•配置Drupal核心提供一个面向协作的站点接受作者和观众的内容和评论。
•把该站点和它的首页静态半永久性 内容和最近更新进行组合。
•给作者和观众不同的添加和编辑内容的访问级别。
这仅仅是第一章所以就到这儿吧
规划设置参数和了解你所在的位置
在开始做任何项目之前你应该对它需要什么有些了解如果只设置一些你要输入的参数。适当提交的关键是设置预期。 关于使用灵活的方法规划和管理方面更多的内容参见第九章。
发现为什么要建这个站点
开始一个项目时要弄清楚的第一件事情不是如何去做这件事情而是为什么要做这件事情。发现这个目标的过程是一个项目的发现阶段它精确地解释了本书中的介绍和第9章中进一步的论述。
■提示 虽然很明显但是极为重要的发现阶段有时很少受到关注。即使是只为你自己建立的一个网站也应该以确定你的目标开始。忽略这个步骤可能意味着当了解的需求发生变化和在这个过程的后期发现了新的需求时会重复进行所有其他的阶段。
询问站点发起人作者有关他们对该站点透露的目标他们希望人们获得更多有关Drupal7
权威指南的知识并且他们希望该站点可以帮助交流并且在多个作者、读者和感兴趣的Drupal人士【Drupalis tas】之间合作。
总的来说 DefinitiveDrupal.org网站以下简称为DGD7站点将会补充本书的目标其中包括以下
•给人们提供各种各样大量使用Drupal的技巧背景环境。
•帮助人们学会如何更加了解他们自己。
•鼓励那些对Drupal软件感兴趣参加社区可能会做出软件的人们。
本书要达到的目标要是人们购买本书它可以提供帮助因为所有网站访问者一定能够看到有关本书的基本信息挑选和奖励内容 以及图书购买信息。作者必须能够添加编辑并安排这些信息。人们必须能够对本书中包括的概念或将来的版本提出意见。以后本书的读者必须能够发表评论或对特别章节询问问题。 这些交互的结构表单会比联系表单或站点范围论坛的作者更加合理利用。 站点必须能够扩展新的功能以及新的内容 当添加了有关Drup al重要的新信息时游客必须能够登入收到更新。
第二部分 网站建设基础】
第3章使用v ie w s创建动态页面
视图改变了我的生活。如果你已经建立了一段时间的动态网页有两个任务要重复执行。建立内容并存在一个数据库里,然后将内容调出来建立网页。后面的请求常常需要复杂的公式稍有差错就将返回错误的项目或者更有可能什么都没有。
视图模块让你更轻松地为显示内容子集,甚至是合并多种内容类型,制定标准。你还能得知显示数据的格式.新的内容添加到网站 由此产生的视图则是动态更新的 以反映新的内容.它可以帮助你做到这一切而不需要编写任何代码。视图改变了我的生活谢谢!现在是时候改变你的了
什么是Vie ws
该名称来自数据库术语。数据库视图是一个复杂的存储查询使用起来就像是数据库中的表格。当您在数据库视图里查询项目的时候您用您需要的方式得到您需要的东西。Drup al视图的工作方式是类似的但是他们让您用的是一个图形用户界面去创建数据库查询。如果您建立了Drupal视图该模块会为您编写查询所以您根本不必知道任何相关的数据库管理。
视图模块是由迈尔斯设想创建并维持的(drupal.org上的merlinofc haos)。所有可下载的版本、文件和列队均可在drupal.org/projec t/views的工程网页上找到。
该工具本质上是一种智能查询生成器给予了足够的配置,可以建立正确的查询执行它,就能显示结果。
撇开别的不说视图可以用来生成报表创建摘要显示图像和其他内容的集合。
--摘自drupal.org/project/view s就像Drup al本身视图模块提供了强大的功能。只需要点击几下您就可以放一个板块到您的主页上罗列网站的新内容。再点几下您就可以将之变成一个选项卡式菜单第一个标签显示您网页上最流行的内容第二个便签显示最新评论第三个则罗列最新成员。该视图模块在动态网站上提供了一个发电机。它使您的工作(建设网站特别是维护网站)更
轻松更强大。可以很轻松地写一本关于视图的书并不觉得无聊。
出于这些原因本章该学到的本质不是在视图的帮助下你能做什么或者是如果去做而是该如何用简便的方式去做使您维护网站起来更便利并将责任传递给下一个人。换句话说我希望您真正学到的是过程标签面熟命名约定。一旦学到这些您将能够想象并用视图建立几乎所有的东西。
运用Vie w s的例子
以下只是视图的普通运用
最新5篇新闻稿
活动预告
某人写的所有帖子(类似博客)
每月存档的内容
管理用的内容列表(见图3-1)
以下只是视图的普通运用
最新5篇新闻稿
活动预告
某人写的所有帖子(类似博客)
每月存档的内容
管理用的内容列表(见图3-1)
图3–1.管理用的内容列表示例
您真的可以展示任何类型的内容也可以引进相关的内容。如果该内容在数据库中您可以使用试图模块来展示。
视图展示的最普遍的类型是网页和板块。 网页的话您可以指定输出到它自己的URL。板块的话您可以将输出放在网站的任何页面的任何区域。
视图模块的下载启用和配置权限
为了使用视图开始开发你需要以下标准程序来下载并启用模块。
下载
访问Drupal。 org/project/view s。往下滚动到下载部分您可以看到名为―推荐版本‖的一个绿色表题。选择与您已安装的Drupal版本(比如7。 x-3。 x)相匹配的格式(tar。 gz或者zip) 点击下载链接。
解压文件 并把它们放到贡献模块的目录里。对大部分开发者来说 这个在sites/all/modules/c ontrib 。 或者在 sites /all/modules 。 于是您可 以 在sites/all/modules/c ontrib/view s或者sites/all/modules /view s找到所有的试图文件。 (Drush第2长涉及到可以为您下载放置文件。 )
启用
在您的网站上确保您是用有权限的账号登陆到管理员模块或者具有管理员角色的账号(或用户/1)。使用顶部的管理菜单并点击―模块(管理/模块)‖。
下拉滚动条到视图字段设置。您将看到三个模块:视图视图输出和视图用户界面。在视图模块定义下面您可以看到CTo o ls是一个视图工作所需的模块。如果您已经下载了CTo o ls模块并在网站上启用你可以看到―已启用‖的文本。如果您已经下载了CTo o ls但尚未启用文本则显示―缺失‖。如果您的网站文件中不具备所有的信赖 Drupal将不允许您启用模块。
如果您还没有这么做请从工程网页drupal。org/projec t/c tools下载CTools模块。解压文件并将ctools文件夹放在贡献模块目录里。对大部分开发者来说这个在/sites/all/modules所以您可以在s ites/all/modu les/c tools里找到所有CTools文件。
请注意 CTo o ls是一个为其他模块提供辅助代码的模块。
回到模块页面(管理/模块)点击刷新。下拉滚动条到视图字段设置。 CTool信任文本应该为―已禁用‖。有了所有需要的文件您现在可以启用视图。点击视图和视图用户界面的复选框然后保存配置。
我们后面将在本章讨论视图输出。
图3-2。模块列表管理页面。所需模块已下载但尚未启用。
Drup al知道该视图模块需要启用另一个模块并通知您。
您必须启用C To o ls模块来安装视图用户界面。
您希望继续吗?
请―继续‖。
配置权限
Drup al所提供的功能之一是能够将权限授予不同的角色在第1和第8张涉及到。大多数模块都与权限相关。您的网站用户不是匿名用户就是验证用户当然也有可能还有其他其他授予的角色。
提示启用任何一个模块后最好马上配置权限。如果等到开发结束后才配置会导致超量的权限审核。
在顶部的管理菜单点击―人们‖。在该页面上点击权限标签。下拉滚动条至底部找到视图部分。视图模块有两个权限―管理员视图‖和―所有视图‖。
请注意:您也可以在模块管理页面使用视图权限链接。您将直接进入权限页面的视图部分。―管理视图‖将访问视图管理页面用户将可以创建编辑或删除视图。请将该权限授予合适并能正确使用的用户。大部分―管理‖权限只给管理员角色。
―跳过视图访问控制‖是另一个必须谨慎使用的权限。对于某个特定的视图你可以指定某些角色可以看到结果。为某一角色选择―访问所有视图‖权限则可以忽视该设置。我们建议只将该权限授予合适并能正确使用的用户 比如您的网站管理员。
确认没有为验证用户和匿名用户角色选择这两种权限。
确认为管理员角色选择这两种权限。如果做了任何修改请点击保存权限。
在开发过程中请务必用不同的用户查看网页确保各角色按照权限设置拥有正确的用户体验。用三种不同的浏览器打开分别展示不同的角色 比如再火狐是管理员 Chr o m e是验证用户在IE是匿名用户。您需要用不同的浏览器登录每种角色因为浏览器在打开窗口/标签共享您已经登录的账号。
恭喜!您已经成功下载并为视图模块配置权限。您现在可以管理视图了
第四部分前端开发
第15章主题化
Drup al的主题层 以及主题使用到的是负责外观或者一个Drup al站点给人的感觉。你会发现一些有名的网站上优秀的主题都包含一些相同的元素具有符合标准的XHT ML标记CS S和JavaScript。这些是如何组合在一起的是什么如此特别是什么让Drupal的主题如此灵活和强大呢
Drup al主题可以依据你的需要既可以很简单也可以很复杂。主题具有对每个页面几乎所有部分的最终的决定权和控制权。和Drup al本身一样主题也很灵活、很强大。无可否认充分利用Drupal的主题层意味着要克服一个相当陡峭的学习曲线如果对引擎的内部机制不够理解的话很容易在开始时犯一些错误。
在本章你将学习一些关于Drup al主题层的基础知识。你将学习如何去定制和合理修改以及常见任务的最佳做法。您将用自己的方式在任何时间创建灵活和可持续定制的Drup al主题下一章将在这个基础上创建更加深入复杂的Drupal主题。
本章和下一章的一些例子你可以在DGD7主题里找到。如果你想跟进的话可以到这里http s://github.c om/jac ine/dgd7去下载。
开启和设置一个默认主题
在一个全新安装的drupal7中默认的主题Bartik出现在―外观‖页的顶部其次是启用和禁用的其他主题见图15-5。什么是默认主题对Drup al来说仅仅开启一个主题是不够的。设置一个主题作为默认主题就是让它成为前台主题也就是你的站点访问者可以看到的主题。
图15-5.默认安装下外观页面展示开启的主题。
当你想一次同时利用多个主题时开启一个主题而不设为默认主题是很有用的。当此设置与贡献模块一起使用时是更有益的。这样的例子如SwitchTheme模块
http://drupal.org/projec t/sw itc htheme它允许用户从所有启用的主题名称列表中切换主题。
管理主题
在drup al7中 S even主题是默认的管理主题。管理主题通常用在执行管理任务时其中大部分是发生在―/adm in‖路径下。你也可以选择允许在编辑站点内容时用管理主题。虽然有些主题比其他的对Drupal管理界面支持的更好但是如果需要的话所有的主题都可以用来作为管理的主题。
管理主题的配置位于―admin/app earanc e‖页面主题列表的下面。如果想同时在前后台都用一个主题只要将默认的主题设置为管理主题即可。
全局主题设置
Drup al自带的一些主题设置可以在管理界面配置。这是大部分网站定义个性化的地方以及一些其他设置。全局设置页位于―admin/appe aranc e/s ettings‖路径下包含这些设置。当个别主题的设置页面上应用主题设置时它们将覆盖全局设置。以下章节将详细介绍这些以
及在你的主题什么地方会碰到。
其中一些设置确定是否将位于模板文件中的变量因此输出出来。在图15-6中描绘的设置代表Drup al提供的默认值。这些都可以通过定义主题中的in fo文件里定义fe atur es来覆写这将在―定义主题元数据‖一节中进一步讨论。当在info指定一些功能时你需要确保包含了所有你将要支持的功能如只是一个的话将会覆盖所有Drupal提供的默认值。 以下是他们会在info文件中一些设置的快速参考fe atur e s[]=lo g ofeatur e s[]=namefeatures[]=s loganfeatures[]=favic onfe atur e s[]=m ain_m enufeatures[]=s ec ondary_menufeatures[]=node_us er_pic turefeatur e s[]=c omm ent_us er_p ic tur efeatures[]=c omment_us er_verific ation
图15-6.全局设置页面
Logo
默认情况下 Drupal会在主题的根目录下寻找一个名为logo.png的文件。另外也有一个选项可以指定一个不同文件的路径作为lo g o也可以上传一个lo g o。当Lo g o复选框选中时一个叫做$lo go的变量它的路径将会输出在p ag e.tp l.php里若没有选中 lo go将不会输出。
名字和口号
网站的名字是在安装过程中定义的。站点名字和口号都可以在―admin/c onfig/system/site-information‖页面进行修改。在主题设置页你可以切换他们是否可见。两者都可用在page.tpl.php中分别为$site_name和$site_slogan。
快捷图标
快捷图标也称为favic on是一个Drupal的小图标 出现在地址栏、书签和大多数浏览器的标签。和标志一样快捷图标可以切换是否可见也可用自定义的文件。默认的文件是―misc/favic on.ic o‖。
在发布和评论中的用户图片
这些设置控制变量$us er_pic ture和变量$pic ture是否分别在node.tpl.php和c omment.tpl.php里输出从而决定当查看节点和评论时图片是否显示。
评论中的用户验证状态
当用户没有一个验证的账号时此项将显示在用户名字的旁边― 未验证 ‖。该文本是在template_preproc es s_username()函数中定义作为变量$variables[‗extra‘]打印在theme_us ername()函数中。见―预处理和处理函数‖和―主题函数‖部分 了解如何改变它。主菜单和次级菜单
当主菜单和次级菜单的复选框被选中时变量$main_menu和$s ec ondary_menu就会以数组形式包含每个菜单的菜单链接在page.tpl.php中输出。在位于―admin/s truc ture/menu/s ettings‖菜单设置页你可以选择每个用于哪个菜单。默认情况下主菜单是用作填充$m ain_m enu源的可以通过在―adm in/s truc tur e/m enu/m anag e/m ain-m enu‖页来管理。默认的次级菜单源用作用户菜单可以在―admin/s truc tur e/m enu/manag e/us er-menu‖页来管理。
这些都是在p ag e.tp l.php中使用th em e_link s()函数将在本章稍后介绍简单的单级菜单输出。
这使得他们很难样式复杂的导航设计时使用。因为往往需要复杂的导航的很多主题开发人员为导航创建区域和使用的区块来输出菜单而不是使用这些菜单。我们强烈推荐M e nuBloc k模块http://drupal.org/projec t/menu_bloc k它允许你很容易地去使用菜单做几乎任何东西。
自定义主题设置
自定义主题设置与全局主题设置很相似它可以由主题或者模块来提供。一个自定义主题设置的例子可以在Garland主题中的garland.info文件里看到。它创建了一个叫做
―garland_w idth‖的可以用来设置固定或者流体的设置。快捷方式模块还提供了设置在S even主题里的遮罩层内的标题旁边提供小图标以显示―添加或删除快捷方式链接‖。要学习如何为您的主题创建自定义主题设置请访问http://drup al.or g/no de/177868。
安装一个新主题
Drup al会到它的主题目录去扫描可用的主题 因此将你的主题放在正确的目录下这样Drupal才能识别它。你也有可能将新增的主题放置到Drupal的―/themes‖目录下但从技术上来讲这被认为是―破坏核心‖并且应当避免。在下载和解压你的主题之后选择以下哪个目录来放置主题。使用其中任何一个目录都可以帮你确保Drup al自身的任何升级不会覆盖你的主题。
s ites/all/themes 当你想为你的Drupal中的所有站点安装使用这个目录的主题时。
s ites/s itename/themes提供给你的Drupal多站点安装在特定的网站上时。您也可以使用主题安装程序点击―外观‖页的顶部安装新的主题链接下载并安装来自贡献的主题。这将使你在这里您可以进入链接到项目下载的压缩包的位置并单击―安装‖。主题安装程序会自动下载你的主题并放置在―s ites/all/themes‖目录。一旦完成您可以像往常一样在―admin/adm in/appe aranc e‖页上来启用主题。
与区域一起工作
在Drup al页面中所见到的大多数内容是输出在一个区域里的。典型的区域包括header、footer、 s idebar以及c ontent 见图15-8这些区域往往在定制高级的HTML标记结构时经常用到。在―adm in/s truc tur e/b lo c k‖页区块中有一个选项可以设置显示到每个区域允许网站的管理员控制和放置区块显示在里面。
LOCVPS(全球云)发布了新上韩国机房KVM架构主机信息,提供流量和带宽方式,适用全场8折优惠码,优惠码最低2G内存套餐月付仅44元起。这是一家成立较早的国人VPS服务商,目前提供洛杉矶MC、洛杉矶C3、和香港邦联、香港沙田电信、香港大埔、日本东京、日本大阪、新加坡、德国和荷兰等机房VPS主机,基于KVM或者XEN架构。下面分别列出几款韩国机房KVM主机配置信息。韩国KVM流量型套餐:KR-Pl...
享有云怎么样?享有云是一家新的国内云服务器商家,目前提供国内、香港及海外地区的云服务器,拥有多线路如:BGP线路、CN2线路、高防等云服务器,并且提供稳定、安全、弹性、高性能的云端计算服务,实时满足您的多样性业务需求。目前,美国bgp云服务器,5M带宽,低至20元/月起,270元/年起,首月打折;香港2核2G2M仅50元/月起,450元/年起!点击进入:享有云官方网站地址享有云优惠活动:一、美国B...
介绍:御速云成立于2021年的国人商家,深圳市御速信息技术有限公司旗下品牌,为您提供安全可靠的弹性计算服务,随着业务需求的变化,您可以实时扩展或缩减计算资源,使用弹性云计算可以极大降低您的软硬件采购成本,简化IT运维工作。主要从事VPS、虚拟主机、CDN等云计算产品业务,适合建站、新手上车的值得选择,拥有华东江苏、华东山东等国内优质云产品;香港三网直连(电信CN2GIA联通移动CN2直连);美国高...