初学者 Drupal 用户最常见的陷阱是啥? [关闭]

Posted

技术标签:

【中文标题】初学者 Drupal 用户最常见的陷阱是啥? [关闭]【英文标题】:What are the most common pitfalls for a beginner Drupal user? [closed]初学者 Drupal 用户最常见的陷阱是什么? [关闭] 【发布时间】:2010-12-19 23:28:48 【问题描述】:

我刚刚开始学习Drupal,我真的很喜欢它。

对于初学者来说最常见的陷阱是什么?如何避免它们?

【问题讨论】:

【参考方案1】:

首先,您应该清楚自己要学习的内容:

主题化? 网站建设? 正在开发新的模块/功能?

当然,每个领域的界限并不清晰,但是您学习 drupal 所遵循的模式会大不相同。这是我的看法:

一般陷阱(适用于所有领域)

初学者最常犯的一个错误就是匆忙。在一个标题为“在 24 小时或更短的时间内学会掌握 C++”之类的书籍的世界中,人们接近 drupal 时相信他们可以在几天内玩弄别人的代码而侥幸逃脱。如果他们一开始不明白 Drupal 中的工作原理,他们会切换到 rant 模式 并开始在博客和论坛上发布有关 drupal 多么愚蠢复杂的帖子。

所以:准备好投入时间和精力来接受 Drupal 的高度复杂性(这与复杂性不同)。准备好实际研究事物的工作原理,而不是浏览论坛和邮件列表上的帮助请求。如果你仍然不相信。来了some good reading。

如果您正在学习主题化

陷阱:通过尝试破解以前存在的主题来学习。 更好的方法:首先,至少深入了解 Drupal theming guide。它枯燥乏味,但它可以让您很好地了解主题引擎的流程。然后下载并安装zen theme 并使用随附的入门套件启动您的主题。我建议 - 如果您使用 Drupal 6 - 使用主题的第 2 版,尽管它处于测试阶段,因为它的内部文件组织更加合理,至少 IMO。

如果您正在学习建筑工地

陷阱:被可用模块的数量压得喘不过气来,错过了大模块。 更好的方法:阅读多年来在 drupal.org 上呈现的一些 case studies。您将对通过贡献的模块实现功能的常见模式有一个很好的了解。很好地探索和理解drupal的核心组件。它们是其他一切的基础,因此您肯定需要知道节点和修订的机制是如何工作的,分类的功能是什么,权限/角色系统是如何工作的,节点和块之间有什么区别等。 .. 不要错过 CCK 和 Views,尽管它们(到目前为止)是贡献模块,但它们是 99% 的 drupal 站点的组成部分。

如果您正在学习编写自己的模块

陷阱:试图通过组装 php 和 jQuery sn-ps 的代码来组合一个功能,这些代码在网络上到处检索。 一种更好的做法:如果你想精通 drupal,你无法承受及时学习范式,你必须使用旧的-学校以防万一。您确实需要对系统的所有组件(其中包括:表单 API、菜单系统、挂钩逻辑、Drupal 中的 js、节点处理、主题引擎、本地化、缓存......)有一个全面的了解。 Drupal 在某种程度上是一个框架,如果您不太了解您在其中植入代码的生态系统,那么您很可能会花费大量时间来生成一个糟糕的代码,这些代码迟早会失败。最重要的是,您将花费大量时间编写一些可能需要一小部分时间才能实现“drupal 方式”的东西。

我对在 drupal 中学习良好编码的可能工具的看法

http://drupal.org - 包含有用的信息,但它非常混乱,信噪比很低,我不鼓励使用该网站作为您的主要信息来源。 书籍 - 如果您是 Drupal 新手,IMO 可能值得投资几本书。书籍提供了从一个站点跳到另一个站点所无法提供的逻辑结构和学习顺序,这里是截屏视频,那里是操作方法。我的前三名:Module development 是一本写得很好的书,主题进展巧妙,它实际上指导你编写一些越来越复杂的模块。快速了解 drupal 的工作原理是一本很好的读物。 Pro Drupal Develpment 是 Drupal 的书。它很枯燥——尽管它一直都有代码示例——我更喜欢它作为学习书/参考文本。确保获得第二版,因为第一版涉及 Drupal 5,它很快就会过时。 Pro Drupal Development 唯一明显的缺点是 javascript(以非常仓促的方式引入)。 JS 和 Drupal 是一个广泛的话题,为此我喜欢 Drupal 6 Javascript and jQuery better 作为我提到的第一本书,这本书也是基于项目的(即你学习的东西与实施项目的需求有关)。 其他网站 - 它们是宝贵的信息和示例来源。当您对如何实现事物有大致的了解,但在特定领域的经验太少而无法自主时,这是搜索的理想场所(而且每个人,无论多么有经验,都有一些他们不是“专业”的领域)。一些好的网站已经被其他人提到过。我一直最喜欢的是lullabot,但drupal dojo 和learn by the drop 也非常好。 社区 - 这是 drupal 的一项巨大资产。社区非常大,非常有帮助,您很可能一直都能找到希望提供帮助的人。 IRC channel 是一个很好的起点。 会议 - Drupal 社区每 6 个月开会几天(一次在北美,一次在欧洲),以交流专业知识和信息。尽管前往 DrupalCon 可能(太)昂贵,因为社区组织了几次会议以发布所有 videos of all the sessions held。它们也是极好的资源。

希望这有助于您继续前进,并祝您学习顺利! :)

【讨论】:

非常感谢!我会考虑所有这些要点! @Kico Lobo - 不用担心...您会看到...只要您“进入” Drupal 的逻辑,您就会获得很多乐趣和满足感!祝你学习顺利! :) @J.F.塞巴斯蒂安 - 很棒的答案!【参考方案2】:

对于 Drupal 初学者,“尤其是”如果像我一样牢牢掌握 MVC 或 MVP 概念,我建议购买或借用“Pro Drupal 7 Development”,第三版。

至于陷阱:

了解菜单(路由)系统 拥抱表单 API 虽然有些人接受了 Zen,但我个人接受了 Omega 如前所述,视图是您的朋友。根据需要建模和创建尽可能多的“内容类型”,然后使用视图来显示它们。 CTools 很棒,Views 是 Drupal 星球上最好的调料,但在 Panels 和 Page Manager 界面上要轻而易举。 :)

希望对你有帮助。

【讨论】:

【参考方案3】: 以 Zen 主题或类似主题为基础学习主题 主题字段,而不是页面 观点是你的朋友 ImageCache 摇滚

【讨论】:

为什么我不能从空白主题开始? 嗯,你可以,但 Zen 有点像一个空白主题。它的大部分 CSS 只是重置浏览器样式和一些 drupal CSS,另外它添加了一些不错的便利类并覆盖了一些模板,因此它们不那么烦人了。【参考方案4】:

你可以 - 很多人从 Drupal 附带的 Garland 主题开始并卡住了,因为它中间有逻辑(主题中有很大的禁忌)并且令人困惑地重命名了它的部分。禅是有记录的。

以下是 Lullabot 的播客: http://www.lullabot.com/audiocast/podcast-74-drupal-design-round-table

【讨论】:

【参考方案5】:

一个常见的陷阱是没有对您尝试完成的每项任务或功能可用的不同模块进行足够的研究。在 Drupal 中安装一个模块并开始使用它非常容易,而无需完全了解该模块的细微差别。看起来好像该模块按预期工作。但是,在您的项目进行到一半时,您可能会发现某个特定模块有一个限制或问题,如果没有主要的自定义代码,就无法克服这些限制或问题。另一个模块可能同样适合该项目,但也满足您的额外要求。一个很好的例子是决定如何设置您的用户权限。有许多模块可以帮助增强 Drupal 的开箱即用权限系统,但每个模块的工作方式不同并且具有特定的功能集。您是否需要针对不同用户、工作流程要求等的特殊登录屏幕?其中还包括对您是否应该使用不能完全满足您的需求的模块或编写自己的模块的正确评估。如果不完全了解与您的特定要求相关的模块的限制,您可能会走上一条道路,您将花费大量时间尝试使模块适应您的需求,而不是仅仅从头开始快速构建一个完全符合您的要求的模块。

【讨论】:

以上是关于初学者 Drupal 用户最常见的陷阱是啥? [关闭]的主要内容,如果未能解决你的问题,请参考以下文章

JS中8个常见的陷阱

Go语言开发常见陷阱,你遇到过几个?

使用 Go 编程语言 66 个陷阱:Golang 开发者的陷阱和常见错误指北

将 Drupal 视图过滤器公开为开/关复选框以启用/禁用过滤器

间谍是啥意思?

Python 进阶指南(编程轻松进阶):八常见的 Python 陷阱