Joomla与Drupal两者的优缺点比较

Joomla与Drupal两者的优缺点比较
Joomla与Drupal两者的优缺点比较

Joomla与Drupal两者的优缺点比较

1:总体来说drupal 功能强大一些

2:drupal 的优点

001-- 搜索引擎友好的URL

002-- Drupal有一个优秀的模块化结构,提供了许多模块,包括短消息、个性化书签、网站管理、Blog、日记、电子商务、电子出版、留言簿、Job、网上电影院、论坛、投票等模块。Drupal模块的下载、安装、定制非常方便

003-- Drupal提供了强大的个性化环境,每个用户可以网站内容和表现形式进行个性化设置004-- Drupal提供了基于角色的权限系统,没有必要对每个用户进行授权,只需要对角色进行授权

005-- Drupal提供的站内搜索系统能对站内的所有内容进行索引和搜索

006-- Drupal的模板系统将内容和表现分离,可以很方便地控制网站的外观+ Drupal提供内建的新闻聚合工具+ 提供完善的站点管理和分析工具

007-- Drupal的Caching机制能有效减少数据库查询次数,从而提高站点性能,降低服务器负荷

3:详细信息:

<1>. 模块化系统(Module system)。

Drupal把各个具有独立功能的部分抽象为模块,各个模块(除核心模块)只要按照事先巧妙设计好的统一规范来实现接口(http: //https://www.360docs.net/doc/de458524.html,/)------这些接口在drupal中表现为按照特定规则命名的PHP代码文件、特定PHP代码文件内按照特定规则命名的PHP函数、特定PHP函数内根据特定参数来执行相应功能的PHP代码块-------就能在核心代码的调度下实现模块自有的功能、在模块之间自动进行交互、通信,这样使得整个系统的功能扩展更灵活更规范。各个模块之间的功能相对独立,单个模块内部的变动一般不会对其他模块原有功能造成影响,单个模块的问题一般不会导致整个系统不可用,这样就可以大大降低系统开发和维护的成本。

Drupal 模块化的安装使用也很方便,只要将相应文件复制到modules目录下,就可以在'管理-设置'里面方便地开启使用了。

<2>. 钩子机制(Hooks system)

钩子机制其实是drupal模块化系统的关键部分。Drupal模块化系统基于一个"钩子"的概念,一个钩子是一个以foo_bar() 方式命名的php函数。其中foo是模块的名字,bar是钩子的名字。每个钩子都定义了一系列的参数和返回类型,执行特定的功能。例如钩子

myblog_load($node)会在系统载入模块myblog对应的节点(node)信息时候执行,把模块对应的节点特定信息附加到节点中去。钩子可以使得模块(module)可以在drupal核心的调度之下进行交互,包括和核心本身进行交互。Drupal的模块机制大大简化的实现模块具体功能的开发、维护效率,因为你只需要实现特定的钩子函数就能获得对应的功能,而根本不用关心这些函数是如何被调用、如何与系统交互。

<3>. 内容类型面向节点

这个术语是借用编程语言中面向对象的概念。在编程语言中,面向对象编程是指在编写应用程序时候,以对象为基本单位,在基本对象(object)的基础上,通过封装、继承、抽象、多态、重载等方式,建立起整个复杂的应用程序架构。面向对象编程通过把客观世界抽象为对象的组合及其相互交互,有效地降低了程序开发的抽象性和复杂度。

drupal把所有的内容类型都看作节点,各种内容类型都是在基本节点的基础上进行扩展而实现的。例如你的drupal站点有一个叫做供应(supply)的内容类型,那么这个内容类型就自动有了基本内容类型(node)的属性和方法了,然后你可以在这个基础之上通过添加少量额外的属性和方法来实现supply了。这跟面向对象的概念不谋而合,因此我把它称为drupal的内容类型面向节点特性。

把所有的内容类型当作节点的好处是,这样它们就可以基于相同的底层数据结构了。对于开发者来说,这意味着你可以对所有的内容以同样的代码方式进行许多操作。可以在节点上非常容易的进行一组操作,并且你也可以为你自己的节点类型添加许多额外的功能。由于所有的内容都是节点,所以所有的内容都可以轻易的使用drupal内置的支持对内容的搜索、创建、编辑和管理等操作。这种内容一致性对于客户端用户的体验来说也同样明显。由于创建、编辑和删除节点的表单拥有一个类似的外观,这样就保持了用户体验的一致性。

不过所有内容类型均基于node,我认为也有缺点,就是drupal核心在执行node相应钩子函数的时候,会尝试执行所有节点类型对应的钩子函数,这样一旦内容类型增多,系统性能就会直线下降。

<4>.表单API(Form API)

Drupal提供了一个应用程序接口(API)来生成、验证、处理HTML表单。表单的生成、验证、处理函数都是按照约定的命名规则进行命名,例如内容类型myblog的表单生成函数默认为myblog_form(&$node,&$param),对应的表单验证函数为

myblog_form_validate($form_id, $form_values),而表单处理函数为

myblog_form_submit($form_id, $form_values)。drupal核心会在恰当的时候根据命名规则去执行相应的函数去生成、验证、处理表单。

另外,表单API将表单抽象为一个关于属性和值的嵌套数组。在生成页面时,表单呈现引擎会在适当的时候将数组呈现出来。

表单API的作用不但可以大大简化站点开发中最常见的表单生成、验证、处理的工作,更加大大提高了对表单变更的适应能力。

<5>. 主题机制(Theme system)

Drupal支持为站点配置不同的主题。一个主题是由一组展示你站点外观的文件------主要是模板文件------组成。模板文件按照约定的命名规则来进行命名。例如node.tpl.php文件为默认的节点内容显示模板文件,而node-supply.tpl.php为节点内容supply的内容显示模板文件;又如page.tpl.php为默认的页面内容显示模板文件,而page-supply.tpl.php为模块supply的页面内容显示模板文件。你甚至可以在template.php中自定义自己模板文件来实现特定的内容显示模板(参考https://www.360docs.net/doc/de458524.html,/api/group/themeable)。

模板机制的好处是你可以把站点数据处理和数据显示完全分离,这样就可以把开发人员的精力从繁琐的内容显示格式的工作中解脱出来,专注于实现站点的业务逻辑功能。其次,模板机制也使得我们可以轻易的改善站点的外观而不需要调整现有程序。

<6>. 菜单机制(Menu system)

Drupal通过菜单钩子hook_menu来实现它的菜单机制。只要在模块中的hook_menu钩子函数中按照约定的规则来定义菜单,drupal核心就会在站点界面中实现相应的菜单(具体请

参见https://www.360docs.net/doc/de458524.html,/api/group/menu/)。通过菜单机制,开发者可以轻易的设计和调整站点的菜单系统,大大解放了开发者的劳动。

<7>. Ajax支持

Drupal内置对jQuery和JSON的支持,jQuery和JSON的完美结合,使得Drupal 有了一个轻量级、高效的AJAX实现,大大提高了编写AJAX应用的效率。

总结:drupal更多的是当你需要使用php编写模块(插件)的时候才选用的东西,这个时

候一般来说是现有插件已经无法满足你的需求了,需要定制,这个时候一般选择drupal。但是drupal也有很多插件,所以一般还是先选择插件,无法实现的功能才自己开发。

从操作上来说,drupal没有joomla那么简单直观,所以如果你有特殊要求,需要编码则使用drupal,在此之前,请先寻找插件,尽量不要编写php程序

4:joomal简介:

Joomla!是一套在国外相当知名的内容管理系统

(Content Management System, CMS),它属于Portal(企业入口网站)类型,顾名思义,就是比较适合作为商业类型的网站程序。一般人对这类型的内容管理系统可能会有以下的别名来称呼:

■ 架站程序(或软件)

■ 快速架站程序(或软件)

■ 整站程序

Joomla!是使用PHP语言加上MySQL数据库所开发的软件系统,可以在Linux、Windows、MacOSX等各种不同的平台上执行。目前是由Open Source Matters (w https://www.360docs.net/doc/de458524.html,)这个开放源码组织进行开发与支持,这个组织的成员来自全世界各地,小组成员约有150人,包含了开发者、设计者、系统管理者、文件撰写者,以及超过2万名的参与会员。目前,Joomla!最新的版本是Joomla 1.6。

Joomla 1.6给我们的建站作业带来了哪十大变化:

新的配置需求:

生产环境的PHP版本至少要达到5.2.4以上MySQL需要5.0.4以上;不够的话,考虑升级或是搬家吧。不再有Legacy模式:不再支持那些运行在Joomla 1.0或 1.

5 Legacy模式中的扩展;届时可以联系扩展的作者,强烈呼吁开发native模式下的解决方案。

可嵌套的分类机制将取代section:

对于这个变化,Joomla玩家已然呼吁了多年;再见吧section;

可嵌套的分类机制配合Tag的使用,将使文章分类及站点结构更加灵活合理。增强了用户界面的一致性:对于“提交”、“保存并新建”、“保存并复制”等功能使用了全新的图标,风格更加直观和一致,将有效提升用户操作效率和准确性。

整合的垃圾箱:不再为不同功能组件使用各自不同的垃圾箱机制;垃圾箱大一统的时代到来了。

新的模板风格机制:可以更加便捷的修改和组合模板风格index.php,为不同页面设置不同的主题;

新的模板管理(Template Manager)。

模块管理的调整:新的功能机制允许用户基于时间和日期来预设模块的发布或隐藏,并且可以为模块指定更加精确的显示位置。自带三款全新的模板:包括博客风格、协作站点风格以及一款供大家自定义的基础框架模板。

内建的链接跳转机制:新的分类机制必然导致从前基于旧分类机制创建的文章产生链接失效的问题;内建的链接跳转机制将提供完善的解决方案;

权限管理等级(ACL):这是一个大部头,也是Joomla多年来被指责的方面之一,现在终于得到改进。新的ACL机制允许多层级的用户权限管理,通过创建组别,为不同的用户分配不同级别的权限。

Joomla!的优秀特点

当然每个知名的开源码程序都会有其吸引人的优点,反之当然会有缺点。以下整理出在网络上来自使用者对Joomla!程序的喜好重点:

先进的网站技术的运用:

Joomla!应用了非常多的网站进步的新技术,像是「网站快取技术」可以加速网站「RSS新闻联播与新闻读取」是最近十分热门的网站新闻读取的技术,的反应与效能。

在部落格程序中(Blog)中十分常见。「SEO搜寻引擎最佳化」这个是目前所有网站必备的技术之一,这个功能主要是让搜寻引擎更容易的浏览您网站上的数据,让更多人在搜寻引擎上找到您的网站,相当于为自己的网站带来更多的人潮和商机。

庞大的附加套件及商机:

来自全球上千种不同网站应用的附加套件及美工设计布景,都是以这套系统为基础而开发。使用者可以很方便的安装上这些附加套件,如同在桌上计算机中的Wind ows操作系统中,安装新的软件一般。开发社群总是发挥无止尽的创意,不断的开发符合使用社群需求的产品。Joomla!的商用套件市场目前也有许多价廉物美的软件及美工设计布景主题。

简单且丰富的操作接口:

Joomla!的操作接口除了美观之外,也花了很多心力在设计这些接口的简易操作性。虽然初次使用者,需要花一点时间学习一下操作的方式,才能运用自如。但相信学会使用之后,这是很值得的。另外可搭配的多种所视即所得编辑程序,更可让对网页设计语言不熟悉的管理者,很简易的就可以管理和编辑网站上的文章。

高度的客制和开发的弹性:

对于网站程序开发者和美工设计者,Joomla!保留了最大的客制化弹性和整合能力。全世界的网站相关开发人员,都十分关注与推荐这套系统。是由于这套系统不断在强大能力与客制弹性之间找寻平衡点,受到许多知名厂商的使用。

Joomla!的历史

Mambo软件最早在2001年五月份由澳洲Miro公司所开发,由于Miro公司有商业化的考虑,原先发布并采用GNU/GPL授权的软件版本,在版本3.0.5之后就不再支持。后来由Robert Castley(现已离开核心小组)接手后续的开发原始码版本,并招募新的志愿者。Mambo发展至 4.5.1版本之后,整合了许多新的网站技术,以及新的操作接口,在2004年获得Linux User & Developer Award 2004的「Best Linux or Open Source Software」奖项,自此大放异彩从此,在开源码的内容管理系统中占有一席之地,受到使用社群的高度重视。Mambo 2005年8月后由于原先的所有人Miro公司,希望能深入参与开发工作及决定未来的发展方向,引起和核心开发小组之间的意见不合,前开发小组领导人Eddie Andrew带领几乎八成的原小组成员,成立新的开源码计划Joomla!。而原有的Mambo计划,则由Miro公司重新招募成员与自行雇用开发人员,继续发展下去。目前Joomla!发布的 1.0.x版本与Mambo4.5.2版本功能相差无几。

5: joomla的特点:

由于joomla的这些扩展是---相互独立、没有一致的模型和接口----堆积起来的,一旦发现有些地方不能满足需求需要修改模块的时候,改起来非常繁琐,工作量很大,开发和维护成本陡然增长,要经过痛苦的煎熬。joomla更多是为那些不需要编写php的人设计的,joomla有更多的插件,大约超过5000个,可以扩展你的功能。joomla的后台操作更加简单也更加人性化,所以一般来说,你只需要美工做好图,然后用修改joomla模版,然后再安装一些插件,就能完成你的网站。joomla最重要的就是要熟悉插件,如果没有美工做效果图,你也可以在网上下载很多漂亮的免费模版。所以如果你不想或者不会编写php程序,那你使用joomla是最合适的

6:技术比较

界面比较:

Joomla的界面比Drupal更好看,尤其对站长来说,后台的界面也比较舒服。Drupal的一般较难看一些. 也许因为更多的是程序员参与吧,可能美工底子差些?呵呵.

后台系统

Joomla后台操作比较繁琐,不适合新手.光设置都要费很长时间,再加上分类,添加文章都需要多次步骤,效率比较低.

相对的Drupal比较简单,基本上不用设置,非常灵活好用.

模板功能

joomla的模板提供的选择比较多,很容易添加新模板.也有商业支持,但是要钱(废话,商业支持不要钱?)

Drupal官方发布模板都比较简单,一般只适合做左中右结构的网站,如果你想自己在模板里多加一些容器来放Drupal的区块,需要phptemplate_regions函数,当然更方便的是module_invoke函数,可以让你的区块显示在你想放的任何地方。不过免费模板似乎比较令人失望.

论坛和博客功能

Joomla开放性不及Drupal,论坛和博客要靠第三方组件,而且还没有一个好的论坛组件或桥接程序,Blog也是整合的不佳.相反Drupal在这方面就明显有优势.自带的论坛和博客非常好用.

SEO

Drupal明显占优.Joomla的OpenSEF不错,也进步很快. SEF 大致比得上但要花费50欧元. 代码不是很适合SEO,Drupal代码比较精简,适合SEO

其他比较

Joomla安装一次只能弄一个网站,相反Drupal可以做多个网站

Joomla分类只能有两级,Drupal有多级

总结

总的来说,如果你想做一个交互社区,想要更多的人开发的新工具应用到网站上,就选择Drupal.如果你只是想组织网页和文章内容到你的网站,就选择Joomla比较合适.

drupal 功能强大一些,鉴于公司今后发展的需要,推荐使用drupal!

Drupal安装

Drupal安装 一、下载drupal 你可以从https://www.360docs.net/doc/de458524.html,/project/drupal下载最新版本的drupal。 Drupal已经被翻译成很多种语言。可以到https://www.360docs.net/doc/de458524.html,/project/translations 查看是否有需要的语言包。 Drupal的文件和模块是以“.tar.gz”格式压缩的,且大多数的解压缩软件都能对其进行解压缩。 Linux用户下载和解压缩 如果你想使用传统的命令行来下载版本为x.x的drupal,请使用如下的命令(用你想要的版本号替换以下命令中的x.x,如5.7,6.13,7.2等): wget https://www.360docs.net/doc/de458524.html,/files/projects/drupal-x.x.tar.gz tar -zxvpf drupal-x.x.tar.gz 这将创建一个包含所有drupal文件和目录的新目录drupal-x.x/,并且将保持drupal文件和目录的访问权限。把这个目录移动到你网页服务器的文档根目录或者你的公共HTML目录。 mv drupal-x.x/* drupal-x.x/.htaccess /var/www/html 主URL(网站主域名)是在你网页服务器的设置文件中进行设置的。在进行下一步安装前,你需要知道这个URL。如果你是在本机安装drupal,那么主URL应该是http://localhost。如果你是在一个网页服务器上安装drupal,那么主URL应该是一个指定的域名(比如https://www.360docs.net/doc/de458524.html,)。 苹果系统用户 苹果用户在安装过程中可能还需要阅览以下的手册页: https://www.360docs.net/doc/de458524.html,/node/22676 特别是当你不知道上面提到的“网页服务器的文档根目录或你的公共HTML目录”在本机的什么位置时。 Windows用户 一些像7-zip这样的程序可以用来解压.tar.gz文件。要使用7-zip,在.tar.gz文件上点击右键,然后在弹出的菜单中选择7-zip->解压到这里。将出现一个.tar文件。在.tar文件上点击右键,再次选择7-zip->解压到这里。稍等一会,最终的drupal文件夹就出现了。 SElinux用户 Fedora或其他带SELinux(Security Enhanced Linux)的发行版本不要移动主目录到网页目录/var/www/html。 像https://www.360docs.net/doc/de458524.html,/node/50280中说的那样,移动文件将保留与在其中创建的文件夹的上下文关系。这种情况下,各文件将错误地关联到主目录(user_home_t)而不是网页目录(httpd_sys_content_t)。 而复制文件到/var/www/html将继承正确的文件夹上下文关系:: cp -R drupal-x.x/* drupal-x.x/.htaccess /var/www/html 如何你已经移动了文件,那么你需要用chon命令重新关联文件来改变文件的安全上下

Drupal安装配置过程(含常见报错化解方法)

首先,用VMware workstation 安装Ubuntu 12.04操作系统 在终端之下sudo apt-get install apapche2 安装阿帕奇服务器 在浏览器中,键入地址:127.0.0.1 如果出现it works 表示阿帕奇服务器安装成功 在终端之下,sudo apt-get install drupal7 安装drupal7 允许 dbconfig-common 配置你的数据库 (默认数据库: MySQL) 然后,向apache注册drupal模块: sudo cp /etc/drupal/7/apache2.conf /etc/apache2/mods-enabled/drupal.conf 最后,重启apache服务器: sudo service apache2 restart ———————————————————————————————————————在此时,在浏览器地址栏中,键入127.0.0.1/drupal7/install.php 显示正常 会出现drupal的安装界面但是此时还不行还得进行下一步的配置———————————————————————————————————————为Drupal手工配置mysql数据库 你需要为drupal创建一个数据库用来导入drupal的数据库表,可以通过phpmyadmin或者命令行创建该数据库 mysqladmin -u root -p create drupal 为drupal创建一个名为drupal的数据库,当然,你可以自定义该数据库名 mysql -u root -p mysql> GRANT SELECT, INSERT, UPDA TE, DELETE, CREATE, DROP, INDEX, ALTER, CR EATE TEMPORARY TABLES, LOCK TABLES ON drupal.* TO 'drupaluser'@'localhost' IDEN TIFIED BY 'drupalpass'; 你肯定不想drupal使用root账号连接数据库,上面命令创建了一个拥有一定权限的不同于mysql root的数据库用户:drupaluser ,drupalpass ,你可以使用其他用户名和密码来替换drupaluser和drupalpass,如果命令成功激活新的权限: mysql> FLUSH PRIVILEGES; 退出mysql命令: mysql> \q ———————————————————————————————————————此时127.0.0.1/drupal7/install.php 依然正常—————————————————————————————————————————————————————————————————————————————— 下面开始出现了问题:

2.实战Drupal 7安装配置图文教程

一.实战Drupal 7安装图文教程Drupal7成功安装的6大步骤: 1.打开官方网站https://https://www.360docs.net/doc/de458524.html,/ 下载安装包 2.打开官方网站https://https://www.360docs.net/doc/de458524.html,/ 查看安装文档 3.新drupal7 mysql数据库并安装drupal7 4.安装drupal7的中文汉化包 5.Drupal7安装过程中报错的三种解决办法 6.进入网站设置画面,并成功安装完drupal7 1.打开官方网站https://https://www.360docs.net/doc/de458524.html,/ 下载安装包 进入下载页面进行下载:

2.打开官方网站https://https://www.360docs.net/doc/de458524.html,/ 查看安装文档 3.安装drupal7

(1)先将drupal7解压到环境的根下。 F:\DrMeng_Web_Site\https://www.360docs.net/doc/de458524.html, 将解压drupal-7.27目录中的内容复制到根目录https://www.360docs.net/doc/de458524.html,下 (2)用phpmyadmin建立一个drupal7的数据库。 https://www.360docs.net/doc/de458524.html,/phpmyadmin/输入用户名:root密码:hncctv 创建一个测试数据库:drupal727

(3)在ie中访问https://www.360docs.net/doc/de458524.html,/ 就直接安装drupal7 4.安装drupal7的中文汉化包 首先:安装drupal7的中文汉化包

点击Translations Homepage进入下载汉化包页面:

下载汉化包后将它放到这个目录: F:\DrMeng_Web_Site\https://www.360docs.net/doc/de458524.html,\profiles\standard\translations\drupal-7.27.zh-hans.po 如下图 汉化包放好后。返回drupal7安装界面,点如下链接

Drupal的缓存技术应用-让你的网站飞起来

Drupal的缓存技术应用-让你的网站飞起来 经常在论坛和QQ群上听人说Drupal很慢,初始状态下承载不了多少数据量及并发,性能很差。但是我们可以发现很多大站也是用Drupal开发的,因为大站做了性能优化,包括硬件及软件优化,这里我们来讨论一下Drupal缓存技术。 所以,你不能说要彻底解决性能问题,但你可以根据实际情况,采用一些常用的解决方案来让网站的性能得到显著提升。我们常说的80/20理论你肯定知道,那么用20%的努力换取80% 的性能提升,何乐而不为呢。 Drupal作为Web开源系统的一种,被称之为CMF(内容管理框架),拥有非常优秀的架构和扩展性,以及海量的第三方模块,现在已经被越来越多的人所熟知和采用。采用Drupal这样主流Web系统的一个好处就是有好多全世界优秀的专家投入到其中,给出各种各样的性能优化方案。我们大多数人作为使用者只要知道如何选择适合自己的优化方案,就能显著提升自己网站的性能。 前面说的都是性能优化,其实本文的重点是缓存技术,在我看来,对Drupal来说,缓存和性能优化基本就是同义词,大多数Drupal的优化技术都是使用各种各样的缓存。缓存有的是静态页面缓存,有的是动态缓存,博狗https://www.360docs.net/doc/de458524.html, 有的是CSS,Javascript和图片的缓存。有的放在内存里,有的放数据库里,有的放磁盘上,还有的还需要配合一些服务器软件来提供。林林总总,对新手来说很可能就挑花眼了,所以本文想要在缓存这个话题上,给新手一些指引,本人学识有限,不可能面面俱到,希望读者可以批评指正。 核心缓存 作为最基本的优化手段,Drupal对缓存提供了一些基本的支持,比如外部的区块缓存,匿名用户页面缓存,内部还有比如菜单系统缓存,主题钩子注册表缓存等等。 可以说,作为一个不大的Drupal站点,使用核心内置的常规手段,性能就不会太差。多说一句,一般开发阶段是不开启缓存的,但一旦上线,区块缓存和匿名用户静态页面是必须要开的,CSS和JS也一定是要开启合并压缩的。这样一来,对于匿名用户,应该说速度就会比之前快不少。 Boost Drupal 默认提供的匿名用户缓存是存在数据库里的,这意味着即使是缓存了的网页也要占用数据库连接和内网流量。而如果换成 Boost 模块,你的缓存都直接走静态文件,这不仅仅是不走数据库了,甚至都不经过Drupal了,所以作为页面缓存来讲 Boost 的效果极为出色。 Varnish HTTP Accelerator Integration 这里把 Varnish 模块列出来只是要告诉大家,如果你的服务器仍然有很大的内存,如果在前面使用 Varnish 服务器软件,你可以将静态网页缓存到 Varnish 开辟的内存中,可想而知速度就更快了。而且Varnish还可以帮助你缓存CSS,Javascript等静态文件。 Memcache API and Integration, Memcache Storage,Redis 匿名用户的访问已经那么快了,那如果你的网站有很多活跃的登录用户怎么办呢,之前说的大部分缓存都将失效,这可如何是好呢,对于登录用户来说,最有效的就是使用 Memcache 让许多系统的内部缓存可以从内存中读取,从而得到更好的性能,并且 Memcache 本身还是可以分布式部署的,澳门新濠天地https://www.360docs.net/doc/de458524.html, 有很好的延展性。而最后一个 Redis 同样优秀,这里不会比较它们之间的优劣,只是建议你可以先从 Memcache 开始。 Memcache API and Integration和 Memcache Storage,你只需要一个,并且较为推荐后者。 APC - Alternative PHP Cache 另一个能让登录用户感觉到快起来的技术就是 Alternative PHP Cache,也就是APC,他的作用就是让PHP文件不必每次都从磁盘加载,而是可以缓存到内存,并且是缓存的编译中间代码,所以对PHP语言的复杂系统来说优化效果很明显。这可以说是所有PHP网站必装的一个组件,当然他还有其他竞争者,比如eAccelerator, XCache以及最新的Zend Opcache等组件。不过再Zend

Drupal7模组VEWS3介绍

Drupal7模組介紹-Views Drupal版本:7.x * 介紹模組:Views * 模組版本:7.X-3.3 * 相依模組:Chaos tool suite(Ctools) * 官方討論區:https://www.360docs.net/doc/de458524.html,/project/issues/views?categories=All 分享主題:Drupal7模組介紹-Views-part1 Goals:安裝Views 前言: 有在玩drupal的人應該都知道,drupal已經是全世界都在使用的一個open source的平台,能夠幫助使用者快速開發出一個全新的網站,不僅安全性好,而且彈性也是不在話下。其中一個很重要的模組就是views。讓drupal能夠很有彈性的處理所有的資料,文案,並且整合到網站之中,學會views以後,基本上就可以建構出像樣的網站了,在這邊分享從我的角度,來看views這個模組。 安裝模組: 要使用views必須要有兩個模組安裝,一個就是本身的views,另外一個則是Chaos tool suite。以下為連結: 1. views: https://www.360docs.net/doc/de458524.html,/project/views 2. ctools: https://www.360docs.net/doc/de458524.html,/project/ctools 選到網頁的最下方,看到綠色的Recommend Release,選擇對應的版本安裝即可

到drupal網站的Module->install new module 然後可以通過以下兩種安裝方式 1. 網址安裝 2. 檔案安裝 大家可以選擇自己喜歡的安裝方式。 於module頁面啟用模組,這裡可以發現一個views的模組裡面,有很多很多的子模組,每一個功用都不太一樣,在這裡 我views的兩個模組均啟用,而ctools則是啟用chaos tools還有Page management 兩個模組

漫谈企业级Drupal架构应用与部署

漫谈企业级Drupal架构应用与部署 PDF版本 在以drupal为框架的企业级或者商业网站的开发与部署中,不仅仅只是对drupal的开发以及自定义模块和drupal API的开发和应用,在整个企业级应用中,Drupal只是作为Web框架中的一个环节,其他方面,如数据库架构、负载、持续集成等都是必须考虑的环节,本文就Drupal商业级应用中必须的结构与部署方案做一个简单的探讨。 作为中小型商业网站,以Drupal为框架开发是一个较好的选择,除了Drupal开发本身,我们还必须掌握Drupal相关以及其他部署方面的环节,才能得以网站运营更加正常。 1. 服务器 起步阶段建议用VPS或者云主机,(Linode是不错的选择),正式上线之后,建议配置一台服务器,随着流量增大可以增加一台服务器,web和db分开。 访问量再次增加,我们可以增加到3台服务器。 3台服务器的架构图

其中DB和LoadBalancer为同一台机器,故DB比较重要,硬件资源以及备份策略要占优。这种架构的优势就是web节点可以随意切换。 4台服务器的结构就是增加一台MySQL的slave节点,以及将这个节点可以作为一个Loadbalancer的备份。 4台服务器的Drupal部署结构 5台及多台服务器可以参考如下的结构,就是把LB独立出来,web节点和db可以随意扩展,具体需要分析性能的瓶颈在哪里,然后按需增加服务器。

5台及以上多台服务器架构 2.硬盘以及存储结构 服务器的数据存储非常重要,从硬件的角度来说,我们需要有备份及容错机制。 常见的方式是RAID,推荐使用RAID5,经济实惠的方案。如果有4块,可以做RAID10,性能和备份的综合体,比RAID5更高效。从软件硬件的实现角度来说,作为服务器,推荐使用硬件RAID,不要使用软件RAID。 SSD和HDD的选择,这个可以依据成本和预算,SSD肯定比HDD要好很多。 硬盘的分区的划分推荐使用LVM,虽然会有些性能上的损失,但从其带来的有点来说,这点不足是可用忽略不计的。 具体的RAID+LVM规划,大家可用参考网上其他相关文章,本文不做详细的介绍。 3.负载均衡、反向代理 负载均衡节点,如果有多台服务器,建议做双机热备,如LVS、keepalived。 做负载均衡的软件选择比较多,如Haproxy,Nginx, Varnish等,推荐使用Varnish作为负载均衡服务器,不但因为其并发处理能力,而且还能对静态文件(甚至动态文件)进行缓存,

joomla与Drupal两者的优缺点比较

joomla与Drupal两者的优缺点比较 1:总体来说drupal 功能强大一些 2:drupal 的优点 001-- 搜索引擎友好的URL 002-- Drupal有一个优秀的模块化结构,提供了许多模块,包括短消息、个性化书签、网站管理、Blog、日记、电子商务、电子出版、留言簿、Job、网上电影院、论坛、投票等模块。Drupal模块的下载、安装、定制非常方便 003-- Drupal提供了强大的个性化环境,每个用户可以网站内容和表现形式进行个性化设置004-- Drupal提供了基于角色的权限系统,没有必要对每个用户进行授权,只需要对角色进行授权 005-- Drupal提供的站内搜索系统能对站内的所有内容进行索引和搜索 006-- Drupal的模板系统将内容和表现分离,可以很方便地控制网站的外观+ Drupal提供内建的新闻聚合工具+ 提供完善的站点管理和分析工具 007-- Drupal的Caching机制能有效减少数据库查询次数,从而提高站点性能,降低服务器负荷 3:详细信息: <1>. 模块化系统(Module system)。 Drupal把各个具有独立功能的部分抽象为模块,各个模块(除核心模块)只要按照事先巧妙设计好的统一规范来实现接口(http: //https://www.360docs.net/doc/de458524.html,/)------这些接口在drupal中表现为按照特定规则命名的PHP代码文件、特定PHP代码文件内按照特定规则命名的PHP函数、特定PHP函数内根据特定参数来执行相应功能的PHP代码块-------就能在核心代码的调度下实现模块自有的功能、在模块之间自动进行交互、通信,这样使得整个系统的功能扩展更灵活更规范。各个模块之间的功能相对独立,单个模块内部的变动一般不会对其他模块原有功能造成影响,单个模块的问题一般不会导致整个系统不可用,这样就可以大大降低系统开发和维护的成本。 Drupal 模块化的安装使用也很方便,只要将相应文件复制到modules目录下,就可以在'管理-设置'里面方便地开启使用了。 <2>. 钩子机制(Hooks system) 钩子机制其实是drupal模块化系统的关键部分。Drupal模块化系统基于一个"钩子"的概念,一个钩子是一个以foo_bar() 方式命名的php函数。其中foo是模块的名字,bar是钩子的名字。每个钩子都定义了一系列的参数和返回类型,执行特定的功能。例如钩子 myblog_load($node)会在系统载入模块myblog对应的节点(node)信息时候执行,把模块对应的节点特定信息附加到节点中去。钩子可以使得模块(module)可以在drupal核心的调度之下进行交互,包括和核心本身进行交互。Drupal的模块机制大大简化的实现模块具体功能的开发、维护效率,因为你只需要实现特定的钩子函数就能获得对应的功能,而根本不用关心这些函数是如何被调用、如何与系统交互。 <3>. 内容类型面向节点

drupal7.x模块开发教程

在本教程中,我们将会建立一个模块,这个模块将列出最近一周内所有新建立的内容节点,比如日志或者论坛的帖子。本章将讲述如何建立最初的模块文件和目录。 开始之前 如果您需要用PHP来查出您站点上的错误,请访问此链接。它将告诉您如何更改Drupal 的设置,使drupal显示错误信息。 为您的模块命名 建立模块的第一步是为它取一个不太长的名字。这个名字将被用在所有的模块文件名和方法名中。所以这个名字必须以字母开头并只能有小写字母和下划线。比如,我们会用"current_posts"作为一个模块名称。注意:一定要确保根据以上规则来取名,因为它将被用于模块名和方法名的前缀。当您运行drupal“钩子“时(请参看后面的章节),drupal将只能识别拥有与您模块文件名称相同前缀的钩子。 请注意不要使用与您站点所有主题相同的名称,这样会使drupal混淆。 创建一个模块目录和模块文件 假如我们决定用"current_posts“的模块名,我们将会在drupal的根目录的以下路径(sites/all/modules /current_posts)创建一个目录。或者如果您要把自己的自定义模块与其他模块区分开,您也可以选择这个路径(sites/all/modules/custom /current_posts)。然后在sites/all/modules/currents_posts目录创建一个名为current_posts.module的文件。注意drupal 并不识别扩展名为.php的文件。如果您为模块添加了php的扩展名,那将不会被识别。drupal 只识别扩展名为.module的php文件。 在Drupal6中,sites/all /modules/是存放自定义模块的理想目录(sites/all/themes/是存放自定义主题的理想目录),因为这个目录存放这所有只与您的站点相关的模块和主题,在您以后升级您的核心模块时,这些自定义模块和主题不会被改写。或者,如果您有多个子站点共享核心模块,而这个自定义模块只在其中一个站点工作,那么您可以使用这个路径来存放:sites/您的子站点/modules 模块文件的开头起始于php的起始标签“"。否则我们可能会遇到服务器实时运行错误。(注意,在本教程中,我们的示例代码中包括了“?>",这只是为了使代码显示的更好。请在实际应用中忽略"?>") 所有以{模块名}_{方法名}格式命名的方法,都是钩子,都可以被drupal直接调用。其中{方法名}是预定义的方法名后缀。drupal将会调用这些方法来处理数据。所以取一个简单明了的模块名是十分重要的,drupal会知道去哪查找数据。 下一步,我们将踏入钩子的领域。 所有的Drupal模块都有一个"模块名.info"文件,用来储存该模块的元信息。(其实可以理解成模块的描述文件) 该文件的一般格式为: name = Module Name description = A description of what your module does. core = 7.x 在本示例中,我们用我们自己的模块名"current_posts"来代替上面例子中的"Module Name".

drupal所见即所得编辑器

很多人习惯使用所见即所得编辑器,而自带的模块是没有的,需要自己安装,我们下面讲解fckeditor的安装过程,同时演示Drupal如何安装模块。fckeditor是一种所见即所得的编辑器,使用比较广泛,之所以选择这个编辑器是为了以后整合图片上传容易。 第一步,下载所需文件。需要下载两个软件包,一个是整合fckeditor到Drupal的插件, 一个是fckeditor的文件包。 fckeditor插件: fckeditor的文件包: 第二步,将文件上传到服务器。按照如下步骤上传: 首先将fckeditor插件的文件包fckeditor上传到module目录下,如下图: 然后将fckeditor编辑器的所有文件放到module/fckeditor/fckeditor目录下 这样就完成了文件上传 第三步。启用插件 登陆Drupal,进入 Adminster——〉module 会看到在插件管理中多出了我们刚刚上传的fckeditor(如下图),选中它,然后保存设置。

第四步,设置 fckeditor编辑器。 安装好FCK编辑器以后需要设置,在以下位置进入FCK管理界面: FCK的参数设置界面如下图所示:

主要设置FCK的配置文件即可,默认的有两个,分别对应anonymous用户组和authenticated 用户组,如果你新建了其他用户组可以建立对应的配置文件。因为游客一般没有编辑权限,我们设置好authenticated用户组即可。设置之前先要在User management——>Permissions 中把authenticated user的access fckeditor权限勾上,否则authenticated用户组无法使用FCK,也就无法将配置文件与其关联了。关于权限的详 细说明我们会在后面的文章中专门介绍。 点击Advanced配置文件后面的edit开始编辑此配置文件,主要设置如下内容: 第一部分设置配置文件名称,关联的用户组和是否允许用户自定义工具条:

drupal8模块开发

drupal8模块开发 Drupal 8模块开发 NamespaceDrupal \ \字段_示例\ \控制器; 使用Drupal \ \ Core \ \ Controller \ \ Controller Base;使用Drupal \ \ Core \ \ Entity \ \ EntityManageRinterface;使用Drupal \ \ Core \ \实体\ \查询\ \查询工厂; 使用符号\ \组件\ \依赖注入\ \容器接口;/** *现场示例路由的控制器例程。*/ class FieldExampleDefaultController扩展controllerBase { /* * * @ var \ \ Drupal \ \ Core \ \ EntityManagerInterFace */ protected $ EntityManger; /* * * @ var \ \ Drupal \ \ Core \ \ Entity \ \ QueryFactory */ protected $ QueryFactory; /* * * @ param \ \ Drupal \ \ Core \ \ EntityManagerInterFace $ EntityManager * @ param \ \ Drupal \ \ Core \ \ EntityManager \ \ QueryFactory \ \ QueryFactory $ QueryFactory */ 公共函数_ _构造(EntityManagerInterFace $ EntityManager,QueryFactory $ QueryFactory){ $ this-> EntityManager = $ EntityManager;$ this-> QueryFactory =

Drupal专业开发指南(1-4章)

Drupal专业开发指南 第1章Drupal 工作原理(1) 第1章Drupal 工作原理(2)对请求提供服务 第2章创建一个模块(1) 第2章创建一个模块(2) 第3章模块特定设置(1) 第3章模块特定设置(2) 第4章Drupal 菜单(menu)系统(1) 第4章Drupal 菜单(menu)系统(2) 第4章Drupal 菜单(menu)系统(3) 第5章Drupal 数据库层(1) 第5章Drupal 数据库层(2) 第6章Drupal 用户(1) 第6章Drupal 用户(2)hook_user 用户注册和登录流程 第6章Drupal 用户(3) 第7章Drupal 节点(Drupal node)(1) 第7章Drupal 节点(Drupal node)(2) 第7章Drupal 节点(Drupal node)(3) 第8章Drupal 主题系统(Drupal theme)(1) 第8章Drupal 主题系统(Drupal theme)(2) 安装主题 第8章Drupal 主题系统(Drupal theme)(3) 模板文件 第8章Drupal 主题系统(Drupal theme)(4) 高级特性1 覆写主题函数 第8章Drupal 主题系统(Drupal theme)(4) 高级特性2 添加和操纵模板变量第8章Drupal 主题系统(Drupal theme)(4) 高级特性3 定义新的区块区域第9章Drupal 区块(Drupal block)(1) 第9章Drupal 区块(Drupal block)(2)区块钩子方法 第9章Drupal 区块(Drupal block)(3)创建区块 第10章Drupal 表单API(form API)- 表单处理流程 第10章Drupal 表单API(form API)- 创建基本的表单 第10章Drupal 表单API(form API)- 创建基本的表单(2) 第10章Drupal 表单API(form API)- 创建基本的表单(3) 第10章Drupal 表单API(form API)- 创建跨页面表单 第10章Drupal 表单API(form API)- 表单API 属性 第10章Drupal 表单API(form API)- 表单元素 第11章Drupal 过滤器系统(filter)(2)创建一个定制的过滤器 第11章Drupal过滤器系统(filter)(1) 第12章搜索和索引内容(1) 第12章搜索和索引内容(2) 索引器 第12章搜索和索引内容(3) 对非节点的内容进行索引 第13章Drupal 文件(file)(1) 第13章Drupal文件(file)(2) 第14章在Drupal 中使用分类(Drupal taxonomy)(1) 第14章在Drupal 中使用分类(Drupal taxonomy)(2)

2019年drupal学习总结

2019年drupal学习总结 原理 模块(Modules) drupal是一个高度模块化,开源的web内容管理框架。它被设计为可被定制的,但是定制是通过覆写核心功能或者增加模块来完成的,而不是修改核心组件中的代码。Drupal中一般通过三种方式来添加功能:启用已存在的模块(核 心模块),安装Drupal社区成员编写的模块(第3方模块),编写自己的模块。 钩子 Drupal的所有功能都通过模块来实现,而模块又通过钩子来和系统联系起来,被系统调用的。钩子可以看作是Drupal的内部事件,不同的事件类型由不同钩子函数来调用,这些钩子函数的命名规则都是由drupal定义好的。我们只需要了解什么样的事件动作要用什么钩子来实现调用。这样,当我们在网站上执行某些操作时,drupal 就会根据我们操作的类型来查找相应的钩子,通过钩子,调用符合条件的模块。

主题(Themes) Drupal是被设计为内容和显示分离的,这样既利于开发,也方便维护。所以,当后台的数据内容要被显示时,就会通过主题(主题函数或主题模版)来进行包装,最后显示在页面上的是数据和主题包装后的效果。Drupal支持多种模版引擎,比如smarty,PHPTemplate.主题也是通过主题钩子来实现调用的, 首先,我们先写好相应的模版文件, 然后在模块中通过“模块名+theme”来注册这些主题。 最后当模块要输出数据时,就会通过theme(“主题”,“数据”)来调用相应的主题模版,并把数据也传进模版,然后theme函数把整合后的html页面返回。 节点(nodes) Drupal中的内容类型都被看做是一个节点来管理,并且所有节点的底层结构都是一样的。这样有利于扩展。

drupal建站教程---全过程

drupal建站教程(全过程) 介绍Drupal :建立一个简单的CMS (1) ?安装设置 ?Drupal6.x 由ctz556 于星期一, 2009-01-05 21:37 发表 最近Drupal越来越流行,它是一个伟大的平台,可用于建立内容管理系统和社区驱动的网站。在这里,我简单的 介绍一下Drupal,并为一个虚拟的客户建立一个简单的网站。我将首先概述客户的需求,安装和配置一些模块, 创建用户角色和分配权限,最后我们将新增一些内容。我们不会修改主题,因为它有点超出了本文的范围。 作者:Steve Jamesson Steve Jamesson是一位居住在Asheville, North Carolina州的WEB设计师,他专注于前端开发、内容管理系统(CMS)和大图片创作。 没有编程时他通常会调制一些不错的啤酒,虽然这两个经常同时进行。 虚拟客户 让我们先虚拟一个客户 SmartMarks是一个很小的市场营销咨询公司,4名员工。每一位员工想拥有一个自己的博客。该网站除了博客还需要几个页面:?Home(首页) ?About(关于) ?Contact(联络) ?Links(链接) ?Blogs(博客) Shannon,企业老板,要完全控制网站。其余的员工(Bill, Jean, 和Terry)应只允许写博客,但是Bill允许发布Links(链接)。 联络方式是按用户的姓名,电话,电子邮件和短信息。提交的联络信息只发送给Shannon。 听起来很简单,是吧?我们将利用Drupal,一些核心功能已经内置。我们可以使用很多核心功能,当然我们需要添加一些其他模块来建立这个网站。 安装某些东西 首先,开始安装Drupal,我将在本地计算机进行开发,当然您可以安装在任何您想要的地方。本教程将使用Drupal 6.x。 安装Drupal,先下载(https://www.360docs.net/doc/de458524.html,)解压并创建数据库,并访问http://localhost/ (或您自己的开发网址)。安装过程非常简单。

Drupal常用模块

Drupal常用模块 Drupal常用模块 (1) 1.CAPTCHA(验证码模块) (3) 2.LightBox2(光盒) (4) 3.Poormanscron(自动执行cron) (4) 4.Menu block(提取导航) (5) 5.Site map(站点地图) (5) 6.Content Access(内容访问权限控制) (5) 7.Superfish(制作下拉菜单) (5) 8.Admin(后台管理菜单停靠侧栏) (6) 9.Tagadelic(生成标签云) (6) 10.Menu Breadcrumb(面包屑) (6) 11.Feeds(数据采集) (6) 12.Custom breadcrumbs(面包屑) (7) 13.Taxonomy Image(添加分类图片) (7) 14.Meta tags(设置页面关键字等) (7) 15.jcarousel(jquery多风格滚动图片) (7) https://www.360docs.net/doc/de458524.html,anic groups(用户群) (8) 17.FileField Sources(自动下载远程图片) (8) 18.Login Destination(指定登录后跳转的页面) (8) 19.Frequently Asked Questions(问答模块) (8) 20.Privatemsg(短消息模块) (9) 21.Dynamic display block(内容幻灯片) (9) 22.Gallery formatter(文章图片节点相册) (9) 23.Image FUpload(多图上传) (9) 24.BUEditor(轻量级编辑器) (10) 25.Forum Access(论坛权限控制) (10) 26.Auto Assign Role(用户注册角色) (10) 27.Nodeaccess(节点权限控制) (10) https://www.360docs.net/doc/de458524.html,er Points(会员积分) (11) 29.Signup(签到) (11) 30.Invite(邀请好友) (11) 31.Terms of Use(会员注册协议) (11) 32.Avatar Selection(会员默认头像) (12) 33.Subscriptions(邮箱订阅) (12) 34.Remember me(登录记住我) (12) 35.Cumulus(flash标签云) (12) 36.Gallery Assist(相册) (13) 37.Workbench(文章审核) (13) 38.Text Resize(选择文字大小) (13) 39.Paging(正文分页) (13)

drupal-所见即所得编辑器

很多人习惯使用所见即所得编辑器,而Drupal自带的模块是没有的,需要自己安装,我们下面讲解fckeditor的安装过程,同时演示Drupal如何安装模块。fckeditor是一种所见即所得的编辑器,使用比较广泛,之所以选择这个编辑器是为了以后整合图片上传容易。 第一步,下载所需文件。需要下载两个软件包,一个是整合fckeditor到Drupal的插件, 第二步,将文件上传到服务器。按照如下步骤上传: 首先将fckeditor插件的文件包fckeditor上传到module目录下,如下图: 然后将fckeditor编辑器的所有文件放到module/fckeditor/fckeditor目录下 这样就完成了文件上传 第三步。启用插件 登陆Drupal,进入 Adminster——〉module 会看到在插件管理中多出了我们刚刚上传的fckeditor(如下图),选中它,然后保存设置。

第四步,设置 fckeditor编辑器。 安装好FCK编辑器以后需要设置,在以下位置进入FCK管理界面:

FCK的参数设置界面如下图所示: 主要设置FCK的配置文件即可,默认的有两个,分别对应anonymous用户组和authenticated 用户组,如果你新建了其他用户组可以建立对应的配置文件。因为游客一般没有编辑权限,我们设置好authenticated用户组即可。设置之前先要在User management——>Permissions 中把authenticated user的access fckeditor权限勾上,否则authenticated用户组无法使用FCK,也就无法将配置文件与其关联了。关于权限的详 细说明我们会在后面的文章中专门介绍。 点击Advanced配置文件后面的edit开始编辑此配置文件,主要设置如下内容:

Drupal快速入门

Drupal 快速入门 1. 概述 (2) 2. 核心概念 (3) 2.1. 节点 (3) 2.2. 分类 (3) 2.3. 评论 (4) 2.4. 区块 (4) 2.5. 模块 (5) 2.6. 挂钩 (6) 3. URL 设计 (12) 4. 用户 (14) 5. 定制 Web 站点的外观 (16) 5.1. 标准主题函数 (16) 5.2. 模板文件 (16) 5.3. 覆盖现有的主题函数 (17) 5.4. 在新模块中进行主题化 (18) 5.5. 创建默认的显示方式 (18) 5.6. 用主题覆盖模块的输出 (19) 5.7. 内容结构和样式 (20) 6. 节点构建序列 (22) 6.1. View 操作 (24) 6.2. Add 操作 (25) 6.3. Edit 操作 (25) 6.4. Delete 操作 (26)

1.概述 Drupal 内容管理系统在一个数据库中维护它的内容。在这个数据库中,内容存储为节点(Node)和其他高级对象,比如用户(User)和评论(Comments)。有一些不同的预定义节点类型,包括新闻、blog 和投票。 Drupal 构造的页面包含一段或更多的信息,这些信息采用节点(Node)、区块(Block)和其他条目的形式。页面通常组织为中间的内容栏、左右边栏、页眉和页脚。除了中间的内容栏之外,其他区域都是可选的。中间栏用来显示站点的主要内容;可选区域用来显示附加的内容。Drupal 使用区块(block)用小段信息填充可选区域。可选区域通常包含导航链接(例如,最流行的节点)和其他简短的内容。与任何内容一样,区块可以依赖于用户的角色,从而提供定制的信息视图。 Drupal 最重要的特性之一是,通过编写定制的节点模块(node module),能够对可用的节点类型进行扩展,比如您的应用程序特有的内容。模块是对 Drupal 的扩展,它们实现来自一个预定义接口的一个或多个挂钩(hook)。挂钩定义用户权限,与数据库进行交互,并提供一个编辑内容的界面。 菜单系统(menu system)控制 Web 站点的导航,可以通过用户界面对它进行充分地定制。与之相反,菜单挂钩函数控制如何组成 URL、如何转换 URL 以及特定的 URL 将调用什么函数。 一个系统根据模板对页面进行主题化(theme),从而将内容和表示方式隔离开。通过定义一套模板(即tpl)文件和主题函数,可以轻松地构造和样式化大多数内容。 节点可以组织成分类(category 或 taxonomy )。论坛(forum)就是分类中层次化内容的一个例子。 对所有内容的访问都要通过一个权限系统,从而控制对 Web 站点上的内容的访问和编辑。

Drupal常用模块

Administration menu - 方便灵活的Drupal 管理菜单 Administration Menu 是一个十分好用的 Drupal 管理模块,它提供一个灵活的管理菜单。此管理菜单将 Drupal 管理页面间的导航都汇集在一起,并可以在鼠标悬停时展开子菜单,大大减少了管理员在不同管理页面之间切换的点击次数,提高了网站管理的效率。 CCK - Content Construction Kit - 内容类型属性字段构建工具 CCK 是 Content Construction Kit 的简称,即“内容构建工具箱”的意思。 在 Drupal 6 中,管理员虽然可以使用Drupal核心的内容模块来新增内容类型,然而因为核心内容模块功能有限,管理员只能对内容类型进行一些基本的配置。如修改标题、正文的命名,更改评论功能启用状态、内容的默认发布状态等等。虽然用户也可以自行编码创建新的内容结构,但对于普通Drupal用户来讲,实在是不容易实现。 Views - 强大灵活的内容列表生成工具

Views 也叫“视图”,是 Drupal 最常用的模块之一,通过使用 views,管理员可以方便地通过图形界面来生成各种列表,包括但不限于文章列表、图片列表、用户列表等等。使用 Views 构造出来的区块或者页面,管理员可能生成内容列表、相册缩略图、幻灯片等等。 Views 配置 Views 的配置非常精细,因此也为我们提供了强大而灵活的功能,总体来讲,Views 包含以下几大基本配置项:“基本配置”、“关联”、“参数”、“字段”、“排序标准” 和“过滤器” 等基本设置 在基本设置中,可以为 views 配置以下内容: ?名称:Views 的名称,便于管理员区分不同的 Views,会显示在左侧的Views 面板中; ?标题:Views 的标题。根据 Views 类型的不同,此标题会应用于区块标题、页面标题等等 ?输出样式:选择 Views 的输出样式,默认有列表、网格、表格等几种样式,通过安装其它 Views 扩展模块,还可以使用 Views 来构造幻灯片等 内容; ?使用分页器:是否显示分页页码 ?要显示的条目:指定 Views 中显示的内容的数量 ?…… 这些配置都是较简单的东西,大家多点击配置一下便可了解,本文就不一一说明了。 除了基本配置外,Views 还有“关联”、“参数”、“字段”、“排序标准” 和“过滤器” 等几大配置项, 其中,“字段”用于定义显示在 Views 中的项目,管理员可以根据需要进行选择,例如下面便是一个很简单的 Views,应用了“标题”字段

相关主题
相关文档
最新文档