2

如何在名为 sitename_modulename_user_loginblock($form) 的函数中从预处理函数获取值到 template.php?

我使用自定义查询在预处理函数中创建了值,因此我可以在 loginblock 函数本身中执行此操作,但那里只有 $form 可用,我需要 3 个其他变量来构造查询。

loginblock 函数返回 $output,它是标记和一些变量。afaik 这个函数和在页面上显示它的返回值之间没有额外的步骤吗?

4

2 回答 2

1

要从预处理函数传递到 template.php 填充 $vars[] 数组,您指定的键将是模板中的变量名,值是变量值,因此:

$vars['foo'] = "bar";

在您的预处理函数中将在您的模板中创建 $foo ,其值为“bar”

我对您要做什么感到有些困惑。理想情况下,logingblock 将是一个块,而不是在预处理中创建的东西。您可能想查看该选项。

于 2009-10-28T11:55:14.840 回答
0

正如杰里米所说,你想做什么并不是很清楚,所以也许你应该编辑你的问题来澄清。

对我来说,这听起来好像您想user_login_block()在您的主题 template.php 中使用自定义版本覆盖默认功能。如果是这种情况,您不能从预处理函数那里传递变量,因为那些只为它们对应的 *.tpl.php 文件准备变量。

这篇关于覆盖表单函数的文章可能会有所帮助,具体取决于您想要实现的目标。

命名意义重大。要使该函数用作覆盖,您必须将其命名为themename_user_loginblock($form)

于 2009-10-28T22:44:12.217 回答