概观
主要标签
最后更新于
2018年8月17日
介绍
Drupal是一个开源(免费)内容管理框架 。您可以使用它来构建各种Web应用程序,从基本网站到精心设计的API驱动的整体结构。
如果您之前从未使用过Drupal,建议您从Drupal 8开始,这是最新且功能强大的Drupal版本。
您可以在个人计算机上本地创建和开发网站,然后将您的创建上传到在线虚拟主机。或者,您可以仅使用在线虚拟主机帐户创建和开发您的网站~https://www.drupal.org/hosting? (链接在新选项卡/窗口中打开)。
还是犹豫不决?
你可以在不到两分钟的时间内在SimplyTest Drupal上测试一个新安装的Drupal站点 ~https://simplytest.me/project/drupal(链接在新的选项卡/窗口中打开。)
点击几下,您就可以访问完整的Drupal安装进行评估。要了解有关在simplytest.me上自定义Drupal评估安装的更多信息,请参阅https://simplytest.me/qa上的问答页面。
注意:此评估网站将在24小时后过期。
您需要获得的软件是免费的。
安装和运行Drupal是完全免费的。这包括可用于扩展站点功能的40,000多个模块以及用于修改站点外观的2500多个主题。
如果您在本地运行该站点,您可能还需要安装“堆栈” - 为您的网站提供服务的幕后软件。
潜在的'堆栈'
Drupal站点需要一小部分软件,可以在后台运行,为您的站点提供服务,并存储您的内容:
- '服务器'软件
- '数据库'软件
- 'PHP'解释软件(Drupal基于编程语言'php'。)
此堆栈已安装在大多数(如果不是全部)商业虚拟主机上。对于本地开发,此堆栈有多种形式。
以下是在本地计算机上运行堆栈的许多选项。
MAMP(OSX,简单) | 使用MAMP创建本地环境 |
XAMPP(Windows,简单) | 在Windows上使用XAMPP快速安装Drupal |
Docker(任何平台,高级) | 使用Docker进行Drupal开发 |
Kalabox(任何平台,易中间) | Kalabox简介 |
直接在您的操作系统上安装(高级)使用此方法安装的Windows用户的注意事项:大多数远程主机使用Linux数据库,而Windows数据库不能轻松迁移到Linux。如果您使用以前列出的任何选项,则不会出现此问题。
每个Drupal站点使用的两个代码集:Codebase和Database
代码库:这些是您下载Drupal时获得的文件和文件夹。代码库中的这些文件负责创建和管理您网站的所有内容,例如文章或用户评论。内容本身(以及设置和配置)存储在数据库中。
当您想要复制或移动Drupal站点时,您需要获取代码库和数据库的副本。
灵活性,满足简单性
内容管理解决方案努力平衡灵活性和简单性。如果一个解决方案很简单,它只能用于一个目的,如果它是灵活的,新手可能难以学习。
平均内容管理系统(CMS)就像玩具卡车一样,已经就如何使用它做出了假设,这些假设很难被覆盖。另一方面,内容管理框架就像制作任何玩具所需的原材料 - 没有对如何使用它们做出任何假设,而建造者需要专业的技术知识才能制作任何东西。
Drupal旨在为需要简单性和灵活性的非技术用户提供完美的内容管理解决方案提供商。它通过其模块化的站点构建方法实现了这一点。与其他CMS不同,Drupal不是预制玩具卡车,而是车轮,挡风玻璃,车轴,车架等的集合,玩具制造商可以轻松连接在一起。使用Drupal,制造商可以制造玩具卡车,同样也可以制造玩具,如飞机,潜水艇或机器人。出于这个原因,Drupal可以被描述为内容管理系统和内容管理框架 - 一个统一的系统,努力发挥两者的优势,没有他们的不足。
因此,无论网站构建者是想要创建新闻网站,在线商店,社交网络,博客,维基还是其他任何东西,都只需要合并正确的模块。唯一的限制是创作者的想象力。
Drupal在行动
为了澄清Drupal与其他CMS之间的区别,请考虑新闻站点的示例。您希望能够在网站上发布新闻文章,并且您希望主页有一个包含最近五个的部分。接下来,您决定要添加博客部分,并将链接列表放在主页上最近的五个博客条目中。
如果你使用的是普通的CMS,首先你要安装一个处理新闻文章的插件,并且可以在主页上放置简短的颜色。接下来,您将安装一个插件来跟踪最新的博客帖子并在主页上列出这些帖子。每个插件只负责跟踪和管理特定类型的内容,并且每个插件与其他插件保持相对隔离。
但是,当您通过显示关于最新新闻项目的博客文章列表,根据贡献者活动进行排序时,您会想到将这两个功能融合在一起,那么会发生什么?如果你使用的是“玩具卡车”CMS,你可能会失败。或者,您可能需要聘请开发人员从头开始编写自定义插件。但是通过Drupal方式的强大功能,可管理抽象的方式,您可以快速轻松地完成此任务。由于Drupal的模块以标准方式执行并与通用底层系统接口,因此构建各种智能,自定义功能只需将部件拼凑在一起。在此示例中,您可以使用Views。
当然,这种灵活性需要付出一定的代价。虽然玩具卡车可以立即理解并且可以毫不费力地使用,但是模块化车辆构造套件本质上要求您首先阅读说明书。可以使用构建模块,但是您需要了解它们如何组合在一起,然后才能获得纸质原型并将其转换为功能齐全的网站。
Drupal核心以及基于它的数千个贡献模块需要初始投资来学习,但掌握Drupal方式是非常有益的; 充满激情的社区证明了Drupal将网站建设者从简单/灵活性困境中解放出来的能力。一旦你尝试了Drupal,你可能会把你的玩具卡车和船放在壁橱里以收集灰尘。
Drupal是如何做到的
好奇了吗?让我们仔细看看Drupal的工作原理。
人们通常将网站视为静态页面的集合,可能会将某些功能(例如博客或新闻引擎)全部用于完善。当他们去管理他们的网站时,他们正在考虑他们将编辑的树状树状层次结构。
然而,Drupal将大多数内容类型视为同一概念的变体:一个节点(稍后会详细介绍)。静态页面,博客帖子和新闻项目(一些可能的节点类型)都以相同的方式存储,并且站点的导航结构通过编辑菜单,视图(内容列表)和块(通常具有的侧面内容)单独设计链接到不同的网站部分)。
它与您在符合标准的页面编码中找到的分离非常相似 - XHTML提供了有意义的信息结构,而CSS则将其安排用于演示。在Drupal中,节点包含与博客帖子(例如标题,内容,作者,日期)或新闻项目(标题,内容,上线日期,删除日期)相关的结构化信息,而菜单系统则为以及分类(内容标记)和视图,创建信息架构。最后,主题系统以及Panels等显示模块控制着所有这些对网站访问者的看法。
由于这些图层是分开的,因此您可以根据特定需求和角色向不同用户提供完全不同的内容导航和演示。页面可以不同的方式分组,按不同的顺序排列优先级,并且可以根据需要显示或隐藏各种功能和内容。
节点:Drupal灵活性的秘诀
我们不是每天都在讨论“节点”,但由于它们是Drupal设计的核心,因此值得进一步研究。实质上,节点是一组相关的信息位。当您创建新的博客帖子时,您不仅要定义其正文,还要定义其标题,内容,作者链接,创建日期,分类(标签)等。其中一些元素将在主题图层显示时节点显示。其他是控制节点何时出现的元数据 - 例如分类法或发布状态。
如前所述,您不仅限于以单一方式呈现您网站的内容。您可以为站点定义许多导航方案,自定义主题或设计。你可以在这里看一些贡献的主题。
评论也说明了Drupal的方式。评论通常被认为是博客系统的一部分,但Drupal中没有单独的“博客系统”。Drupal只是操纵节点以大多数人认为是博客的方式运行。但是可以对您选择的任何内容类型(或节点)启用评论 - 无论是博客文章,新闻条目,书页(提供基本维基特征),还是您可以创建的任何其他类型。Drupal的模块化系统仅限于网站建设者的想象力。
协作的核心
创建一个从“一对多”广播的信息网站是大多数CMS开箱即用的东西。然而,Drupal通过授权网站用户创建内容并相互交互 - 从“一个到多个”变为“多个到多个”来发光。
使用某些CMS,您可以设置博客,并且可以安装插件来处理拥有用户社区的问题。但是,如果您希望为每个用户提供单独的博客,对其内容进行排序以便可以使用自己的皮肤单独显示,同时还生成跨博客主题摘要,前五个列表以及精心制作,定制的链接,会发生什么用户档案?如果您还希望将这些博客与论坛,类似维基的环境以及用户拥有的标记照片库相集成,该怎么办?典型的CMS信息方法使得这种情况很难实现。相比之下,Drupal方式使得这样的场景不仅易于建立,而且随着时间的推移也难以置信。
Drupal是从头开始设计的,因此网站构建者可以将内容创建甚至网站管理委派给用户。站点构建器所要做的就是为用户定义用户权限,然后每个人都可以开始协作。
快速入门,广泛定制
Drupal的灵活性令人难以置信,但安装它非常简单。通过简单的FTP上传和一些简短的基于Web的配置问题,您可以连接到您的数据库,并在一小时内启动并运行您的第一个Drupal站点。
选择一个包含的主题,然后开始添加内容。你想让访客登录吗?然后你应该打开或关闭“身份验证”。想要打开一些附带的工具?然后你应该打开“论坛”; 启用对节点类型的评论; 打开书籍模块进行类似维基的协作; 创建表格和民意调查; 使用分类法为网站内容提供结构化,分层分类或自由格式标记。
您想将自己的皮肤应用到网站吗?Drupal的主题系统使用Twig模板系统,允许您插入动态内容而无需任何原始PHP。Drupal生成的标记是干净的,符合标准的XHTML。没有老式的桌子。没有残酷。不开玩笑。
Drupal流程
如果您想深入了解Drupal,您应该了解信息如何在系统层之间流动。需要考虑五个主要层面:
- 在系统的基础上是节点的集合 - 数据池。在网站上显示任何内容之前,它必须是输入数据。
- 下一层是模块所在的位置。模块是功能性插件,它们是Drupal核心的一部分(它们与Drupal一起提供),或者它们是由Drupal社区成员创建的贡献项目。模块基于Drupal的核心功能,允许您自定义节点类型的数据项(字段); 建立电子商务; 以编程方式排序和显示内容(由您定义的过滤器控制的自定义输出); 和更多。快速增长的Drupal模块库中有数千种不同的选项。它们代表了从个人到大公司的每个人的创新和协作努力。
- 在下一层,我们找到块和菜单。块通常提供模块的输出,或者可以创建以显示您想要的任何内容,然后可以放置在模板(主题)布局中的各个位置(区域)中。可以将块配置为以各种方式输出,以及仅在某些定义的页面上显示,或仅针对某些定义的用户。菜单是Drupal中的导航器,用于定义每个定义的菜单路径(相对URL)中的内容。菜单是Drupal的核心元素,它提供了在Drupal中创建的所有页面的链接。
- 接下来是用户权限。这是配置设置以确定允许不同类型的用户执行和查看的内容的位置。为各种角色定义权限,反过来,将用户分配给这些角色,以便为其授予已定义的权限。
- 顶层是网站主题(“皮肤”)。这主要由XHTML和CSS组成,并且一些Twig变量混合在一起,因此Drupal生成的内容可以放在适当的位置。每个主题还包括一组函数,可用于覆盖模块中的标准函数,以便完全控制模块在输出时如何生成标记。还可以根据用户权限即时分配模板。
从底部到顶部的这种定向流控制着Drupal的工作方式。您想要的某些新功能是否显示?也许您已将模块上传到系统中但尚未激活它,这使得下游的所有功能都无法正常运行(如上图中的“A”所示)。
也许该模块已安装并激活,但您仍然无法在您的网站上看到您想要的内容。您是否忘了放置块,如“B”?或者您的用户权限设置是否与您想要的内容冲突,并且您的用户未设置为在“C”中查看输出?
另外 - 如前所述 - 在XHTML模块输出的细节上获得所需的粒度控制需要了解此流程。您使用的模块是否符合您的要求,只是您希望标记有点不同?也许您希望它使用不同的标签,或者您想要将CSS类分配给某些东西?您可以通过从模块复制输出函数并将其推送到主题中的函数文档来实现此目的。修改那里的代码,当系统进入输出时,它将看到您的自定义功能并改为使用它。
近距离接触和个人化
既然您已经对Drupal方式进行了简要介绍,为什么不在您的服务器上安装Drupal或在线测试Drupal(simplytest.me)并亲自尝试一下?如果您需要入门帮助,“ 安装和配置”指南会提供逐步说明。
欢迎来到Drupal用户社区,以及快乐的网站建设!
评论