你在这里

零基础Drupal快速预览

wzzhang's picture
wzzhang 在 Sat, 10/25/2014 - 23:47 提交
时间: 
Friday, April 18, 2014 - 从 15:3016:45

着重讲基础概念和解答问题,同时完成一个两栏新闻展示的页面。

涉及到的概念有:

  • 安装,文件夹权限设置
  • 模块的安装、启用
  • 界面语言的添加、汉化
  • 常用管理辅助模块administration menu和module filter
  • node & content type
  • field & widget & formatter
  • text format & filter & 所见即所得富文本编辑器
  • views及其format、display、show
  • devel模块及生成测试性内容
  • path & menu & 首页设定
  • block & region & theme
  • Panels & content region

文字版教程

  1. 在这儿下载Drupal最新稳定版,解压,cd sites/default/; cp default.settings.php settings.php, 然后将drupal整个目录权限改为Web服务器所有和可写(Linux下是chown chmod命令,Windows Server中的IIS应该是network service账户,windows中的apache或者xampp等直接改成对everyone开放权限)。创建mysql数据库、设置Web服务器虚拟主机。然后打开网址,开始安装。若在windows下使用我在学习路径中推荐的bitnami一键安装包,则应该自动安装好,直接打开http://localhost/drupal即能访问。
  2. 到/admin/modules/install路径下(请将此路径直接复制到您Drupal安装跟路径网址后,下同),安装管理辅助模块Administration menuModule Filter,直接复制粘贴其稳定版的网址即可安装。若安装过程中出现FTP权限错误提示,则表明第一步中的文件系统权限未设置正确。并启用这两个模块。同时建议禁用系统核心自带的toolbar和overlay模块。马上到/admin/config/administration/admin_menu直接保存后,网页顶部的administration menu右侧即出现搜索框,非常方便找到设置页。
  3. 界面汉化。访问/admin/modules启用locale模块,然后安装Localization update模块并启用。访问/admin/config/regional/language/add添加汉语,再到/admin/config/regional/language将汉语设成网站default语言,再到/admin/config/regional/translate/update自动在线导入其他国人贡献的汉化语言包,导入过程可能会出现AJAX错误,多试几次即可(同时建议增大php.ini中的max_execution_time、memory_limit、upload_max_filesize、post_max_size值)。但建议管理员最好是到/user/1/edit改成英语界面,出了问题方便搜索,一开始适应英语,后面就舒服了。同时需要到/admin/config/regional/language/configure启用user的语言偏好优先级高于网站默认语言。
  4. node是Drupal历史上的内容组织单位,到了7中,变成了entity的下属概念,但仍是最重要的内容管理实施方式。具体表现为content type,在/admin/structure/types上可看到系统内建了Article和Basic Page两个内容类型,到/admin/structure/types/manage/article在左下方的vertical tabs里可看到内容类型的多种设置,在/admin/structure/types/manage/article/fields可增删改某种content type的字段,极为灵活。
  5. 在/admin/structure/types/manage/article/fields可看到系统内建的多种字段,到/admin/structure/types/manage/article/fields/field_tags可看到某个字段的多种设置。其中最基本的关于字段的概念是widget(用于内容编辑时使用)和formatter(用于内容查看时使用),这些widget和formatter和field本身是解耦,更加灵活,且提高了用户友好性。如:到/admin/structure/types/manage/article/fields/field_tags/widget-type可将tags字段的widget有系统默认的自动完成widget改成单选框复选框或下拉列表,到/admin/structure/types/manage/article/display可将tags字段的formatter改成带链接和纯文字。
  6. text format & filter & 所见即所得富文本编辑器。到/admin/config/content/formats可管理text format,系统内置了3种,可配置给不同角色用户使用,用于控制用户输入内容时可使用的HTML相关格式。filters是用来过滤文本内容的,如:去除js防止跨站脚本攻击、BBCode、将某个标记替换成视音频等(有点类似于Joomla下的trigger)。text format由多个filters构成和处理,在刚才那个页面上点击任一text format的configure链接,看到该种text format的Enabled filters,若某个filter有具体的设置项,则在页面底部的vertical tabs里设置。所见即所得文本编辑器是为了方便用户可视化编辑格式,下载启用ckeditor模块,同时需要在ckeditor官网下载js包,将其解压在Drupal安装文件夹sites/all/libraries(没有这个文件夹的话就自己创建一个),解压后的ckeditor目录名可能要重命名为ckeditor。不要下载for Drupal版本。进入/admin/config/content/ckeditor仔细查看每一个配置项。
  7. 下载安装Views,欲启用时发现无法启用, 原因是未安装启用其依赖的ctools模块。Drupal里,除了核心自带的模块外,很多第三方contributed的模块之间也是相互依赖的。于是下载安装启用ctools。再启用views、views ui模块(该模块是views的子模块,一个模块项目中可含有多个模块,views将其前段管理界面views ui模块与其核心views解耦分开,足见其作者的功力!还有其他诸多好处,以后再说)。可将views理解为数据库查询视图+Web展现模板。views是个博大精深的模块,也是Drupal的基石之一,设置项极为繁多,且和Panels等许多模块有大量的配合使用,需要大量时间学习。views模块启用后,自带了几个未启用的views实例/admin/structure/views,可打开观摩学习,如果都弄懂了,views就学会了60%。简单说来,它有display、format、filter、sort criteria、contextual filter、relationship几大插件体系。初学者主要是了解format。demo视频中展示了表格布局和unformatted list布局。
  8. 在做自己的views之前,先进入/node/add/article手动创建一两篇articles,然后就可以下载安装并启用devel、devel_generate两个模块,再进入/admin/config/development,生成随机内容做测试使用。先Generate users,再Generate terms,再Generate content(选择Article内容类型)。从这一点也能看得出Drupal远胜于Joomla,Joomla只是一开始可以安装死的示例数据而已。
  9. 创建讲座报告view:/admin/structure/views/add,输入view name, show Content of type Article sorted by Newest first, 输入page title、Path(将是该view可以访问的网址),Display format设成table,点击Continue & edit,最终设定如附件图片。具体操作参见demo视频。类似制作通知公告view。
  10. 主题。主题就是模板,由多个regions组成,用于摆放blocks和main content。进入/admin/structure/block/demo/bartik可查看系统默认主题Bartik的Regions,进入/admin/structure/block可将区块blocks放入哪个region。进入/admin/appearance/settings/bartik可设定主题的一些配置项。
  11. 现在网站首页的content region的内容默认是发布到首页的nodes的teaser view mode的unformatted list加上翻页器。如何改掉?请往下看。
  12. 下载安装panels模块,又一个重量级模块,和views配合可千变万化,也需要花大量时间学习。启用panels、page manager(隶属于ctools的子模块),然后到/admin/structure/pages/add创建Page,输入Administrative title(首页)和Path(和views里的path一个道理,输入home),然后点击Continue按钮,一路默认,到Layout这一步时,选择Columns:2的第一个,然后在Content里点击齿轮按钮将刚才创建的两个views分别加入Left side和Right side,结果没发现有views,原因是未启用Panels和Views的中介——Views content pane模块(而这个模块却是ctools的子模块,是因为这三个模块关系度较高,几个作者互相参与这几个模块的设计开发,这几个模块的作者都是顶级大牛)。启用views content pane后回到Panels的content设置页,添加“讲座报告”和“通知公告”views。
  13. 到/admin/config/system/site-information将Default front page设成刚才创建的Panel Page的路径,即home,回到网站首页,发现内容已替换成我们制作的两栏文章表格式布局的页面了。Panels的主要作用就是将主题的content region再细化使用,更加灵活,无需手动编写模板。
  14. 现在我们在导航菜单上添加一项。可点击“讲座报告”的view中间的menu链接,Type选择Normal menu entry,输入Title,Menu选择Main menu,然后应用保存。即可看到导航菜单上出现新的一项。其实任何一个具有path的都可以设置成一个菜单项,如:创建一个node时可在vertical tabs中设置菜单项。菜单又是一个block,可以放在主题的任意region里。
清晰版视频提取地址和密码: 
http://pan.baidu.com/share/link?shareid=352135583&uk=2434766405&fid=304807897706685

你已经为这个内容打过标签了,你的标签是: