代码之家  ›  专栏  ›  技术社区  ›  Mike Crittenden

最喜欢的Drupal技巧或最佳实践[关闭]

  •  35
  • Mike Crittenden  · 技术社区  · 16 年前

    我将开始:无论你如何制作主题,你都可以使用 the mothership theme

    18 回复  |  直到 16 年前
        1
  •  14
  •   Henrik Opel    16 年前

    设置新站点时,我们会立即创建一个以站点/项目命名的空白自定义模块。这成为了一个中心位置,在这里可以放置所有弹出的小补丁/混乱/调整,以解决所有那些不是真正功能的小更改请求,并且不需要一个完整的模块(起初;)-应该定期检查和重构该模块,以删除过时的内容,或者提取出变成特性的内容,从而获得一个完整的模块。

    “站点模块”是对“站点主题”的补充,因为它包含与业务/工作流/数据相关的调整/操作,否则会使themes template.php文件(实际上应该只包含特定于主题的内容)变得混乱。

        2
  •  22
  •   gpilotino    16 年前

    使用 drush 安装/更新模块并执行维护任务。 如果你使用drupal,你不能没有它。

        3
  •  16
  •   Jeremy French    16 年前

    在Drupal中编写任何自定义功能之前,请确保没有用于该功能的模块。

        4
  •  15
  •   Igor Klimer    16 年前
    • 使用 zen theme 它还增加了一个功能,使主题制作更容易 <body class="not-front not-logged-in page-node node-type-project-project two-sidebars"> )-真的吗

    • Drupal Modules - 你在那里找——是吗 安全和/或维护-即 你会有一个起点。

        5
  •  13
  •   Scott M.    16 年前

    学习 views 模块输入和输出

        6
  •  10
  •   Michael Morisy    16 年前

    两条建议:

    盲目地使用第一个与您希望它做的事情共享名称的模块。通常,第一个模块“捕获”该特性的名称空间,但另一个名称不太恰当的模块将更好地实现该功能。

    环顾四周,寻找一种实现您想要的功能的方法,包括CCK/视图集成。很明显,这是Drupal的未来,因此一个独立的模块,能够完成您希望它完成的任务,与视图/CCK相关的模块竞争,在不久的将来可能会消亡。

    ++听格山的建议。

        7
  •  8
  •   Geshan    16 年前

    使用 backup and migrate 它的模块对你帮助很大。

        8
  •  6
  •   googletorp    16 年前

    这些东西之所以如此强大,是因为它使您能够改变drupal的核心功能,并改变drupal呈现不同事物的方式 更改drupal核心本身(或贡献的模块)。

    这可能是Drupal成功的主要原因之一,因为它允许开发人员定制Drupal以完全满足他们的需求,并且仍然保留Drupal的所有进展和贡献的模块。

        9
  •  5
  •   Tigran Tokmajyan    16 年前
        10
  •  4
  •   Ollie Saunders    16 年前

    我听说有人使用国际化功能来更改一些原本无法更改的文本。

        11
  •  4
  •   Mike Munroe    16 年前

    devel module . 提前花些时间了解它如何帮助您调试模块、主题开发等。

        12
  •  3
  •   Mir Nazim    16 年前

    我在这次演讲中分享了一些技巧

    http://www.slideshare.net/mirnazim/best-practices-for-drupal-developers-by-mir-nazim-drupal-camp-india-2008 .

    注意:幻灯片中的字体是模糊的,最好下载。

        13
  •  2
  •   mikewaters    16 年前

    使用/var/www作为我的web根目录,我创建/var/www/sites并将我的sites目录符号链接到它,并为robots.txt创建/var/www/files。它使升级(在没有SCM的情况下)不那么可怕,只需用新版本覆盖/var/www/drupal文件夹并点击update.php。

    使用本地drupal副本进行开发;与通过WAN进行本地调试相比,本地调试的难度要小得多,而且在IDE中将站点的代码作为项目使用更容易,IDE(IDE上的dep)可以为您提供代码完成和轻松访问文件的功能。完成后,您可以通过ftp/scp或使用您熟悉的任何SCM推送更改。

    我大量使用了devel的dsm()函数,因此我推荐使用该模块。它使不带调试器的调试(即产品移动后)的痛苦大大减轻。

    此外,管理菜单使管理您的网站更容易;它使您可以通过dhtml弹出菜单访问层次结构中的所有管理页面,因此您和大多数管理功能之间只需单击一次。

        14
  •  2
  •   Oscar M.    15 年前

    使用exportables,通过ctools模块或视图的内置模块等,获取数据库外部的关键配置设置,并将其置于版本控制中。这将使将更新和更改从一个站点移动到另一个站点更加容易。

        15
  •  2
  •   Oscar M.    15 年前

    如果您没有使用PHP5或非mysql数据库,请使用Pressflow( http://pressflow.org )而不是股票Drupal。Pressflow针对mysql+php5进行了优化,并支持随着站点的增长而进行更好的缓存设置,例如为匿名用户在Drupal前面添加清漆。

        16
  •  1
  •   tog22    16 年前

    有时,您可能需要检查$id号以外的内容,以确定将节点放置到哪个“区域”。在这种情况下,在hook_preprocess_节点函数中执行一些检查非常有用(您可以将其作为mename_preprocess_节点放置在template.php文件中),该函数包含一个静态变量,您可以使用该变量存储页面上已显示的节点上的检查结果。例如,我使用它在节点上方显示日期标题,前提是尚未显示该日期的节点,如下所示:

    if ($vars['teaser']) {
      static  $last_date;
      $date = format_date($node->created, 'custom', 'l jS F');
      if  ( $date != $last_date ) {
        $vars['show_date'] = TRUE;
        $last_date =  $date;
      }
      else {
        $vars['show_date'] = FALSE;
      }
    }
    
        17
  •  1
  •   ford    16 年前
        18
  •  0
  •   Zachary    16 年前

    Panels3

    学习它,使用它,掌握它。它使您的站点具有高度动态性。