![](https://img-blog.csdnimg.cn/20201014180756923.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Drupal
g089h515r806
这个作者很懒,什么都没留下…
展开
-
Drupal实战(think in Drupal 2,3合集)正式出版了
Drupal实战一书,由机械工业出版社出版了,现在,可以在当当、亚马逊,china-pub上订购了.《drupal 实战》是中文drupal社区极力推荐的实力之作,由国内顶尖drupal技术专家(在全球drupal社区有一定影响力)老葛撰写。以实战为导向,用一个商业性的综合案例贯穿全书,通过重现整个案例的开发过程,不仅循序渐进地讲解了drupal的各项功能和技术,而且系统地讲解了drupal应用的开发方法和步骤,能让读者迅速具备实战能力。转载 2013-07-05 17:08:25 · 2096 阅读 · 0 评论 -
Drupal简明教程
原文:http://drupal.org/handbook/customization/tutorials译者:http://www.thinkindrupal.comDrupal简明教程,是由一系列的非常详细的一步一步的文章构成的.它们为你指明了方向,帮你成功了理解、掌握Drupal。构建一个摄影网站,允许许多用户提交图片,这属于简明教程的例子。而向你解释如何利用assetmanag转载 2008-09-07 21:06:00 · 21215 阅读 · 1 评论 -
Drupal主题开发指南(5.x)
这本指南适用于Drupal 5以及更早的版本,对于drupal,有一个新的主题开发指南已经可用。我们手册的这一部分,主要是关于主题系统的各个方面,希望这对广大的drupal主题开发者能够有所帮助。 强调一点 –当使用这里所讲的任何方法开发一个主题时,你必须保证主题的名称,与你drupal站点上任何模块名称不能重名,如果重名的话,就有可能造成函数重名,进而你的站点将不能工作。 J转载 2008-09-19 21:31:00 · 1911 阅读 · 0 评论 -
Drupal专业开发指南 第14章 在Drupal中使用分类(Drupal taxonomy)(2)
译者:老葛根据词语(term)查看内容你可以通过进入一个词语的URL来查看该词语下面的所有节点。例如,在URLhttp://example.com/?q=taxonomy/term/5,5是你希望查看的词语的term ID。结果将是一列包含了每个使用该词作为标签的节点的标题和Teaser。 在URL中使用AND和OR构建支持AND和OR的分类(taxonomy)URL的翻译 2008-04-05 10:07:00 · 6139 阅读 · 1 评论 -
Drupal专业开发指南 第6章 Drupal 用户(3)
提供用户信息分类 译者:老葛 Eskalate科技公司 如果你在http://drupal.org拥有一个帐号,通过登录并点击“my account”链接,接着选择编辑标签(edit tab),你就可以看到提供关于用户信息的分类的效果。除了编辑你的帐号信息比如你的密码以外,你可以在其它分类中你还可以提供你的其它个人信息。在编写此书时,http翻译 2008-04-05 09:11:00 · 3538 阅读 · 2 评论 -
Drupal专业开发指南 第23章 Drupal安装过程profile
安装过程Profile 译者:老葛 ESKALATE 科技公司 当你安装Drupal时,一些模块被启用,一些特定的配置被选择,但是这些默认的可能并不是你所需要的。Drupal安装器使用了一个默认的安装过程profile,用来决定所有的这些配置。通过创建你自己的安装过程profile,你可以定制Drupal翻译 2008-04-04 17:00:00 · 4127 阅读 · 0 评论 -
Drupal专业开发指南 第22章 Drupal优化(1)
优化Drupal. 译者:老葛 ESKALATE 科技公司 Drupal的内核架构非常简洁并且非常灵活。然而,这种灵活性是有代价的。当启用的模块增加时,处理一个请求的复杂度也会增加。这意味着将耗费更多的服务器资源,必须实现一些策略,在一个站点日渐流行时,来保证Drupal的极其著名的灵活性。通过适当的配置,翻译 2008-04-04 16:52:00 · 6634 阅读 · 0 评论 -
Drupal专业开发指南 第21章 Drupal开发最佳实践(2)
利用版本控制 译者:老葛 ESKALATE 科技公司 版本控制对于任何软件项目都是必须的,同样对于Drupal社区也不例外。版本控制追踪Drupal中的每个文件的所有的修改。它保存了每个版本的历史信息以及作者。你可以明确的得到一个,关于谁修改了在什么时间以及为什么修改的报告。版本翻译 2008-04-04 16:39:00 · 2943 阅读 · 0 评论 -
Drupal专业开发指南 致谢
致谢译者:老葛 Eskalate科技公司 首先,感谢我们的家庭,在编写过程中,他们的理解和支持,特别是真诚的承担了更多的家庭义务,都给与了我们莫大的鼓舞。 Drupal是一个基于社区的工程。如果没有这么多人的共同努力,编写文档,提交错误报告,创建和检查改进,Drupal就不会像今天这样成功,当然也就不会有这本书了。但是在这么多人当中,请允许我们感谢那些对本书做出贡献的人。翻译 2008-04-04 11:12:00 · 3281 阅读 · 0 评论 -
Drupal专业开发指南 附录2 Drupal常用资源
Drupal资源 译者:老葛 Eskalate科技公司 对于Drupal开发者来说,有很多可以利用的资源。我们在这里列出了最常用的一些。 代码 下面是一些Drupal代码资源。 Drupal CVShttp://cvs.drupal.org/viewcvs/drupal/我们在第21章已经讲解了如何访问Drupal CVS的核心资翻译 2008-03-31 20:33:00 · 1762 阅读 · 0 评论 -
Drupal专业开发指南 第20章 编写安全的代码(4)
权限和页面回调 译者:老葛 Eskalate科技公司当你编写自己的模块时,需要注意的另一个方面是“access”键,你会在菜单钩子中定义的每个菜单项中用到它。在前面我们用来说明不安全代码的例子中,我们这样使用“access”键:/** Implementation of hook_menu()*/function insecure_menu($may_c翻译 2008-03-30 20:16:00 · 2099 阅读 · 1 评论 -
第8章 Drupal 主题系统( Drupal theme)(4) 高级特性--3,定义新的区块区域
定义新的区块区域译者:老葛 Eskalate科技公司区域是在Drupal的主题中放置区块的地方。通过Drupal的后台管理接口Administer➤ Site building➤Blocks,你可以将区块指定到区域中并管理它们。尽管你可以创建任何你想要的区域,但是在主题中默认的区域有左栏、右栏、页首、和页尾。一旦声明了区域以后,就可以在你的页面模板文件中(例如,翻译 2008-03-29 20:38:00 · 2526 阅读 · 0 评论 -
第8章 Drupal 主题系统( Drupal theme)(4) 高级特性--1,覆写主题函数
Drupal主题高级特性 译者:老葛在前面的部分,你学到了Drupal使用的各种不同模板文件,当Drupal要将你的主题合并到一起时就会查找这些模板。你学到了如何创建页面模板文件,如何创建特定节点类型的节点模板文件,甚至特定区块的区块模板文件。换句话说,对于定制主题的知识,你已经掌握了80%。 那么剩下的20%呢?如何主题化Drupal的表单?如何修改一些简单的东西比如面包翻译 2008-03-29 13:40:00 · 5257 阅读 · 0 评论 -
Drupal专业开发指南 第6章 Drupal 用户(2)hook_user,用户注册和登录流程
hook_user()入门(Introduction to hook_user()) 译者:老葛 Eskalate科技公司在你的模块中实现钩子hook_user()使你能够对用户帐号进行不同的操作,以及修改$user对象。着我们看一下这个函数的签名: function hook_user($op, &$edit, &$user, $category = NULL)翻译 2008-03-25 20:48:00 · 5853 阅读 · 0 评论 -
Drupal专业开发指南 第1章 Drupal工作原理(2)对请求提供服务
文件布局(File Layout) 译者:老葛 Eskalate科技公司理解默认Drupal安装的目录结构,能够帮助你调试你的站点,并教你一些重要的最佳实践,比如下载的模块和主题的放置位置,如何拥有不同的Drupal轮廓(profile)。一个Drupal默认安装的目录结构如图1-4所示。文件夹目录中的每一元素的详解如下:fil翻译 2008-03-24 18:27:00 · 9019 阅读 · 4 评论 -
Drupal专业开发指南 第11章 Drupal过滤器系统(filter)(2)创建一个定制的过滤器
创建一个定制的过滤器译者:老葛 Eskalate科技公司当然,Drupal过滤器可以添加超链接,格式化你的内容,将文本转化为空中的pirate-speak,但是它能够聪明的帮我们写日志么,或者至少能够帮我们把我们创造性的火花碰撞出来么?当然,它也可以做到这一点!让我们创建一个带有过滤器的模块,用来向日志中插入随机的句子。我们将启用这一模块,这样当你在编写文章毫无灵感需翻译 2008-03-19 19:27:00 · 2178 阅读 · 0 评论 -
Drupal专业开发指南 第11章 Drupal过滤器系统(filter)(1)
操纵用户输入:过滤器系统译者:老葛 Eskalate科技公司如果你需要自己格式化输入信息的话,那么向网站添加内容将是一个繁琐的工作。相反,如果想让网站上输入文本有个好看的外观的话,那么你需要懂得HTML---但是大多数用户都不了解这一知识。对于我们这些了解HTML的人,如果在头脑风暴会议或者文章创作期间,不断的停下来并向要发布的文章中插入HTML标签的话,这也是件令人头痛的事翻译 2008-03-05 20:02:00 · 2497 阅读 · 0 评论 -
Drupal clean url的配置 (简洁URL)
译者:老葛本文介绍的是在wdp开发环境下clean url的配置1,把工程放在webapp下面,2,进入目录:Apache22/conf/Suite-extra/webapps 将drupal.conf复制一份,并重命名为工程的名字。 将里面的所有的Drupal字样替换为该工程名。然后保存。3,进入目录:Apache22/conf/Suite-extra打开文件,com原创 2007-11-05 20:24:00 · 1259 阅读 · 0 评论 -
Drupal 赢得全球开源最好CMS大奖,超越了joomla
译者:老葛2006年,joomla第一,Drupal第2,今年 Drupal第1,joomla第2.http://drupal.org/node/188772Drupal Wins Packt Publishing Overall 2007 Open Source CMS AwardPackt Publishing has announced the overall winne转载 2007-11-08 13:39:00 · 1140 阅读 · 0 评论 -
Drupal专业开发指南 第6章 Drupal 用户(1)
第6章 Drupal用户译者:老葛用户是使用Drupal的重要原因。Drupal可以帮助用户创建,协作,交流,并形成一个在线社区。在本章,我们将解开用户的内幕,看一下如何验证用户,用户登陆,还有用户的内部表示。我们从检查对象$user是什么以及它是如何构造的。然后我们进一步讲述了用户注册,用户登录,用户验证的流程。最后我们讲述了如何将一个现有的验证系统例如LDAP(轻量级目录访问协议)翻译 2007-11-23 18:12:00 · 2577 阅读 · 0 评论 -
Drupal专业开发指南 第7章 Drupal节点(Drupal node)(3)
使用CCK创建节点类型 译者:老葛 Eskalate科技公司 使用前面你在joke.module中所用的方式创建一个节点类型,尽管可以完全的进行控制并具有较高的性能,但是这种方式有点枯燥无味。如果不做任何编程工作就可以组装一个新的节点类型的话,难道这种方式不会更好么?这就是CCK提供的方式。 ■ 注意: 更多关于CCK的信息翻译 2008-04-05 09:23:00 · 4750 阅读 · 0 评论 -
Drupal专业开发指南 第7章 Drupal节点(Drupal node)(2)
译者:老葛 Eskalate科技公司 注意: 在前面列表中提到的内部名称字段,是用来构造“创建内容(create content)”链接的URL的。例如,我们使用“joke”作为我们节点类型的内部名称(它是我们返回的数组的键),那么要创建一个新的笑话的话,用户要访问页面http://example.com/?q=node/add/joke。通常你不需要对此作翻译 2008-04-05 09:20:00 · 6275 阅读 · 3 评论 -
Drupal专业开发指南 第22章 Drupal优化(2)
特定于Drupal的最优化 译者:老葛 ESKALATE 科技公司 大多数针对Drupal的最优化措施都在软件堆栈的其它层次中进行,也有一些专门针对Drupal本身的最优化措施,这也能使性能得到极大提升。 页面缓存有时,一些简单的事情会被忽略掉,这也是为什么需要再提一次它们的原因翻译 2008-04-04 16:55:00 · 3593 阅读 · 0 评论 -
Drupal专业开发指南 第21章 Drupal开发最佳实践(1)
开发最佳实践 译者:老葛 ESKALATE科技公司 在本章,你将找到所有的代码小提示和最佳实践,这将使你从Drupal开发者中脱颖而出,并帮你摆脱电脑的折磨。 代码规范Drupal社区已经达成一致,它的代码基础必须拥有一个标准的外观,从而提高可读性,也使得初学者更容易的翻译 2008-04-04 16:36:00 · 3947 阅读 · 0 评论 -
Drupal专业开发指南 作者和审稿人
关于作者 译者:老葛 eskalate科技公司■JOHN VANDYK最初开始接触计算机,是在一个黑色的Bell & Howell Apple II上,为Little Brick Out,打印和检查BASIC代码,以增加paddle宽度。在发现Drupal以前,John参与了UserLand Frontier社区,并使用Ruby编写了自己的内容管理系翻译 2008-04-04 15:16:00 · 3458 阅读 · 0 评论 -
Drupal专业开发指南 序言
译者:老葛生活中的有些事情,你没有打算,但是却发生了。你可能去逛一个杂货店,没有找到你要买的东西,但是却碰到了你的爱情。这不是你所计划了的。 当我还是一个学生的时候,我需要一个基于Web的小工具来和朋友交流。由于我不满意现有的工具,我开始自己创建一个。这个工具后来就发展成了Drupal这个内容管理系统。 以前这个项目纯属个人爱好,其代码量也很小,现在已有成千上万的站点在使用Dr翻译 2008-04-04 14:14:00 · 5083 阅读 · 1 评论 -
第8章 Drupal 主题系统( Drupal theme)(4) 高级特性--2,添加和操纵模板变量
定义额外的模板文件 译者:老葛 Eskalate科技公司如果你和一个设计者一同工作,你想让他/她从代码中找到主题函数并覆写它,这有点难为人的。幸运的是,有另一种方法,使得设计者更容易的修改外观。你可以将匹配的主题函数替换为它们自己的模板文件。我们将通过大家熟悉的面包屑的例子来说明这一点。 首先,在你的主题目录下创建一个名为br翻译 2008-03-29 16:56:00 · 3227 阅读 · 0 评论 -
Drupal专业开发指南 第12章 搜索和索引内容(3)对非节点的内容进行索引
对非节点的内容进行索引:hook_update_index()译者:老葛 Eskalate科技公司在你需要封装搜索以对非Drupal节点的内容进行搜索时,你可以使用钩子函数正确的钩住索引器并向其中提供你需要的任何文本数据,从而使得Drupal能够搜索到它们。假定你的组织支持一个遗留应用系统,它用来输入和查看最近几年的关于产品的技术文件(note)。由于一些行政原因,你不能完全使用Dru翻译 2008-03-22 18:55:00 · 1940 阅读 · 0 评论 -
Drupal专业开发指南 第12章 搜索和索引内容(1)
搜索和索引内容译者:老葛 Eskalate科技公司MySQL和PostgreSQL都有内置的全文搜索能力。你可以很容易的使用这些数据库特定解决方案来建立一个搜索引擎,但你失去了对搜索机制的控制,同时也不能让你的搜索系统与你的应用完全匹配。而且有时候数据库认为优先级比较高的词语,而实际上在你的应用中则被认为是“噪音”。由于数据库全文搜索不能很好的满足应用需求,Drupal翻译 2008-03-20 20:39:00 · 2634 阅读 · 0 评论 -
Drupal专业开发指南 第10章 Drupal表单API(form API)--表单元素
表单元素译者:老葛 Eskalate科技公司在本部分,我们将通过例子来展示内置的Drupal表单元素。 Textfield元素textfield的例子如下:$form['pet_name'] = array('#title' => t('Name'),'#type' => 'textfield','#description'翻译 2008-02-26 18:40:00 · 24831 阅读 · 0 评论 -
Drupal专业开发指南 第10章 Drupal表单API(form API)--创建基本的表单(3)
译者:老葛 ESKALATE科技公司使用form_set_value()传递数据如果你的验证函数做了大量的处理,而你又想把结果保存此阿莱以在提交函数中使用,那么你可以使用form_set_value()暗中将结果保存到表单数据中。首先要做的是,当你在你的表单定义函数中创建表单时,你将需要为验证函数中要保存的处理结果预留一个位置:$form['my_placeholder'] = a翻译 2008-02-21 18:49:00 · 2584 阅读 · 0 评论 -
Drupal专业开发指南 第10章 Drupal表单API(form API)--创建基本的表单(2)
译者:老葛 ESKALATE科技公司主题化表单Drupal拥有内置的函数,用以处理你定义的表单数据结构,并将其翻译或者说是呈现成HTML代码。然后,许多时候你可能需要修改Drupal生成的输出,或者你可能想其安全的控制整个流程。幸运的是,Drupal很容易做到这一点。 使用#prefix、#suffix和#markup如果你的主体化需求非常简单,那么你就可以使用属翻译 2008-02-19 20:59:00 · 3592 阅读 · 0 评论 -
Drupal专业开发指南 第17章 在Drupal中使用jQuery(1)
在Drupal中使用jQuery 译者:老葛 ESKALATE科技公司 JavaScript无处不在。每一个流行的Web浏览器都带有一个JavaScript解释器。Apple的主面板的窗口小部件是用JavaScript写的。 Mozilla Firefox 使用JavaScript来实现它的用户接口。Adobe Photoshop里面可以使用JavaScr翻译 2008-01-19 20:26:00 · 2243 阅读 · 0 评论 -
Drupal专业开发指南 第9章 Drupal区块(Drupal block)(3)创建区块
译者:老葛,eskalate科技公司创建一个区块:在本例中,你将创建两个区块,它们使得内容修改更易于管理。首先,你将创建一个区块用于列出等待批准的评论,然后你将创建一个区块以列出未发布的节点。两个区块都提供了用于修改相应内容的编辑表单的链接。让我们创建一个名为approval.module的模块。它将包含我们的区块代码。在路径sites/all/modules/custom下面创建一个翻译 2008-01-09 19:33:00 · 4454 阅读 · 6 评论 -
Drupal专业开发指南 第9章 Drupal区块(Drupal block)(2) 区块钩子方法
使用区块钩子 译者:老葛,eskalate科技公司在用代码创建区块时,我们在钩子方法hook_block()中处理所有的逻辑。通过这个钩子,你可以创建一个单独的区块或者一组区块。任何模块都可以通过其钩子方法创建区块。让我们看下该函数的方法签名:function hook_block($op = 'list', $delta = 0, $edit = array()) 参翻译 2008-01-07 17:21:00 · 3209 阅读 · 0 评论 -
Drupal专业开发指南 第9章 Drupal区块(Drupal block)(1)
译者:老葛,eskalate科技公司 区块是文本或者功能的一个片段,它通常位于一个网站的主内容区域之外,比如左栏,右栏,页首,页尾,等等。如果你曾经登录过一个Drupal站点,或者访问过一个Drupal的管理界面,那么你是用过区块。区块的访问权限和放置位置通过管理接口控制,它简化了开发者创建区块时的工作量,区块配置页面位于Administer➤ Site building➤ Blo翻译 2008-01-07 16:52:00 · 4653 阅读 · 0 评论 -
Drupal专业开发指南 第13章 Drupal文件(file)(2)
媒体处理译者:老葛 Eskalate科技公司文件API没有为上传文件提供一个通用的用户接口。为了为大多数用户填充这一空白,已将upload.module添加到了Drupal核心中,而且有多个第3方模块提供了可选方案。上传模块(Upload Module)上传模块为你选择的节点类型添加了一个上传字段。上传字段如图13-2所示。Figure 13-2翻译 2008-03-04 18:45:00 · 4446 阅读 · 0 评论 -
第15章 Drupal缓存(cache)(3)缓存API
使用缓存API译者:老葛 ESKALATE科技公司对于模块开发者来说,如果他想使用缓存API的话,那么就需要掌握两个函数:cache_set()和cache_get()。使用cache_set()缓存数据cache_set()用来将数据写入到缓存中。函数签名如下:cache_set($cid, $table = 'cache', $data, $expire = C翻译 2008-02-29 19:34:00 · 1830 阅读 · 0 评论 -
Drupal专业开发指南 第10章 Drupal表单API(form API)--表单API属性
表单API属性 译者:老葛 ESKALATE科技公司 当在你的表单构建函数中构建一个表单的定义时,数组中的键用来声明表单的信息。下面部分列出了常用的键。一些键将被表单构建器自动添加进来。表单的属性下面部分中的属性特定于表单。换句话说,你可以设置$form['#programmed'] = TRUE,但是如果你设置$form['myfieldset'][翻译 2008-02-25 19:19:00 · 3485 阅读 · 0 评论 -
Drupal专业开发指南 第5章 Drupal 数据库层(2)
使用hook_db_rewrite_sql()将查询暴露给其它模块 译者:老葛 Eskalate科技公司 这个钩子用来修改Drupal中任何地方的查询,这样你就不用直接修改相关模块了。如果你将一个查询传递给db_query(),而且你相信其他人可能想修改它,那么你就需要把它包装到db_rewrite_sql()里面,这样其他的开发者就可以访问它了。当执行一个这样的查询时,翻译 2008-04-05 19:48:00 · 4918 阅读 · 1 评论