如何在名为sitename_modulename_user_loginblock($form)的函数中将预处理函数中的值传递给template.php?
我在预处理函数中创建了一个自定义查询的值,这样我就可以在登录块函数本身中创建该值,但是只有$form可用,并且我需要另外3个变量来构造查询。
loginblock函数返回$output,它是标记和一些变量。afaik在此函数与其返回值在页面上的显示之间是否没有额外的步骤?
发布于 2009-10-28 19:55:15
要将预处理函数传递给template.php填充$vars[]数组,您指定的键将是模板中的变量名,值是变量值,因此:
$vars['foo'] = "bar";函数将在模板中创建一个值为“$foo”的条形图。
我对你想要做的事情有点困惑。理想情况下,logingblock应该是一个块,而不是在预处理过程中创建的东西。你可能想看看这个选项。
发布于 2009-10-29 06:44:12
正如Jeremy所说,你想做什么并不是很清楚,所以也许你应该编辑你的问题来澄清。
在我看来,您似乎想要在您的主题template.php中使用自定义版本覆盖默认的user_login_block()函数。如果是这种情况,您不能将变量从预处理函数传递到那里,因为这些函数只为其相应的*.tpl.php文件准备变量。
此article on overriding form functions可能会有所帮助,具体取决于您想要实现的目标。
命名意义重大。要使该函数作为重写使用,您必须将其命名为themename_user_loginblock($form)。
https://stackoverflow.com/questions/1636554
复制相似问题