Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/drupal/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
什么时候你需要成为一名程序员才能与Drupal一起工作?_Drupal - Fatal编程技术网

什么时候你需要成为一名程序员才能与Drupal一起工作?

什么时候你需要成为一名程序员才能与Drupal一起工作?,drupal,Drupal,Drupal似乎有很多东西可以提供给非程序员。吨模块和易于安装。但是在什么时候你会说你需要成为一名程序员呢?它落在哪里,需要更多的实际关注 此外,即使它们不是“注定”要完成的,我也对您对代码库所做的任何自定义调整感兴趣。我使用过drupal,而不需要进行任何“编程”,如果您没有编程技能,您可以始终使用廉价的承包商(例如,rent-a-coder或类似公司)为您快速/廉价地修改/创建插件。您唯一需要程序员的时间是,如果您需要某些功能,而当前的插件无法提供您想要的功能。大多数Drupal支持的站点可

Drupal似乎有很多东西可以提供给非程序员。吨模块和易于安装。但是在什么时候你会说你需要成为一名程序员呢?它落在哪里,需要更多的实际关注


此外,即使它们不是“注定”要完成的,我也对您对代码库所做的任何自定义调整感兴趣。

我使用过drupal,而不需要进行任何“编程”,如果您没有编程技能,您可以始终使用廉价的承包商(例如,rent-a-coder或类似公司)为您快速/廉价地修改/创建插件。

您唯一需要程序员的时间是,如果您需要某些功能,而当前的插件无法提供您想要的功能。大多数Drupal支持的站点可以由非编程类型运行。简言之,如果您需要开发Drupal现有插件中没有的自定义功能,我想说您需要成为一名程序员。

稍微偏离主题,但您提出了一点:

而且,即使它们不是“有意的” 要做到这一点,我对任何 您必须对 代码库

这是开源软件。你可以根据自己的需求和愿望来决定“应该做什么”


一些最好的特性是一开始有人以其他人没有预料到的方式改变或使用某些东西,从而产生一些新的、有趣的和有用的东西。了解其他人这样做了哪些定制是一个很好的方法,可以拓宽您的理解范围,不必偷偷摸摸。

有很多可用的模块,但是只要您想做一些与开箱即用功能稍有不同的事情,您就需要成为一名程序员


就我个人而言,我从未改变过核心代码库。真的不推荐。我已经使用了现有的模块,或者将它们的一部分用于我自己的模块,或者将它们重命名并修改为我自己的模块。

我强烈反对这样的观点,即当你想做一些不同于“开箱即用”功能的事情时,你需要编程技能,除非“开箱即用”包括无数的方式,一个人可以混合和匹配成千上万的第三方插件

最大的挑战是:Drupal的社区越来越倾向于构建小型、可重用的块,这些块可以通过配置而不是编码以新颖的方式组合。这意味着,通过管理屏幕组合小片段可以完成的事情数量令人印象深刻。然而,这意味着以这种方式组合起来的工具缺少许多“平滑边缘”,而这些“平滑边缘”将与单个按规范构建的插件一起存在

正是这些地方——粗糙的边缘——最经常需要自定义代码的地方。编写一个简短的hook\u form\u alter()函数,隐藏一些不需要的表单字段,或者在表单完成后更改表单重定向到的位置,构建一个简单的自定义侧栏块,为用户提供一些指向已组装的不同部分的有用链接,诸如此类。自定义主题也占用了大量的“平滑”工作

这就是说,你可以用零代码做大量的事情,但是你会达到一个收益递减的点,特别是在试图构建复杂的基于规则的逻辑时(“在某些情况下,我希望出现X,否则应该提示用户输入Y…”)。至少了解一些PHP,不怕偷看引擎盖下发生的事情,并且愿意编写一个(小的!)自定义模块来完成某些微调目标,这些都将在更复杂的网站上为您提供很好的帮助


此外,很容易找到做有趣事情但仍处于测试/开发阶段的插件。如果您决定使用“尚未完成”的代码,了解一些PHP将帮助您保持清醒的头脑。

Ah。我只是假设这是真的,“Drupal的设计是定制的,但是定制是通过覆盖核心或添加模块来完成的,而不是通过修改核心中的代码来完成的。”因此,如果您修改了核心,升级会更具挑战性。Drupal被设计为通过模块进行修改和扩展,这句话真正表达了开发人员的设计目标,而不是对您可以/不可以使用它做什么的限制。他们希望(我相信他们的希望是合理的)大多数用户永远不需要修改核心。但是如果你找到了一个令人信服的理由,那么就这么做,并告诉他们。约翰在可维护性方面是对的。这可能是将您所做的任何修复/改进贡献给项目的最有说服力的原因——一旦它们(或某种替代解决方案)被接受,您就不必担心每次升级后都要重新制作它们。我从来没有听说过廉价的承包商做得很好。最好在craigslist上找一个比本地市场承包商稍低的承包商,重点是本地。是的,我自己也在想投票的结果。请看:(不是同一个问题,但你可能会感兴趣)