如何以良好的方式从 drupal 模块输出 HTML

发布于 2024-11-05 13:49:42 字数 340 浏览 3 评论 0原文

这可能是基本的,但我刚刚开始使用 Drupal(顺便说一句 6)。

我正在构建一个模块,并收到一个应该返回一些 html 的回调。我可以这样做:

function myModule_myFunction(){
    $r = '';
    $r .= '<h1>'.$variable.'</h1>';
    return $r;
} 

但我宁愿将逻辑和表示分开,并将其放入单独的文件或其他文件中。字符串中的 HTML 很丑陋!

执行此操作的“drupal”方法是什么? 就我而言,它不必使用主题系统

this may be basic, but i just started using Drupal (6 btw).

I'm building a module, and got a callback that is supposed to return some html. I could just do something like this:

function myModule_myFunction(){
    $r = '';
    $r .= '<h1>'.$variable.'</h1>';
    return $r;
} 

But I'd rather seperate logic and presentation, and put this in a seperate file, or something. HTML in strings is ugly!

What's the 'drupal' way to do this? It doesn't have to use the theme system as far as I'm concerned.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

他不在意 2024-11-12 13:49:42

主题系统是 drupal 的方式来做到这一点。

首先检查是否还没有可以使用的主题功能,有很多允许将数据输出为表格、列表、图像等。

如果没有,您需要...

  1. 使用 hook_theme()。用您的模块作为前缀,例如 yourmodule_something

  2. 创建主题函数(或模板),主题函数必须以 theme_ 为前缀,例如 function theme_yourmodule_something()

  3. 确保清除所有缓存,以便 Drupal 知道您的主题功能。

  4. 使用 theme()< 调用主题函数/a>: theme('yourmodule_something', $argument1, $argument2):

更多详细信息可以在链接的文档页面上找到。

The theme system is the drupal way to do that.

First check if there isn't already a theme function that you can use, there are many that allow to output data as table, lists, images and much more.

If there is not, you need to...

  1. Declare a new theme function with hook_theme(). Prefix it with your module, something like yourmodule_something.

  2. Create a theme function (or a template), a theme function must be prefixed theme_, so something like function theme_yourmodule_something().

  3. Make sure to clear all caches so that Drupal knows about your theme function.

  4. Call the theme function with theme(): theme('yourmodule_something', $argument1, $argument2):

More details can be found on the linked documentation pages.

难得心□动 2024-11-12 13:49:42

hook_theme 是第一个用于定义主题输出的模板和函数。

然后,使用这些模板或主题函数输出任何标记,例如,使用几个参数调用 theme_my_content 或 my-content.tpl.php,您可以调用:

theme('my_content ', $param1, $param2);

hook_theme is first used to define templates and functions for themed output.

Then, use those templates or theme functions to output any markup, e.g, to call theme_my_content or my-content.tpl.php with a couple of parameters, you can call:

theme('my_content', $param1, $param2);

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文