【问题标题】:please let me know what the following lines of code mean请让我知道以下代码行的含义
【发布时间】:2010-08-24 12:37:24
【问题描述】:

以下代码是什么意思,我在评论模块(drupal 6)中找到的

return theme('box', $title, drupal_get_form('comment_form', $edit, $title));

我之前用过这个主题功能,但是我在hook_theme()下定义了一些主题。但我没有看到任何定义为“盒子”的主题,我也发现了相同的主题“表格”

能否请您显示一些网址,其中解释了这些事情

非常感谢

【问题讨论】:

    标签: drupal drupal-6 drupal-modules


    【解决方案1】:

    使用 Drupal 主题系统,您可以覆盖主题功能。因此,如果您不喜欢 theme_box 制作的标记,您可以改为使用 my_theme_box,Drupal 将使用该功能。事情是为了让它工作,你不能直接打电话给theme_box。如果你在你的模块中这样做,你的主题就不能改变输出。相反,您调用 theme('box', ...) 这将告诉 Drupal 这就是您想要的框主题功能。它将根据可用的内容找出要调用的函数。因此,如果您的主题没有定义my_theme_box,则将使用theme_box。

    【讨论】:

      【解决方案2】:

      你读过Drupal API Reference吗? themes也有解释。

      【讨论】:

      • @John:你需要寻找theme_box()。调用 theme('box'...) 将调用调度到主题函数的 theme_box() “链”。
      • 非常感谢,我发现theme('box'...)调用了modules/system文件夹下的文件box.tpl.php。但我没有从主题('table'.....来自哪里,我猜肯定有一个table.tpl.php。如果你知道这个请告诉我
      • 表格主题的输出不是通过模板文件完成的,而是通过主题函数完成的。如果要通过 theme_table 更改 html 输出,则需要创建一个主题函数覆盖。将 theme_table 的内容复制到名为 yourthemename_table 的函数中并更改您要更改的位。有关更多信息,请参阅此内容:drupal.org/node/341628
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-06-26
      • 2022-11-29
      • 2014-02-15
      • 1970-01-01
      • 2019-11-09
      相关资源
      最近更新 更多